Browser-based web telephone with the SIP support
Web Call Server supports audio and video calls from a browser to SIP devices, PBX servers, SIP-GSM gateways, VoIP conferences and various devices supporting the SIP protocol. Therefore, a web application in the browser works as a softphone (a software SIP-powered telephone), accepts and initiates voice and video calls. If GSM or PSTN gateways are used, a voice call between the browser and a landline or mobile GSM phone can be established.
Protocols and technologies
Web-SIP telephone operation diagram
A user uses the web browser with the connected microphone and headset for audio calls. Web Call Server bridges the gap between browsers and SIP devices and is in charge for exchange of audio and video data between the browser and the SIP part.
Depending on SIP gateway capabilities, browser connection can be established with another SIP device, a mobile GSM phone or a landline phone. If the SIP gateway also supports video calls, the connection also provides video call capabilities.
Step by step diagram of a call between a browser-based web telephone and a SIP device or GSM phone
- The browser invokes the ‘call’ function
- Web Call Server converts the call from the browser to the INVITE-request readable by the SIP gateway.
- The SIP gateway calls the remote recipient.
- The callee answers the call.
- The SIP gateway sends the OK SIP-status meaning the callee has answered.
- Web Call Server returns the ESTABLISHED status, which means the connection is established successfully.
- A connection is established between the browser and the SIP device to transfer audio or video traffic. The traffic goes via Web Call Server and optionally via the SIP Gateway (depends on the gateway settings).
The media traffic between the browser and Web Call Server goes using WebRTC and Flash browser technologies. The traffic between Web Call Server and the SIP part goes via the RTP protocol. Web Call Server takes care of all the required converting and transcoding to provide compatibility of the browser traffic with the traffic received from the SIP device.
Example voice call from the browser
to a GSM mobile phone
The browser web telephone when connected to a mobile GSM phone looks as follows:
The interface displays the direction of the call (mobile phone number), duration of the call and control buttons.
The GSM mobile phone accepts the call through the SIP provider with its own SIP-GSM gateway. Therefore, the mobile phone displays one of numbers in the pool of the SIP operator on the screen.
Example video call from the browser to the Bria 4 SIP device via the OpenSIPs software SIP gateway
In this example we use our own SIP gateway, Open SIPs, and a software SIP client Bria 4. We make a video-enabled call from the Google Chrome browser (the WebRTC technology is used) to the Bria 4 software SIP client. The screenshot below displays a web telephone during established video connection.
Bria4 is a software SIP telephone that works under Windows and other operating systems. The picture shows a typical video call in a web browser with a two-directional video connection.
For this demo we use a virtual camera broadcasting a video from the file as a web camera. The same way the solution works with a usual web camera connected or built-in to the computer or the smartphone.
Therefore, we demonstrated two directions of a call:
- To the mobile phone via the SIP-GSM gateway
- A video call to the SIP device via our own SIP server
Step by step tests of browser calls to SIP are described in the Testing section.
Download Web Call Server 5
System requirements: Linux x86_64, 1 core CPU, 1 Gb RAM, Java
- wget https://flashphoner.com/download-wcs5-server.tar.gz
- Unpack and install using 'install.sh'
- Launch server using command 'service webcallserver start'
- Open the web interface https://host:8888 and activate your license
If you are using Amazon EC2, you don't need to download anything.