WebRTC in a Nutshell
As Technical Director at Thrupoint I spend my days presenting unified communication solutions to service providers across the country. For the past many years (1996 or so) I have focused my efforts towards VoIP implementations that involved protocols such as H.323 (ouch), H.248, SIP, IPDC, MGCP, and a bunch of other acronyms that make you forget the order of the alphabet at times. To the point that jokes are made when my wife overhears my conference calls since I can speak complete sentences without ever using a word.
It has been awhile since a new protocol or technology has came around that really made me go WOW!!!
That has changed. We are a browser based online society now (some would argue app based, but thats a whole other story), we spend our life in our browsers. But one thing that has not been implemented in an easy to deploy and use manner is peer to peer real time communications between browsers.
Now before you say, but look I can IM with a customer service representative, or I clicked a dial me link on a web page and my phone rang, or you got audio from a conference call through WebEx. Keep in mind in all those causes the app either dialed out to your phone, or it was simple IM or the browser actually downloaded a Java application and had to run it to provide an audio output to your browser. In reality it was not browser based.
So what has me excited? WebRTC.
WebRTC stands for Web Real Time Communication. It is an API definition being drafted by the World Wide Web Consortium and jointly in the IETF to enable web browsers to conduct real time communications.
This means that it simplifies the task of creating real time communication applications for web developers, in the past VoIP and other communication applications took an in-depth knowledge of SIP or other protocols which meant that a web developer likely would not have the requisite skill set to build the solutions necessary for application sharing, voice, video, or IM.
With WebRTC this all changes. At first it is easy to say this is just another API, whats the big deal. Until you really start to think about the limitations that have been in place when it comes to something as simple as connecting audio to an online conference where people are viewing documents, etc. I have been on hundreds of them and I can say without a doubt more than 20 percent of the time people are fumbling to download the proper Java app or Java version to run the proper conferencing app. WebRTC means that those downloads no longer need to occur.
This means CLIENTLESS communications. If you currently use a softclient such as X-Lite (Counterpath) for VoIP on your desktop, this means that your VoIP provider could potentially offer you that same service without you ever having to install anything, you could simple just have your browser open and send and receive calls.
Well kind of… Although it is a topic for one of my next posts, one of the things WebRTC has not done a good job with is integration to the LEGACY phone systems of both phone companies and large enterprises. The phone network, although changing, still does exist. And as much as WebRTC is going to allow for cool new, non phone, based applications to be created for the time being there will still be a need to interact with legacy systems. Fortunately what has me excited at Thrupoint is a WebRTC to SIP Gateway that we have actively been working on and deploying. But that is a topic for a later post as mentioned.
A few things to note about WebRTC in closing:
- Approximately 50 percent of browsers support it today (Google is the driving force behind it so Chrome is one)
- It is about more than just voice, as much as I focus on voice here, there is much more to it
- It is still in draft, although it has enough momentum that it will be formalized in some fashion, things will change and be enhanced
Look for future posts to expand on the details. This is an intro post, if you have specific things you would like to delve into feel free to ask in the comments and future posts will expand on the topics.
For more detail you can also check out WebRTC.org