Download - WebRTC Standards Update (October 2014)
![Page 2: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/2.jpg)
Technology, Innovation & Strategy Consultant Main focus: help make WebRTC happen – involved in WebRTC standardization, development and first industry deployments (on-going RFX's, PoC's and field trials) Other activities: - Chief Strategy Officer (CSO) - IETF contributor (SIP, Diameter and WebRTC areas) - IETF STRAW WG co-chair - SIP Forum WebRTC Task Group co-chair - WebRTCHacks.com co-founder and blogger - Independent Expert at European Commission
- Associate Professor at Universitat Pompeu Fabra
About Me
![Page 3: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/3.jpg)
What is WebRTC?
A browser-embedded media engine
![Page 4: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/4.jpg)
(Media)
(Signaling)
(Signaling)
“Set or RTC APIs for Web Browsers”
“New protocol profile”
WebRTC standards
![Page 5: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/5.jpg)
- Audio codecs – G.711, Opus - Video codecs – H.264 vs. VP8 - Media codecs are negotiated with SDP (for now at least) - Requires Secure RTP (SRTP) – DTLS-SRTP (SDES is prohibited) - Requires Peer-2-peer NAT traversal tools (STUN, TURN, ICE) – trickle ICE - Multiplexing: RTPs & RTP+RTCP - Tools for firewall traversal - DataChannel - Etc.
NEW PROTOCOL PROFILE FOR MEDIA
RTCWeb WG (and other)
![Page 6: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/6.jpg)
RTCWeb WG
![Page 7: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/7.jpg)
7
![Page 8: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/8.jpg)
8
![Page 9: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/9.jpg)
9
![Page 10: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/10.jpg)
10
![Page 11: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/11.jpg)
Don’t panic, it’s not a bad thing!
WebRTC Doesn’t Define Signaling
![Page 12: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/12.jpg)
Some discussion on the topic: http://webrtchacks.com/signalling-options-for-webrtc-applications/
Signaling Plane • WebRTC has no defined signaling method • JavaScript app downloaded from web server • Popular choices are:
• SIP over Websockets - Standard mechanism (RFC7118): Extend SIP directly into the browser by
embedding a SIP stack directly into the webpage – typically based on JavaScript
- WebSocket create a full-duplex channel right from the web browser
- Popular examples are jsSIP, sip-js, QoffeeSIP, or sipML5
• Call Control API - proprietary signaling scheme based on more traditional web tools and techniques
- “standard” APIs enhanced to include WebRTC support
• Other alternatives based on XMPP, JSON or f00b4r
![Page 13: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/13.jpg)
Interworking Towards Legacy VoIP?
• A browser-embedded media engine • Best-of-breed echo canceler • Video jitter buffer, image enhancer • Audio codecs – G.711, Opus are MTI • Video codecs – H.264 vs. VP8 (MTI TBD - IPR discussion) • Media codecs are negotiated with SDP (for now at least) • Requires Secure RTP (SRTP) – DTLS • Requires Peer-2-peer NAT traversal tools (STUN, TURN, ICE) –
trickle ICE • Multiplexing: RTPs & RTP+RTCP
• Yes, your favorite SIP client implementation is compatible with most of this. But, the vast majority of deployments
• Use plain RTP (and SDES if encrypted at all) • Do not support STUN/TURN/ICE • Do not support multiplexing (ok, not really an issue) • Use different codecs that might not be supported on the WebRTC
side
![Page 14: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/14.jpg)
WebRTC signaling and media is NOT compatible with existing VoIP/IMS
deployments – gateways are required to bridge the two worlds
![Page 15: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/15.jpg)
Some discussion on the topic: http://webrtchacks.com/cisco-openh264/
The Video Codec Battle
![Page 16: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/16.jpg)
![Page 17: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/17.jpg)
Room participants: 30/50 in favor of H.264 Remote participants (minority): 75/25 in favor of VP8 → No clear consensus
No decision Some discussion on the topic: http://webrtchacks.com/ietf-finally-made-decision-mandatory-implement-mti-video-codec-webrtc/
Result of The Discussion?
![Page 18: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/18.jpg)
18
![Page 19: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/19.jpg)
19
![Page 20: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/20.jpg)
20
Some fresh news!
![Page 21: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/21.jpg)
21
![Page 22: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/22.jpg)
“The mission of the W3C WebRTC WG is to define client-side APIs to enable Real-Time Communications in Web-browsers. These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers (unless needed for firewall traversal).”
Discussion: provides the current API in its form (e.g. based on SDP O/A) the flexibility Web developers need?
Answer: well, not really but it's good enough for most of the use cases we have today
Alternative proposals: Microsoft's CU-RTC-WEB (Aug'12), WebRTC Object API (ORTC) (Aug'13)
Next step: “Done is better than perfect”, Let's finish WebRTC 1.0, Let the industry adopt it
Future work: “fix/improve things in WebRTC 2.0 or even 1.1”, Backward interoperability?
Obtain local
media
Setup Peer Connection
Attach media or Data
Close Connection
← getUserMedia(), etc.
← RTCPeerConnection(), etc.
← addStream(), createOffer(), etc.
WebRTC WG
![Page 23: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/23.jpg)
iswebrtcreadyyet.com
Browser Support
![Page 24: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/24.jpg)
24
![Page 25: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/25.jpg)
Some discussion on the topic: http://webrtchacks.com/why-the-webrtc-api-has-it-wrong-interview-with-webrtc-object-api-ortc-co-author-inaki-baz-3-2/
Browser API
1.1 2.0 ?
![Page 26: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/26.jpg)
http://status.modern.ie/
Browser API
![Page 27: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/27.jpg)
http://status.modern.ie/
Browser API
![Page 28: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/28.jpg)
Browser API
![Page 29: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/29.jpg)
Plug-‐in free or free plug-‐in?
29
![Page 30: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/30.jpg)
30
![Page 31: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/31.jpg)
31
h?p://webrtchacks.com/ortc-‐qa-‐robin-‐raymond/
![Page 32: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/32.jpg)
32 h?p://blog.webrtc.is/2014/07/01/google-‐chrome-‐38-‐39-‐to-‐ship-‐with-‐ortc-‐webrtc-‐1-‐1-‐apis/
Well… not really
![Page 33: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/33.jpg)
33
![Page 34: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/34.jpg)
34
ORTC editor
![Page 35: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/35.jpg)
35
WebRTC editor
![Page 36: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/36.jpg)
36
![Page 37: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/37.jpg)
http://webrtchacks.com/ims-approach-webrtc/
WebRTC Access to IMS (r12)
![Page 38: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/38.jpg)
Adding New Wheels to IMS with WebRTC
![Page 39: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/39.jpg)
3GPP TS 23.228 V12.5.0 (2014-06)
![Page 40: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/40.jpg)
P C E F
N A T
I P - C A N
WWSF
W1
W2
UE
WIC I / S - CSCF
eIMS - AGW
Iq
Mw eP - CSCF
H / V - PCRF
Gx
Rx
W3
IMS - ALG
WAF W4
W5
Reference Architecture
![Page 41: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/41.jpg)
codec 1
SRTP
IP IP UDP IP
UDP UDP UDP IP
UE eIMS - AGW peer
SRTP RTP
codec 1 codec 2
RTP
codec 2
BFCP
SCTP DTLS
IP
SCTP DTLS
IP
TCP
IP UDP UDP
BFCP
TCP
IP
UE eIMS - AGW peer
MSRP SCTP DTLS
IP
MSRP SCTP DTLS
IP
MSRP
TCP IP
UDP UDP
MSRP
TCP IP
UE eIMS - AGW peer
Interworking Towards Legacy IMS
![Page 42: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/42.jpg)
“the initial focus of the Task Group is to determine what the needs are for successful interoperability of WebRTC-to-SIP deployments” cover ing both Enterprises and Service Providers “recommendations, Reference Architecture Documents, Certifications, and/or White Papers”
SIP Forum WebRTC Task Group
![Page 43: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/43.jpg)
Alliance for Telecom Solutions
![Page 44: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/44.jpg)
“focuses on interoperability issues relating to the use of WebRTC” “the group is focused on enterprise WebRTC , interworking of WebRTC and other carrier technologies, and other existing videoconferencing systems” “develop an interoperability test framework and prepare for IOT events”
WebRTC Interop Activity Group
![Page 45: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/45.jpg)
RESTful Network API for WebRTC Signaling v.1.0 (Feb 2014)
OMA
![Page 46: WebRTC Standards Update (October 2014)](https://reader034.vdocuments.us/reader034/viewer/2022051411/547e61c4b4af9fea158b55e4/html5/thumbnails/46.jpg)
How does WebRTC relate to VoLTE and RCS?
GSMA