Over the past weeks and months, I’ve had a number of people ask me if WebRTC (Web Real-Time Communication) is going to replace SIP. It’s a good question and the first time I was asked I didn’t have a good answer. That’s because like many people, I really didn’t understand what WebRTC was. Chances are you don’t, either. So, before I can answer the SIP vs. WebRTC question, allow me to provide a quick explanation of what we are talking about.
WebRTC is a technology that allows web browsers to send and receive real-time media. For instance, WebRTC allows you to go to a web page and use that web page to make an audio or video call. The media would be sent directly and securely from your device to the recipient’s device.
If you’ve been involved in telecommunications for a while you might be saying, “I thought we could already do that.” The answer is “yes,” but to make those calls the web page required you to download an application or use a browser plug-in like Flash.
There are several problems with that approach. Downloading applications can create security problems. Also, that application may work on Windows, but not on Macintosh, IOS, or Android.
The same goes for plug-ins. Flash works great on my Windows PC and my iMac, but it’s not supported on my iPhone or iPad. With WebRTC, the technology is native to the browser itself. There is nothing to download or install.
WebRTC is concerned with three major tasks. It needs to acquire audio and video components on your device — for example, your PC’s video camera, speakers, and microphone. It then sends that data to the far end. This requires WebRTC to know how to navigate through firewalls and understand Network Address Translation (NAT) issues. Finally, while WebRTC developers have been initially concerned with voice and video, the technology is being designed to support all forms peer-to-peer data sharing.
The Envelope, Please
So, back to my original question. Does WebRTC replaces SIP? The answer is “no.” Read the previous paragraph again and you will see that the three major tasks are all about media and nothing is said about signaling. Something needs to ring the far end. Something needs to answer a ringing call. Something needs to eventually release that call. While that something doesn’t have to be SIP, it’s a pretty good option. WebRTC is responsible for the media flow between the browser and the far end (which could very well be another browser, but it doesn’t have to be) and SIP could be used for session management. This isn’t too different from what SIP does today. SIP does all the call control stuff, but Session Description Protocol (SDP) is used for the media aspects of those calls.
There is a lot more I could say about WebRTC, but in terms of SIP the point is that they are parallel protocols that work well together. They augment and assist each other, but in no way is one a replacement for the other.