WebRTC Standards Update (October 2014)

47
WebRTC standards update (October 2014) Victor Pascual Avila [email protected] @victorpascual

description

WebRTC Standards Update (October 2014)

Transcript of WebRTC Standards Update (October 2014)

Page 1: WebRTC Standards Update (October 2014)

WebRTC standards update (October 2014)

Victor  Pascual  Avila  [email protected]                @victorpascual    

Page 2: WebRTC Standards Update (October 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

- Associate Professor at Universitat Pompeu Fabra

About Me

Page 3: WebRTC Standards Update (October 2014)

What is WebRTC?

A browser-embedded media engine

Page 4: WebRTC Standards Update (October 2014)

(Media)

(Signaling)

(Signaling)

“Set or RTC APIs for Web Browsers”

“New protocol profile”

WebRTC standards

Page 5: WebRTC Standards Update (October 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 6: WebRTC Standards Update (October 2014)

RTCWeb WG

Page 7: WebRTC Standards Update (October 2014)

7  

Page 8: WebRTC Standards Update (October 2014)

8  

Page 9: WebRTC Standards Update (October 2014)

9  

Page 10: WebRTC Standards Update (October 2014)

10  

Page 11: WebRTC Standards Update (October 2014)

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

WebRTC Doesn’t Define Signaling

Page 12: WebRTC Standards Update (October 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 f00b4r

Page 13: WebRTC Standards Update (October 2014)

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)

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)

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

The Video Codec Battle

Page 16: WebRTC Standards Update (October 2014)
Page 17: WebRTC Standards Update (October 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 18: WebRTC Standards Update (October 2014)

18  

Page 19: WebRTC Standards Update (October 2014)

19  

Page 20: WebRTC Standards Update (October 2014)

20  

Some fresh news!

Page 21: WebRTC Standards Update (October 2014)

21  

Page 22: WebRTC Standards Update (October 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 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)

iswebrtcreadyyet.com

Browser Support

Page 24: WebRTC Standards Update (October 2014)

24  

Page 25: WebRTC Standards Update (October 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

1.1  2.0  ?  

Page 26: WebRTC Standards Update (October 2014)

http://status.modern.ie/

Browser API

Page 27: WebRTC Standards Update (October 2014)

http://status.modern.ie/

Browser API

Page 28: WebRTC Standards Update (October 2014)

Browser API

Page 29: WebRTC Standards Update (October 2014)

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

29  

Page 30: WebRTC Standards Update (October 2014)

30  

Page 31: WebRTC Standards Update (October 2014)

31  

h?p://webrtchacks.com/ortc-­‐qa-­‐robin-­‐raymond/  

Page 32: WebRTC Standards Update (October 2014)

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)

33  

Page 34: WebRTC Standards Update (October 2014)

34  

ORTC editor

Page 35: WebRTC Standards Update (October 2014)

35  

WebRTC editor

Page 36: WebRTC Standards Update (October 2014)

36  

Page 37: WebRTC Standards Update (October 2014)

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

WebRTC Access to IMS (r12)

Page 38: WebRTC Standards Update (October 2014)

Adding New Wheels to IMS with WebRTC

Page 39: WebRTC Standards Update (October 2014)

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

Page 40: WebRTC Standards Update (October 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 41: WebRTC Standards Update (October 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 42: WebRTC Standards Update (October 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 43: WebRTC Standards Update (October 2014)

Alliance for Telecom Solutions

Page 44: WebRTC Standards Update (October 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 45: WebRTC Standards Update (October 2014)

RESTful Network API for WebRTC Signaling v.1.0 (Feb 2014)

OMA

Page 46: WebRTC Standards Update (October 2014)

How does WebRTC relate to VoLTE and RCS?

GSMA

Page 47: WebRTC Standards Update (October 2014)

Thank You!

Victor  Pascual  Avila  [email protected]                @victorpascual