Top Banner
WebRTC standards update (July 2014) Victor Pascual Avila [email protected] @victorpascual Amir Zmora [email protected] @AmirZmora
41

WebRTC standards update (Jul 2014)

Jan 15, 2015

Download

Internet

victorpascual

WebRTC standards update (Jul 2014)
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WebRTC standards update (Jul 2014)

WebRTC standards update (July 2014)

Victor  Pascual  Avila  [email protected]                @victorpascual    

Amir  Zmora  [email protected]                  @AmirZmora    

Page 2: WebRTC standards update (Jul 2014)

Upperside WebRTC Conference, Dec 16-18

7/15/14   2  

Page 3: WebRTC standards update (Jul 2014)

New WebRTC Blog

7/15/14   3  

Page 4: WebRTC standards update (Jul 2014)

New WebRTC Blog

7/15/14   4  

blog.uppersideconferences.com

Page 5: WebRTC standards update (Jul 2014)

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)

WebRTC is…..?

Page 7: WebRTC standards update (Jul 2014)

OeAng  

WebRTC is…..?

Page 8: WebRTC standards update (Jul 2014)

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)

周小逸 Ian  

Page 10: WebRTC standards update (Jul 2014)
Page 11: WebRTC standards update (Jul 2014)

- 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)

RTCWeb WG

Page 13: WebRTC standards update (Jul 2014)

Don’t panic, it’s not a bad thing!

WebRTC Doesn’t Define Signaling

Page 14: WebRTC standards update (Jul 2014)

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)

each deployment/vendor is implementing its own proprietary signaling mechanism

(1/3)

Page 16: WebRTC standards update (Jul 2014)

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)

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)

Some discussion on the topic: http://webrtchacks.com/cisco-openh264/

The Video Codec Battle

Page 19: WebRTC standards update (Jul 2014)
Page 20: WebRTC standards update (Jul 2014)

Poll Question

Page 21: WebRTC standards update (Jul 2014)

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)

“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)

iswebrtcreadyyet.com

Browser Support

Page 24: WebRTC standards update (Jul 2014)

Poll Question

Page 25: WebRTC standards update (Jul 2014)

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)

http://status.modern.ie/

Browser API

Page 27: WebRTC standards update (Jul 2014)

http://status.modern.ie/

Browser API

Page 28: WebRTC standards update (Jul 2014)

Browser API

Page 29: WebRTC standards update (Jul 2014)

Plug-­‐in  free  or  free  plug-­‐in?

7/15/14   29  

Page 30: WebRTC standards update (Jul 2014)

the WebRTC API can have different flavors

(3/3)

Page 31: WebRTC standards update (Jul 2014)

http://webrtchacks.com/ims-approach-webrtc/

WebRTC Access to IMS (r12)

Page 32: WebRTC standards update (Jul 2014)

Adding New Wheels to IMS with WebRTC

Page 33: WebRTC standards update (Jul 2014)

3GPP TS 23.228 V12.5.0 (2014-06)

Page 34: WebRTC standards update (Jul 2014)

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)

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)

“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)

Alliance for Telecom Solutions

Page 38: WebRTC standards update (Jul 2014)

“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)

How does WebRTC relate to VoLTE and RCS?

GSMA

Page 40: WebRTC standards update (Jul 2014)

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)

Thank You!

Victor  Pascual  Avila  [email protected]                @victorpascual    

Amir  Zmora  [email protected]                  @AmirZmora