PW ISDN Training

WebRTC Standards Summary
Carol Davids © 2010
What is WebRTC?
• “WebRTC” refers to protocols as well as
Javascript APIs used to enable realtime
communications within Web browsers, without
requiring plugins.
• IETF RTCWEB WG is standardizing the
protocols used in WebRTC.
• W3C WEBRTC WG is standardizing the
Javascript APIs implemented in Web browsers.
– getUserMedia API provides access to media
streams from webcams and microphones.
– RTCPeerConnection API enables mediastreams to
be sent peer-to-peer.
WebRTC Protocols and APIs
(P2P Scenario)
Source: (Google Chrome Developer Relations)
What Protocol Functionality is
Covered by IETF RTCWEB?
• Overview: draft-ietf-rtcweb-overview
• Codecs (Opus & G.711 MTI for audio)
– draft-ietf-rtcweb-audio
• Security (SRTP and DTLS/SRTP key management)
– draft-ietf-rtcweb-security, draft-ietf-rtcweb-security-arch
• NAT traversal (STUN/TURN/ICE)
– RFC 5245 (ICE), 5389 (STUN), 5766 (TURN)
– draft-muthu-behave-consent-freshness
• Data Channel (SCTP over DTLS over UDP)
– draft-ietf-rtcweb-data-channel, draft-ietf-rtcweb-data-protocol
• RTP/RTCP (RTP/SAVPF profile)
– draft-ietf-rtcweb-rtp-usage
• Congestion Control (“Circuit Breakers”, RMCAT WG)
– draft-ietf-avtcore-rtp-circuit-breakers
IETF Standards Status
• IETF RTCWEB WG documents likely to complete WG last call by
end of CY 2013.
– Major remaining issue is MTI video codec selection (VP8 vs.
– Basic interoperability (audio, video, security) demonstrated
between Chrome and Mozilla.
– Core functionality implemented and being used in production.
• Focus now largely on enhancements and optimizations.
– Screen sharing: security issues.
– Security: DTLS/SRTP-EKT (optimization for conferencing
– NAT traversal: “Trickle ICE”
– A/V Multiplexing: Signaling (BUNDLE), and RTP multiplexing.
– Multi-stream support: Support for simulcast and layered
codecs, RTCP reporting.
– Congestion control (RMCAT).
W3C Javascript APIs
• WebRTC Core APIs
– getUserMedia:
– RTCPeerConnection:
– IETF API draft: draft-ietf-rtcweb-jsep
• Ancillary APIs (not required for every WebRTC application)
– Canvas:
– Websockets:
– WebGL:
– Web Telephony:
Implementation Status
• WebRTC Core APIs
– getUserMedia: Chrome 23 (December 2012), Mozilla
(March 2013), going to WG last call in 4Q2013.
– RTCPeerConnection: Chrome 25 (February 2013),
Mozilla (September 2013).
• Ancillary APIs (not required for every WebRTC
– Canvas: Supported in all major browsers
– Websockets: Supported in all major browsers
– WebGL: Supported in all major browsers (in IE 11)
– Web Telephony: for non-browser use (e.g. Firefox OS
and Chrome OS).