Modern browsers can make phone calls since 2013, while using the web-grade security unprecedented in telephony before. You can now start your own experimental frafos gateway service to inter-connect web-browsers to SIP networks. The gateway will be started off Amazon Elastic Cluster: you can launch instantly, without the IT pain of buying/integrating/maintaing equipment and it still remains your own service. You retain 100% control of its function and privacy. More than that you can deploy multiple geographic services for the globally finest experience and disaster resilience.
Currently available WebRTC-enabled browsers:
The gateway service is independent of the SIP service it interconnects with. The gateway operator does not need necessarily to run a SIP service or serve all users of someone else's SIP service. Not even an agreement with a SIP service operator is needed, as long as a valid SIP account is set up. If the SIP service connects to the Public Switch Telephone Network (PSTN), a browser-intiated call can even reach traditional telephony users. Note that the link between browser and the WebRTC-2-SIP gateway is encrypted using web security -- unprecedent level of security in public telephony's history.
Measurements show that inter-continental communication over the Internet dramatically impairs quality of speech and video. With a gateway on the same continent as its user, the round-trip time stays typically within 50 ms which yields good media quality. Going across continents adds in average 120ms which has devastating impact on the call quality. The EC2-hosted Frafos WebRTC-2-SIP gateway can be deployed in multiple availability zones and use proximity routing, so that users always talk to the nearest gateway.
Amazon Web Services Account must be established prior to launching a trial gateway and will incur cost charged by amazon. The service is a trial and comes "as is" and "as available" with no warranties and or representations of any kind. Call duration is limited to one minute. No SIP service is provided: the gateway service connects to an existing SIP service.
Add a button to your website to allow your visitors to call you on a click of a button using only their browser.
The options chosen here will update the button code on the right.
Copy and paste the code below into the HTML for your site:
Click the button for a demo call
The following examples show how to build SIP based WebRTC applications in a nutshell with Frafos ABC SBC server and JsSIP client.
A JsSIP User Agent is associated to a SIP user account. It requires some configuration parameters for its initialization which are provided through a configuration object. Click here for a Full UA Configuration Parameters list
On the server side, many specific options are available for REGISTER management as exposed in the Registration Caching and Handling documentation section.
First of all a pair of HTML5 video elements are created, where the local and remote media will be rendered.
An HTML button is used to terminate the call which calls the call.terminate() method on click.
On the server side, a wide range of operations can be performed such as filtering, SIP and media management, transcoding, and a long etcetera, as exposed in the General Configuration Reference.
In addition to the Outgoing Call explained in the previous example, this one provides with a mechanism to send DTMFs on an ongoing call.
HTML buttons emulate a dialpad, which use call.sendDTMF() method on click to send the corresponding DTMFs encapsulated in a SIP INFO message.
On the server side, the DTMFs are bypassed to the other end, but they could also be transformed to inband DTMFs or captured by the server to provide some functionality like call transfer, music on hold, etc.
A simple HTML buton triggers the UA.sendMessage() method to send a text message to the other end.
On the server side, the message can be forwarded to the destination or blocked based on any local policy. Of course
SIP routing rules,
and much more options are available as for any other SIP message type.
There are two key technical elements: the actual "workhorse", WebRTC-2-SIP gateway, and its organization in the Amazon EC2. Starting the cluster creates a whole array of resources the administrator would have to provision manually otherwise: a group of gateway instances, a scaling plan to resize the cluster up and down (by default starting from one with maximum being four), a load-balancer and a set firewall rules. The auto-scaling conditions are triggered on achieving certain average CPU utilization thresholds for a period of several minutes. When a cluster is being scaled down, ongoing calls are not interrupted during a graceful period. When the period is over, the instances, calls on it and data on it will be terminated irrevokably.
The gateway instances have administrative web-interace that can be accessed using username "sbcadmin" and password equal to Amazon instance id. You can also gain root access to Command-Line by secure-shelling to the machine using the SSH key creating when launching the instance/cluster.
Users can reach the gateway by opening an HTTP link with public IP address of the instance if launched as single instance. If started as a cluster, the load-balancer Web address appears in Cloud Formation Outputs.
The administrator needs to have the following information:
|Information||Where to Get It||Example|
|Amazon Web Services ID and geographic region||If you do not have an account ready, go to http://aws.amazon.com, click Sign up and follow instructions. Part of the procedure involves receiving a verification phone call and providing payment information. The account ID can be found under "My Account".||372325483748, EU-west|
|AWS SSH keypair for the targetted geographic region||In the EC2 Management Console under "Key Pairs"||mycompany-keypair, -----BEGIN RSA PRIVATE KEY----- MIIEpAIBA...|
... once the service is started? End-users can go to its web-page with a sample Javasrcipt application, and start accessing their SIP service using a WebRTC-ready browser. Administrators can fine-tune the service: