Workshop oracle

35
WebRTC standards update (September 2014) Victor Pascual Avila [email protected] @victorpascual

description

webRTC Standards

Transcript of Workshop oracle

Page 1: Workshop oracle

WebRTC standards update (September 2014)

Victor  Pascual  Avila  [email protected]                @victorpascual    

Page 2: Workshop oracle

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: Workshop oracle

What is WebRTC?

A browser-embedded media engine

Page 4: Workshop oracle

(Media)

(Signaling)

(Signaling)

“Set or RTC APIs for Web Browsers”

“New protocol profile”

WebRTC standards

Page 5: Workshop oracle

- 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: Workshop oracle

RTCWeb WG

Page 7: Workshop oracle

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

WebRTC Doesn’t Define Signaling

Page 8: Workshop oracle

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 9: Workshop oracle

each deployment/vendor is implementing its own proprietary signaling mechanism

(1/3)

Page 10: Workshop oracle

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 11: Workshop oracle

WebRTC signaling and media is NOT compatible with existing VoIP/IMS

deployments – gateways are required to bridge the two worlds

(2/3)

Page 12: Workshop oracle

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

The Video Codec Battle

Page 13: Workshop oracle
Page 14: Workshop oracle

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 15: Workshop oracle

“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 16: Workshop oracle

iswebrtcreadyyet.com

Browser Support

Page 17: Workshop oracle

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 18: Workshop oracle

http://status.modern.ie/

Browser API

Page 19: Workshop oracle

http://status.modern.ie/

Browser API

Page 20: Workshop oracle

Browser API

Page 21: Workshop oracle

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

9/15/14   21  

Page 22: Workshop oracle

9/15/14   22  h>p://blog.webrtc.is/2014/07/01/google-­‐chrome-­‐38-­‐39-­‐to-­‐ship-­‐with-­‐ortc-­‐webrtc-­‐1-­‐1-­‐apis/  

Page 23: Workshop oracle

9/15/14   23  

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

Page 24: Workshop oracle

the WebRTC API can have different flavors

(3/3)

Page 25: Workshop oracle

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

WebRTC Access to IMS (r12)

Page 26: Workshop oracle

Adding New Wheels to IMS with WebRTC

Page 27: Workshop oracle

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

Page 28: Workshop oracle

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 29: Workshop oracle

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 30: Workshop oracle

“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 31: Workshop oracle

Alliance for Telecom Solutions

Page 32: Workshop oracle

“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 33: Workshop oracle

How does WebRTC relate to VoLTE and RCS?

GSMA

Page 34: Workshop oracle

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 35: Workshop oracle

Thank You!

Victor  Pascual  Avila  [email protected]                @victorpascual