What’s in the new Liberty real-time communications feature?
Browser-based WebRTC engines embed technologies like audio and video codecs, echo cancellation, capturing of media from native devices, and ICE for firewall traversal of media streams. They do not, however, include support for the call signaling needed to set up the exchange of media streams between nodes that want to communicate.
The new rtcomm-1.0 feature provides a call signaling “connector” that is simple to set up in the Liberty profile. The Rtcomm connector supports client node registration and provides a simple way for WebRTC nodes to find and connect to each other, enabling real-time communication sessions between browsers.
Why is Liberty adding support for WebRTC?
Analysts predict 3 billion WebRTC-capable devices and 1 billion individual users of WebRTC by the of end 2016, with each user having two to three WebRTC-enabled devices. Wherever there is some kind of web data context that can benefit from a real-time interaction, you will soon notice icons for enabling the individuals associated with that data to connect in real time. This might be buyers and sellers of an auction, team members in a social context, or customers and agents who need to communicate about a specific web page. Whatever the situation, they will rely on WebRTC to avoid losing the context of the web page instead of switching to a phone.
WebSphere has a long history of supporting the Session Initiation Protocol (SIP). SIP is the call signalling protocol that voice over LTE and IMS are built on. With an HTML5 related technology like WebRTC starting to show up in stable versions of browsers like Firefox and Chrome, it makes sense for Liberty to support it too.
That said, it also gives us a chance to reconsider how communications can be composed outside of the traditional telco-oriented SIP space. For instance, WebRTC has the potential to completely change the way people participate in a real-time exchange. With WebRTC, people will rely on context instead of telephone numbers to make connections and context will be used to drive the entire interaction in real time. Liberty is an ideal platform for hosting this context, which can be used for all kinds of rich real-time interactions.
Why did Liberty base this feature on an Internet of Things (IoT) protocol instead of SIP?
This one is easy. Simple, lean, scalable, and fast. The protocol we decided to use for our call signaling infrastructure is a pub/sub-based messaging protocol designed for IoT called the MQ Telemetry Transport (MQTT). MQTT is one of the simplest, most lightweight messaging protocols on the planet. And because it’s so simple, it’s incredibly flexible in how it can be used and deployed.
To begin with, MQTT is an open standard (go here for details MQTT.org). There are many flavors of MQTT message brokers available in the market today, from free servers like Mosquitto to massively scalable products like IBM MessageSight that can handle millions of connections and millions of transactions per second.
Looking beyond the protocol, using the Liberty real-time communications feature with the Internet of Things opens up the well-thought-out WebRTC use cases such as video chat and social collaboration. But, beyond that, it makes it possible to integrate in completely new and interesting ways with potentially billions of devices (e.g. sensors, mobile devices, surveillance cameras, cars, etc.).
Through technologies like NodeRED (a visual tool for wiring together devices, APIs and online services), we see WebRTC enabling the integration of real-time communications with the world of both “things” and services (e.g. Twitter, Analytics, etc.). This is a platform for innovations that extend way beyond traditional, subscription-based telephone calls.
Does Liberty support WebRTC federation with SIP-based networks?
At Impact this year, we announced our intention to deliver SIP support in Liberty at some point in the future. We also stated our intention to provide a WebRTC solution that can be federated with a SIP-based network. As typical disclaimers go, this is not a commitment and plans are subject to change but we are certainly driving towards these goals.
Give me more!
Real-time communications has traditionally been a very complicated technology to break into. We’ve experienced this first hand for many years while working on the WebSphere SIP Servlet container. With WebRTC, we feel this time around it’s going to be different.
With that said, we’re definitely not sitting still! We plan to continue adding to the set of capabilities included in this feature in subsequent betas, but still continue to focus on simplicity. In future betas, you’ll see this feature grow into a set of building blocks that can be used to create extremely rich real-time applications. We’re very interested to hear your feedback as we continue on this journey. Please have a look and more importantly, please come back for more!