May 3, 2013

Eleven Answers, WebRTC Explained


GaryAudin.png
WebRTC may be the next wave in real time communications over IP networks. If you have not heard of WebRTC then you need to learn about it. If you have heard of WebRTC, then you need to learn the answers to the following questions. WebRTC will have an impact on the future of Unified Communications.

What is WebRTC?

WebRTC was started by Google with the goal to build a standards-based real time media engine implemented in all of the available browsers. A browser with WebRTC a web services application can direct the browser to establish a real time voice or video RTP connection to another WebRTC device or to a WebRTC media server. WebRTC APIs and the media engine define the communications path.

Who is driving the development of WebRTC?

There are two groups participating in the development of WebRTC. The World Wide Web Consortium (W3C) is standardizing the Application programming Interfaces (API). The Internet Engineering Task Force (IETF) is working on the protocols and peer-to-peer connections.

Where does HTML5 fit in?

HTML5 is a markup language for presenting content over the World Wide Web. This is the fifth revision of the HTML standard. The goal of HTML5 is to improve the language supporting the latest multimedia while retaining easily readable content by humans and content understood by computers and other devices. A web browser with WebRTC and HTML5 as soft client work together to deliver real time communications with standardized APIs.

What protocols will be used?

There a number of protocols that will be used at the application layer for WebRTC:
  • HTTP - Hypertext Transfer Protocol 
  • WebSocket - JavaScript interface,
  • SRTP - Secure Real-time Transport Protocol 
  • SDP - Session Description Protocol
  • ICE - Interactive Connectivity Establishment
  • STUN - Session Traversal Utilities for NAT
  • TURN - Traversal Using Relay NAT
  • SIP - Session Initiation Protocol is optional
  • Jingle - Peer-to-peer signaling is optional

The transport layer protocols include:
  • TLS - Transport Layer Security
  • TCP - Transmission Control Protocol
  • DTLS - Datagram Transport Layer Security
  • UDP- User Datagram Protocol
  • SCTP - Stream Control Transmission Protocol

All of these protocols will be operating over the IP network layer.

What is new about WebRTC?

WebRTC delivers platform and device independence using standard APIs from W3C written in WebRTC HTML5 code and IETF protocols. WebRTC is always secure. The Secure RTP protocol is used to carry the media. Using codecs with standardized voice and video quality ensures interoperability and avoids codec downloads which may contain malware.
WebRTC can pass through Network Address Translation (NAT) devices and not require media server relay thereby improving quality and reducing delays. WebRTC supports multimedia using RTP and SDP extensions. WebRTC will utilize network condition feedback to ensure high quality transmission. The APIs and signaling can negotiate the size and format of each source. It will deliver VoIP and video interoperability using SIP, Jingle, and the PSTN.

How does WebRTC operate?

Two different browsers running in separate machines would be running the same web application from the web server. A peer-to-peer connection is established. The two machines can communicate without plugins and are fully interoperable for the application. The signaling used is still not fully defined. The signaling could be SIP, Jungle, or a proprietary protocol. The connection can use HTTP or WebSockets for the media transport.

What media can WebRTC support?

WebRTC.JPG
The primary thrust of WebRTC media support is for voice and video. The codecs considered are:

WebRTCTable.JPG
What is the state of the standards?

The standards are in draft form. However, some browser vendors are implementing the draft standards in advance of approval. The seven relevant draft standards are:
  • "Overview: Real Time Protocols for Browser-based Applications" 
  • 'Web Real Time Communications Use-cases and Requirements"
  • "Web Real Time Commination (WebRTC): Media Transport and Use of RTP"
  • "RTCWEB Security Architecture"
  • "Security Considerations for RTC-Web"
  • "RTCWEB Datagram Connection"
  • "JavaScript Session Establishment Protocol"

Will WebRTC impact Unified Communications?

The impact on UC products and services supporting general communications and collaboration may be significant in the long term but not immediately. The ability to support vendor's soft clients on a variety of devices will improve the vendor's ability to deal with BYOD. There are over 50 distinct products that operate with Android. A vendor could develop a small number of HTML versions linked to the device screen size and using WebRTC for the media transmission. A major benefit is that the range of devices that need to be supported could be reduced substantially.

Will all the browser vendors work together?

The implementations of draft specifications of WebRTC have been trialed. A demonstration of basic communications capability has been accomplished between the Chrome and Firefox browsers. Microsoft's Internet Explorer and Apple's Safari implementations are unknown at this time. These last two may embrace WebRTC or chart a direction of their own as competitors.

What is in the future?

The standards are not in final approved form including the use of SDP and its interpretation. The browser vendors have to integrate WebRTC into their products. There will be ongoing discussions  as to what video codec(s) will be implemented. There is more work to be done on internetworking with SIP and Jingle. Some vendors have created a short term product that uses Flash to gain experience in the application of WebRTC capabilities. These temporary solutions will be retired as soon as WebRTC matures.


4 Comments

How does WebRTC pass through Network Address Translation devices in a peer-to-peer connection when both endpoints are behind a NAT router?

WebRTC relies upon ICE, STUN & TURN for a NAT traversal solution. In this regard it's not unlike SIP.

Great post, but what about the mobile-related hurdles facing WebRTC?

1) How can two clients communicate with each other using WebRTC if they are on two different VLANs?

2) Once a WebRTC connection is established, what protocols are used for peer-to-peer data transmission?

(Edited for clarity)

Search Webtorials

Get E-News and Notices via Email


  

 



  

I accept Webtorials' Terms and Conditions.

Trending Discussions

See more discussions...

Featured Sponsor Microsites






















Archives

Notices

Please note: By downloading this information, you acknowledge that the sponsor(s) of this information may contact you, providing that they give you the option of opting out of further communications from them concerning this information.  Also, by your downloading this information, you agree that the information is for your personal use only and that this information may not be retransmitted to others or reposted on another web site.  Continuing past this point indicates your acceptance of our terms of use as specified at Terms of Use.

Webtorial® is a registered servicemark of Distributed Networking Associates. The Webtorial logo is a servicemark of Distributed Networking Associates. Copyright 1999-2018, Distributed Networking Associates, Inc.