Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
WebRTC standards update (Jul 2014)
-
Upload
victorpascual -
Category
Internet
-
view
2.033 -
download
1
description
Transcript of WebRTC standards update (Jul 2014)
![Page 1: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/1.jpg)
WebRTC standards update (July 2014)
Victor Pascual Avila [email protected] @victorpascual
Amir Zmora [email protected] @AmirZmora
![Page 2: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/2.jpg)
Upperside WebRTC Conference, Dec 16-18
7/15/14 2
![Page 3: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/3.jpg)
New WebRTC Blog
7/15/14 3
![Page 4: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/4.jpg)
New WebRTC Blog
7/15/14 4
blog.uppersideconferences.com
![Page 5: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/5.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
About Me
![Page 6: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/6.jpg)
WebRTC is…..?
![Page 7: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/7.jpg)
OeAng
WebRTC is…..?
![Page 8: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/8.jpg)
OeAng
WebRTC is…..?
• A media engine in the browser with JavaScript APIs
• Open Source, no royalKes, license fees
• Real-‐Kme voice, video & data
• No plug-‐in
• Secured
• Standard interfaces
![Page 9: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/9.jpg)
周小逸 Ian
![Page 10: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/10.jpg)
![Page 11: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/11.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 12: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/12.jpg)
RTCWeb WG
![Page 13: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/13.jpg)
Don’t panic, it’s not a bad thing!
WebRTC Doesn’t Define Signaling
![Page 14: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/14.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 foobar
![Page 15: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/15.jpg)
each deployment/vendor is implementing its own proprietary signaling mechanism
(1/3)
![Page 16: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/16.jpg)
Interworking Towards Legacy? • 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 17: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/17.jpg)
WebRTC signaling and media is NOT compatible with existing VoIP/IMS
deployments – gateways are required to bridge the two worlds
(2/3)
![Page 18: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/18.jpg)
Some discussion on the topic: http://webrtchacks.com/cisco-openh264/
The Video Codec Battle
![Page 19: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/19.jpg)
![Page 20: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/20.jpg)
Poll Question
![Page 21: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/21.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 22: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/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”, 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 (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/23.jpg)
iswebrtcreadyyet.com
Browser Support
![Page 24: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/24.jpg)
Poll Question
![Page 25: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/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
![Page 26: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/26.jpg)
http://status.modern.ie/
Browser API
![Page 27: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/27.jpg)
http://status.modern.ie/
Browser API
![Page 28: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/28.jpg)
Browser API
![Page 29: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/29.jpg)
Plug-‐in free or free plug-‐in?
7/15/14 29
![Page 30: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/30.jpg)
the WebRTC API can have different flavors
(3/3)
![Page 31: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/31.jpg)
http://webrtchacks.com/ims-approach-webrtc/
WebRTC Access to IMS (r12)
![Page 32: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/32.jpg)
Adding New Wheels to IMS with WebRTC
![Page 33: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/33.jpg)
3GPP TS 23.228 V12.5.0 (2014-06)
![Page 34: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/34.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 35: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/35.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 36: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/36.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 37: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/37.jpg)
Alliance for Telecom Solutions
![Page 38: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/38.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 39: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/39.jpg)
How does WebRTC relate to VoLTE and RCS?
GSMA
![Page 40: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/40.jpg)
l each deployment/vendor is implementing its own proprietary signaling mechanism
l WebRTC signaling and media is incompatible with
existing VoIP deployments – gateways are required to bridge the two worlds
l the WebRTC API can have different flavors
Summary
![Page 41: WebRTC standards update (Jul 2014)](https://reader033.fdocuments.us/reader033/viewer/2022051514/54b6ca324a795996608b4677/html5/thumbnails/41.jpg)
Thank You!
Victor Pascual Avila [email protected] @victorpascual
Amir Zmora [email protected] @AmirZmora