WebRTC Gateway


WebRTC Gateway connects between WebRTC and an established VoIP technology such as SIP. WebRTC is an API definition drafted by the World Wide Web Consortium that supports browser-to-browser applications for voice calling, video chat, and messaging without the need of either internal or external plugins.

Usage Scenario

To enable browsers using different application providers to communicate with each other a so-called WebRTC trapezoid can be used. In this case the two providers use a widely used VoIP signalling protocol such as SIP to federate between them. However, each of their respective browser-based clients signals to its server using proprietary application protocols built on top of HTTP and WebSocket.
This component that mediates between WebRTC and SIP is referred to as a WebRTC Gateway. Beside connecting different WebRTC applications, a WebRTC gateway also enables the communication between a WebRTC phone and a VoIP or even a PSTN phone. Thereby, a WebRTC gateway extends the scope of WebRTC applications and enables much wider reach and usage scenarios.

Functionality

The usual process with WebRTC is that a user downloads a WebRTC JavaScript application. This application is then used to communicate with another user. A WebRTC gateway would usually contain the server from where a user would download the WebRTC JavaScript application. When receiving a call from the user, the WebRTC gateway needs to decide whether the callee is reachable over WebRTC. If not, then the call will have to be translated into SIP for example. To translate a call into SIP, the gateway will have to map different layers:

Available solutions

There are already a number of open source and commercial solutions available for providing the WebRTC gateway functionality. As a lot of required functionality of a WebRTC gateway such as media handling, signalling mapping is supported by SBC the function of WebRTC gateway is often integrated into SBCs or provided by SBC vendors.

Open source WebRTC Gateways