Rather than replacing traditional telephony or video conferencing in the short term, WebRTC will fuel the development of a whole new generation of web based communication applications and features that will be added to many of the internet and business products and services we use today on the internet and in business.
This simplicity for the developer and in the end user experience is great for new services that will run with WebRTC end-to-end, but a large problem remains to be addressed for enterprise and service providers as they are forced by their users and competition to offer new WebRTC functionality through web clients and make it work seamlessly with the communication infrastructure and processes in which they have already invested.
Application developers also need to think about potential compatibility issues in the media stream. To interoperate with WebRTC the legacy endpoints would need to support some of the required WebRTC features, such as VP8 codec, SRTP/SRTCP for media transport, and Interactive Connectivity Establishment (ICE) for transport address negotiation. They would also need to consider the Session Description Protocol (SDP) that carries the required parameters for the call. WebRTC uses SDP but requires and implements some additions to the protocol so some form of mediation will be required.
To achieve the required interoperability, the legacy endpoints would need to be modified in order to be compatible with WebRTC, or some form of gateway solutions will need to be in place to manage the necessary protocol, signaling and media conversions.
The following is one example of how basic interoperability could be achieved.
WebRTC to PSTN Interoperability
Let’s take as an example the scenario where a WebRTC client is used to make a call to a PSTN landline.
To make a connection to the PSTN the WebRTC application would need to deal with differences in address (number) resolution, signaling, media conversion, etc. Many of these problems have already been solved in telecom systems, so we would recommend using some of the existing telecom solutions and components like SIP Servers, Session Border Controllers, and Media Gateways that already contain much of the necessary intelligence, protocols and infrastructure for interoperability with PSTN.
In our simplified example we’ll assume the WebRTC client will be talking to a SIP Gateway in the network and consider what is necessary.
In the WebRTC side we need to consider that in order to create a media session the WebRTC client application will need to obtain:
- Local connection information: IPs and Ports that could be used to receive the audio and video
- Remote connection information: IPs and Ports that could be used to send the audio and video
- The list of media codecs
Fortunately this part of the problem has already been addressed in WebRTC where this functionality is provided through ICE and the use of SDP (Session Description Protocol).
The following is a possible flow for the scenario that is being discussed:
- The WebRTC client creates a connection with the SIP Gateway and registers itself. Note that the SIP Server should be modified to support WebSocket, otherwise another component (such as webrtc2sip gateway) will be needed to convert WebSocket to UDP or TCP.
- In order to make a call to a PSTN number, the WebRTC client sends a SIP INVITE request to the SIP Server. This INVITE carries the SDP local session (created earlier) containing the supported media codecs, and the ordered list of the IP and Port to be used for media transport that were established through ICE.
- The SIP Server allocates a session in the Media Gateway and sends the response to the client with the remote SDP.
- The SIP Server also starts signaling with the PSTN, and as soon as the call is answered, a full duplex audio channel is established between the WebRTC client and the PSTN peer.
WebRTC provides great opportunity for extending many products, services and websites by allowing web developers to easily add real time communication features, but in order to realize the benefit the more challenging area of interoperability with legacy systems needs to be addressed. We can expect to get some help from off the shelf components, and we are already seeing SBCs being extended to offer support for WebRTC. In the future we may see companies coming to market with other off-the-shelf components like WebRTC to SIP gateways, which will further simplify the problem.
In our many years of experience we have found interoperability to be a continuous challenge, which in the end may put a nail in the coffin of many exciting new potential WebRTC based services. The good news is that interoperability in telecom is nothing new, and the problems and potential solutions are well understood.
If you would like to learn more, please feel free to take advantage of one of our free consultation so we can begin to help you plan your WebRTC strategy and its approach to interoperability.
Download the white paper “WebRTC and IMS in the Cloud“.