WebRTC generated an impressive amount of buzz at this year’s Mobile World Congress, with Ericsson, Mozilla and AT&T demoing their WebRTC proof of concepts. What is all the excitement all about ? WebRTC offers the ability to transform the nature of how we communicate through the integration of real-time communications (voice, video, and text) into web applications without requiring plug-ins. WebRTC is a game changer, and it’s no wonder thatindustry analysts are predicting that 1.5 billion devices will be using WebRTC by the end of 2014. But, as with any cutting-edge technology in the early stages, there are gaps.
At Macadamian, we’ve been buzzing about WebRTC since a world-leading telecom company asked us to help them integrate it with their Unified Communication system (PSTN, Cell network, and SIP phones.While WebRTC is very exciting, the framework is still in development, and there are some barriers that need to be addressed in order to integrate WebRTC in your web application.
Here are a list of the top five challenges we have run into to date, and some tips and tricks to solve them.
1. Limited use of ICE
WebRTC uses Interactive Connectivity Establishment (ICE) for Network Address Translation (NAT) traversal. ICE is a good choice because it helps two peers find the best transport to communicate. ICE itself isn’t the issuee. The challenge is that there aren’t many other devices/technologies that use ICE. This creates issues when it comes time for WebRTC to use ICE to communicate with a non-ICE client.
Solution. You can solve this problem by using a middleman. You create software to establish communication with the WebRTC client using ICE and establish the communication with the non-WebRTC client without using ICE. This will let the two clients talk to each other without any problems.
2. Use of an Uncommon Codec
WebRTC doesn’t employ many of the most common codecs such as g.729, which is used in Voice over Internet Protocol (VOIP). Due to licensing issues, VP8 was chosen for the video codec over the more popular h.264. The latter would have been a better choice for mobile devices, since recent versions of Android and iPhone have hardware decoding for h.264 but not for VP8.
Solution. The solution required to address this challenge is a transcoding server which will transcode VP8 into the more popular codecs.
3. SIP-like Client Integration
If you are looking to integrate with other SIP-like clients, you will encounter challenges with the Session Description Protocol (SDP). WebRTC makes use of specific RFCs. The challenge is that it may be missing RFCs that are critical to your environment.
Solution. Currently, in order to integrate WebRTC functionality in your existing UC system, the SDP messages that flow between the client and server will need to be modified.
4. Incompatibility with Legacy Phone Systems
The choice to use out-band DTMF (Dual Tone Multiple Frequency) makes WebRTC incompatible with legacy phone systems. Out-band DTMF tones are carried on a separate signalling channel, not the voice circuit. The majority of PBXs require in-band DTMF.
Solution. To solve this problem, you need to use a server that detects out-band DTMF from one client, and then insert the equivalent in-band DTMF for the other client.
5. Challenge: Lack of support legacy web browsers
Users with older browsers won’t be able to use WebRTC. Currently, the only browsers that support WebRTC are Chrome, and an upcoming Firefox beta. The most elegant solution would be for every user to upgrade, but that’s not going to happen.
Solution. You’re going to want your users who don’t upgrade to be able to take advantage of your RTC functionality, so what alternative can be considered ? An alternative option is to implement a browser plug-in such as a Flash application or Java applet.
Notice a theme in the challenges identified? Many of these issues stem from the fact that WebRTC is a forward-looking technology that does not sync with legacy systems, and that most of the solutions require a translator that sits between the two clients and enables them talk to each other. For now, WebRTC requires some workarounds for interoperability with legacy UC systems. Despite the challenges, it’s time to think about how your organization can best leverage WebRTC to drive revenue and market advantage. The industry specificiation is coming, and it is bound to be a game-changer – industry leaders such as Google, Ericsson, Mozilla, and AT&T have begun investing heavily in the technology. As you begin to explore WebRTC strategy, we hope that these solutions help you avoid some of the major pitfalls.
If you’d like to find out more about WebRTC, or get a free assessment of your WebRTC project, contact us at firstname.lastname@example.org.