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

WebRTC standards update (Jul 2014)

Embed Size (px)

DESCRIPTION

WebRTC standards update (Jul 2014)

Citation preview

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