WebRTC

WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supports browser-to-browser applications for voice calling, video chat, and P2P file sharing without the need of either internal or external plugins.[1]

History

In May 2011, Google released an open source project for browser-based real-time communication known as WebRTC.[2] This has been followed by ongoing work to standardise the relevant protocols in the IETF[3] and browser APIs in the W3C.[4]

The W3C draft of WebRTC[5] is a work in progress with advanced implementations in the Chrome and Firefox browsers. The API is based on preliminary work done in the WHATWG.[6] It was referred to as the ConnectionPeer API, and a pre-standards concept implementation was created at Ericsson Labs.[7] The Web Real-Time Communications Working Group expects this specification to evolve significantly based on:

Design

Major components of WebRTC include:

The WebRTC API also includes a statistics function:

As of March 2015, the IETF WebRTC Codec and Media Processing Requirements draft[14] requires implementations to provide PCMA/PCMU (RFC 3551), Telephone Event as DTMF (RFC 4733), and Opus (RFC 6716) audio codecs, along with the H.264 and VP8 video codecs as minimum capabilities. The Peerconnection, Data channels and a media capture browser APIs are detailed in the W3C.

W3C is developing ORTC (Object Real-time Communications) for WebRTC.[15] This is commonly referred to as WebRTC 1.1.

Benefits

WebRTC enables all kinds of real time communication such as audio, video and text between users by utilising the browsers. Using WebRTC bears different benefits for different market segments. For end users it has two major advantages:

For enterprises WebRTC can provide even more benefits:[16]

For operators, WebRTC can additionally provide new opportunities:

Concerns

In January 2015, TorrentFreak reported that browsers supporting WebRTC suffer from a serious security flaw that compromises the security of VPN-tunnels, by allowing the true IP address of the user to be read.[17] The IP address read requests are not visible in the browsers developer console, and they are not blocked by common ad blocking/privacy plugins (enabling online tracking by advertisers and other entities despite precautions).[18]

Support

WebRTC is supported in the following browsers.

As of August 2014, Internet Explorer and Safari still lack the native support of WebRTC.[23] Several plugins are available to add the support of WebRTC to these browsers.[24][25]

Disabling WebRTC

WebRTC can be enabled and disabled in Firefox by toggling the value of "media.peerconnection.enabled" in about:config, and WebRTC settings can be changed in about:webrtc.

WebRTC cannot be disabled in the desktop version of Google Chrome. [26]

See also

References

  1. How WebRTC Is Revolutionizing Telephony. Blogs.trilogy-lte.com (2014-02-21). Retrieved on 2014-04-11.
  2. "Google release of WebRTC source code from Harald Alvestrand on 2011-05-31". public-webrtc@w3.org. Retrieved 2012-09-12.
  3. Charter of the Real-Time Communication in WEB-browsers (rtcweb) working group
  4. "WebRTC 1.0: Real-time Communication Between Browsers". W3.org. Retrieved 2012-09-12.
  5. "WebRTC 1.0: Real-time Communication Between Browsers". Dev.w3.org. Retrieved 2012-09-12.
  6. "Introduction — HTML Standard". Whatwg.org. Retrieved 2012-09-12.
  7. "Beyond HTML5: Peer-to-Peer Conversational Video | Ericsson Labs". Labs.ericsson.com. Retrieved 2012-09-12.
  8. "Rtcweb Status Pages". Tools.ietf.org. Retrieved 2012-09-12.
  9. "draft-jesup-rtcweb-data-protocol-00 - WebRTC Data Channel Protocol". Tools.ietf.org. Retrieved 2012-09-12.
  10. "Media Capture and Streams: getUserMedia". W3C. 2013-09-03. Retrieved 2014-01-15.
  11. "WebRTC: RTCPeerConnection Interface". W3C. 2013-09-10. Retrieved 2014-01-15.
  12. "WebRTC: RTCDataChannel". W3C. 2013-09-10. Retrieved 2014-01-15.
  13. "Identifiers for WebRTC's Statistics API". W3C. 2014-09-29.
  14. "draft-cbran-rtcweb-codec-02 - WebRTC Codec and Media Processing Requirements". Tools.ietf.org. 2012-03-12. Retrieved 2012-09-12.
  15. "W3C ORTC (Object Real-time Communications) Community Group".
  16. "WebRTC:How and Why?" (PDF). FRAFOS. 2015-01-12.
  17. Huge Security Flaw Leaks VPN Users’ Real IP-addresses TorrentFreak.com (2015-01-30). Retrieved on 2015-02-21.
  18. STUN IP Address requests for WebRTC Retrieved on 2015-02-21.
  19. Firefox Notes - Desktop. Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
  20. Dev.Opera. My.opera.com. Retrieved on 2014-04-11.
  21. Firefox Notes - Desktop. Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
  22. http://www.openwebrtc.io/bowser/
  23. "Internet Explorer Web Platform Status and Roadmap". Microsoft. Retrieved 7 September 2014.
  24. Priologic Releases First Open Source WebRTC Plugin for Internet Explorer
  25. http://www.prweb.com/releases/2014/05/prweb11844308.htm
  26. WebRTC — Local IP Address Discovery — Media Device ID Fingerprints — BrowserLeaks.com BrowserLeaks.com. Retrieved on 2015-03-23.

External links