Publicerat den 20 februari 2017
Now why did we decide to not only attend to the WebRTC meetup in Stockholm but also sponsor it? I myself and Connectel believe that this technology will play a huge role in the future communication not only between customers and agents but also between friends and family. The technology is already in use by several major players on the market including Facebook’s Messenger, Slack & Snapchat and is just now beginning to set foot in the customer engagement market.
As of today, there are more than 2 billion users with WebRTC capabilities and 1 PETABYTE (1 000 000 gigabyte) of data each week are sent using the Chrome DataChannel which is a part of the WebRTC API for data transfer.
The event itself took place in Stockholm with attending developers from all over the world. Including presentations from Google, Janus(A WebRTC Gateway) and Callstats.io. New ideas and seeds was planted and we look forward for the next meetup.
What is WebRTC?
WebRTC is a free, open source project which gives browsers and applications the means of real-time communication via simple APIs. The API makes it possible for developers to capture video and audio directly from the web browser without using plugins or having to setup an intermediary to handle the communication in between. Though in some more complex setups such a server or application may be needed to tackle strict firewall policies or to handle compatibility with older legacy telephones.
This technology allows us to redefine todays communication. The old legacy systems tell us to dial a number, sit through long and boring menu choices and finally be connected to an agent that have no idea of how to help me. After explaining my issue, I will then be transferred to another queue were I yet again sit happily and wait. With WebRTC we can, based on the user interaction, connect the customer directly to an agent that is qualified to give the much needed assistance, the agent answering my call may also have full access to my shopping cart and past interactions. I may even share my screen and let the agent guide me to the right product on their webpage. This is just one of several critical issues with todays customer interactions.
WebRTC relies on three APIs, each of which performs a specific function and helps the developers to fully utilize the capabilities of this technology.
In the past, browsers has been dependant on external plugins or third-party software in order to capture audio and video from the users browser. However, with HTML5 we can dump these old legacy solutions (Flash, Silverlight) for more user- & developer friendly solutions. I will not cover HTML5 in this post and for those who are interesting to see what the new HTML5 offers there are plenty of documentation online for that.
Now with the getUserMedia API we can enable and grant the browser access to the user's microphone and camera. Even though this API is used by WebRTC it is offered though and a part of HTML5.
RTCPeerConnection is offered through the WebRTC API and it represent the WebRTC connection. The main objective is to handle the streaming of data between two peers. It maintains and monitor the connection and finally close it when the session is no longer needed.
When a WebRTC connection is initiated, the RTCPeerConnection helps by creating an SDP (Session Description Protocol) which will be used for NAT traversals and ICE workflow. This will in turn be sent to the receiving peer which will respond by sending back its own SDP.
With this API we can offer communication over UDP/IP which is ideal for real-time communication because of the reduced overhead that TCP/IP would create due to its package arrival guarantee.
The RTCDataChannel is another, second API provided as a part of WebRTC and it is the actual channel in which the data is sent through directly between peers. If one wish to use other channels for communication one would use for an example WebSocket but that would in most cases require a server (Example: Nginx, Asterisk, Kamailio) to handle the websocket connection and signaling. With that in mind, RTCDataChannel is designed to be similar to the WebSocket, but with peer-to-peer capabilities.
How can we use it?
The WebRTC project is a fairly young technology. The code was released by Google in 2011 and have since then been under heavy development and debate (as we would expect with most new standards). However, a question Connectel asks is how we can fully use and utilize this technology to build customer engagement solutions and help our customers to communicate with their customers in a more efficient way. It is a lot of fun to work with and develop cutting edge technologies. By looking at already existing WebRTC projects we happily embrace this project, believing that we could use this to help not only ourselves but also provide our customers with the best available means of communications.
We are looking to kill the old legacy telephone network, killing the old numbers and putting the giants out of business. We already have a couple of projects that will extend the meaning of customer engagement. For now, those projects remain a secret :-)
To answer the question, yes we believe that this is the future of online communication. Maybe WebRTC wont stick around forever but this way of interactions will, in one way or another. And if the future require us to resaddle we will do so.
Martin Nyström, IT- & Telecom Solution Specialist