WebRTC standards update - November 2014

Preview:

DESCRIPTION

WebRTC standards update - November 2014

Citation preview

WebRTC standards update (November 2014)

Victor  Pascual  Avila  Victor.Pascual@quobis.com                @victorpascual    

Antón  Román  Portabales  Anton.Roman@quobis.com                @antonroman    

2  

3  

So here we are today…  

4  

@victorpascual    @antonroman    #sthlmwebrtc  

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 Victor

About  Anton • CTO  @  Quobis:  involved  in  first  industry  deployments  (on-­‐going  RFX’s,  PoCs  and  field  trials).  

• Background  in  SIP  and  IMS.  • GeVng  involved  in  IETF  acXviXes.  •  Involved  in  more  than  80  WebRTC  PoC  with  operators,  call  centers,  gateway  vendors  and  open  source  soluXons.  

• Reviewer  of  some  WebRTC  books  and  author  of  some  posts  at  webrtchacks.com    

6  

What is WebRTC?

A browser-embedded media engine

(Media)

(Signaling)

(Signaling)

“Set or RTC APIs for Web Browsers”

“New protocol profile”

WebRTC standards

- Audio codecs – G.711, Opus - Video codecs – H.264, 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)

RTCWeb WG

11  

12  

13  

14  

15  

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

WebRTC Doesn’t Define Signaling

17  

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

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

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

deployments – gateways are required to bridge the two worlds

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

The Video Codec Battle

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?

24  

25  

26  hap://blogs.cisco.com/collaboraXon/ciscos-­‐openh264-­‐now-­‐part-­‐of-­‐firefox/  

27  

28  

29  

30  

31  

32  

33  

34  

Photo  taken  by  Dan  York   35  

Fresh  News!  (from  last  night  -­‐-­‐  yup,  we  woke  up  at  3am)

36  

But…

37  

VP9  vs.  H.265  

38  

39  

“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

iswebrtcreadyyet.com

Browser Support

42  

43  

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  ?  

http://status.modern.ie/

Browser API

http://status.modern.ie/

Browser API

Browser API

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

48  

49  

50  

51  

52  

53  

54  

55  

hap://webrtchacks.com/ortc-­‐qa-­‐robin-­‐raymond/  

56  hap://blog.webrtc.is/2014/07/01/google-­‐chrome-­‐38-­‐39-­‐to-­‐ship-­‐with-­‐ortc-­‐webrtc-­‐1-­‐1-­‐apis/  

Well…  not  really  

57  

58  

ORTC editor

59  

WebRTC editor

11/17/14   60  

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

WebRTC Access to IMS (r12)

Adding New Wheels to IMS with WebRTC

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

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

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

“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

Alliance for Telecom Solutions

68  

“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

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

OMA

How does WebRTC relate to VoLTE and RCS?

GSMA

This  slide  might  be  outdated   72  

This  slide  might  be  outdated   73  

74  

75  

hap://www.gsma.com/newsroom/wp-­‐content/uploads//WebRTC-­‐Whitepaper-­‐v13.pdf  

76  

Thank You!

Victor  Pascual  Avila  Victor.Pascual@quobis.com                @victorpascual    

Antón  Román  Portabales  Anton.Roman@quobis.com                @antonroman    

Recommended