How Does HTML5 Help SIP?
SIP and HTML5
One of the most important factors that led to the success of the Internet is the fact that it is based upon open and standardized protocols such as HTML, TCP/IP and HTTP. Quite similarly, the SIP protocol is also one of the most commonly used signaling mechanisms for VoIP systems. SIP is free, extensible and open to use by anyone with programming knowledge. However, it has been a challenge to get SIP working on the web due to the inherent limitations of browsers and the HTTP protocol.
In order to be able to integrate the SIP protocol with web-based real-time communications, two pieces of the puzzle needed to fall in place. The first one is WebRTC. Direct audio and video capture through a web browser (without the need of plug-ins or additional downloads) has long been the dream of web programmers. WebRTC is a high quality and complete solution which enables real-time communication through web browsers. It was initially developed by Google and is now open sourced with no royalties.
How does WebRTC Fit in?
With WebRTC, peer connections and media streams are handled directly within the browser but the signaling mechanism has purposely not been specified. This means that WebRTC does not duplicate functionality which is already present through numerous popular signaling standards such as SIP, Jingle/XMPP etc. Nevertheless, the SIP protocol could not be immediately integrated into web browsers without HTML5.
HTML5 is the 5th revision to the language and is supported by most of today’s major web browsers. It introduces several new tags such as <audio> and <video> along with access to device hardware such as the GPU or microphone. The SIP protocol needed native TCP support which is provided through HTML5 WebSocket, resolving the problematic HTTP issues that were present earlier. While there are still several technical issues with getting SIP WebRTC to work, such as media streaming between desktops and mobile devices, HTML5 brings SIP closer to web browsers.
What's in the Future?