Our ups and downs with WebRTC
It is the year 2015 are we are still mostly using hardcoded software to make phone calls. Not too long ago we thought by then we would use browsers in our laptops and our smart phones, connected through wireless headsets and other audio equipment.
That was the time when we implemented WebRTC in the PBX. After we got it working we were excited. This would be it! Do everything in the browser: Web, email, chat, talking.
But soon after the excitement we got back to reality. It turned out that our original idea that everybody would put a talk button on their web page just like you put your Facebook like or your twitter button on the web page did not work out. The few that did had to fight with low browser support, and bad audio.
So we turned our attention to the frequently asked question of the soft phone. Instead of writing a soft phone for every platform ourselves, we said to ourselves: Let others do that for us with the browser, and we just write the JavaScript that makes it talk to our PBX. It would still not work on every browser, but asking a client to use Chrome was a reasonable answer for most.
The next problem that occurred was that Chrome announced the discontinuation of the relatively simple SDES-based SRTP key negotiation and instead switched to the DTLS method. That kind of turned us off for some time. However as the pressure was building up and other browser manufacturers also started adding WebRTC support, we took a 2nd look at the DTLS topic and finally got it working (well currently at least for outbound calls).
Then surfing the internet, it seems that also Skype is now looking at WebRTC. In other words, that would add WebRTC to the Internet Explorer, which would be nothing short of a breakthrough for WebRTC technology. I saw some posts that Safari would eventually also have it. Then practically all browsers would support it.
For someone who has struggled with SIP interoperability for the past 15 years that has an earthshaking impact. Instead of arguing about SIP headers, UDP and RFC, WebRTC makes it now possible that the PBX vendor writes the software for the clients. The interoperability is essentially JavaScript which has very little room for interpretations (compared to SIP). That means we can offer all possible features of the PBX in the browser without any interop problems, on practically all platforms that are out there. This will make SIP softphones superfluous.
It is still debatable what the impact of WebRTC on the hard phones will be. With memory getting cheaper and CPU horsepower getting stronger, it is not unreasonable to say that they will eventually also just host a web browser, even on a very small display. However this will not happen overnight.
So if you ask me what my current feeling is about WebRTC, I would say “excited”.