WebRTC standards update (July 2014)
Victor Pascual Avila
Victor.pascual@quobis.com
@victorpascual
Amir Zmora
amzmora@gmail.com
@AmirZmora
Upperside WebRTC
Conference, Dec 16-18
7/15/2014 2
New WebRTC Blog
7/15/2014 3
New WebRTC Blog
7/15/2014 4
blog.uppersideconferences.com
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
WebRTC is…..?
Oetting
WebRTC is…..?
Oetting
WebRTC is…..?
• A media engine in the browser with JavaScript APIs
• Open Source, no royalties, license fees
• Real-time voice, video & data
• No plug-in
• Secured
• Standard interfaces
周小逸 Ian
- 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)
RTCWeb WG
Don’t panic, it’s not a bad thing!
WebRTC Doesn’t Define
Signaling
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
each deployment/vendor is implementing
its own proprietary signaling mechanism
(1/3)
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
WebRTC signaling and media is NOT
compatible with existing VoIP/IMS
deployments – gateways are required to
bridge the two worlds
(2/3)
Some discussion on the topic: http://webrtchacks.com/cisco-openh264/
The Video Codec Battle
Poll Question
Room participants: 30/50 in favor of H.264
Remote participants (minority): 75/25 in favor of VP8
→ No clear consensus
No decisionSome discussion on the topic: http://webrtchacks.com/ietf-finally-made-decision-
mandatory-implement-mti-video-codec-webrtc/
Result of The Discussion?
“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
iswebrtcreadyyet.com
Browser Support
Poll Question
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
http://status.modern.ie/
Browser API
http://status.modern.ie/
Browser API
Browser API
Plug-in free or free plug-in?
7/15/2014 29
the WebRTC API can have different flavors
(3/3)
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
WAFW4
W5
Reference Architecture
codec1
SRTP
IP IP
UDP
IP
UDP UDP UDP
IP
UE eIMS-AGW peer
SRTP RTP
codec1 codec2
RTP
codec2
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” covering both
Enterprises and Service Providers
“recommendations, Reference Architecture Documents,
Certifications, and/or White Papers”
SIP Forum WebRTC Task
Group
Alliance for Telecom Solutions
“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
How does WebRTC relate to VoLTE
and RCS?
GSMA
 each deployment/vendor is implementing its own
proprietary signaling mechanism
 WebRTC signaling and media is incompatible with
existing VoIP deployments – gateways are
required to bridge the two worlds
 the WebRTC API can have different flavors
Summary
Thank You!
Victor Pascual Avila
Victor.pascual@quobis.com
@victorpascual
Amir Zmora
amzmora@gmail.com
@AmirZmora

Upperside Webinar - WebRTC Standards Update

  • 1.
    WebRTC standards update(July 2014) Victor Pascual Avila Victor.pascual@quobis.com @victorpascual Amir Zmora amzmora@gmail.com @AmirZmora
  • 2.
  • 3.
  • 4.
    New WebRTC Blog 7/15/20144 blog.uppersideconferences.com
  • 5.
    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
  • 6.
  • 7.
  • 8.
    Oetting WebRTC is…..? • Amedia engine in the browser with JavaScript APIs • Open Source, no royalties, license fees • Real-time voice, video & data • No plug-in • Secured • Standard interfaces
  • 9.
  • 11.
    - 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)
  • 12.
  • 13.
    Don’t panic, it’snot a bad thing! WebRTC Doesn’t Define Signaling
  • 14.
    Some discussion onthe 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
  • 15.
    each deployment/vendor isimplementing its own proprietary signaling mechanism (1/3)
  • 16.
    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
  • 17.
    WebRTC signaling andmedia is NOT compatible with existing VoIP/IMS deployments – gateways are required to bridge the two worlds (2/3)
  • 18.
    Some discussion onthe topic: http://webrtchacks.com/cisco-openh264/ The Video Codec Battle
  • 20.
  • 21.
    Room participants: 30/50in favor of H.264 Remote participants (minority): 75/25 in favor of VP8 → No clear consensus No decisionSome discussion on the topic: http://webrtchacks.com/ietf-finally-made-decision- mandatory-implement-mti-video-codec-webrtc/ Result of The Discussion?
  • 22.
    “The mission ofthe 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
  • 23.
  • 24.
  • 25.
    Some discussion onthe 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
  • 26.
  • 27.
  • 28.
  • 29.
    Plug-in free orfree plug-in? 7/15/2014 29
  • 30.
    the WebRTC APIcan have different flavors (3/3)
  • 31.
  • 32.
    Adding New Wheelsto IMS with WebRTC
  • 33.
    3GPP TS 23.228V12.5.0 (2014-06)
  • 34.
  • 35.
    codec1 SRTP IP IP UDP IP UDP UDPUDP IP UE eIMS-AGW peer SRTP RTP codec1 codec2 RTP codec2 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
  • 36.
    “the initial focusof the Task Group is to determine what the needs are for successful interoperability of WebRTC-to-SIP deployments” covering both Enterprises and Service Providers “recommendations, Reference Architecture Documents, Certifications, and/or White Papers” SIP Forum WebRTC Task Group
  • 37.
  • 38.
    “focuses on interoperabilityissues 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
  • 39.
    How does WebRTCrelate to VoLTE and RCS? GSMA
  • 40.
     each deployment/vendoris implementing its own proprietary signaling mechanism  WebRTC signaling and media is incompatible with existing VoIP deployments – gateways are required to bridge the two worlds  the WebRTC API can have different flavors Summary
  • 41.
    Thank You! Victor PascualAvila Victor.pascual@quobis.com @victorpascual Amir Zmora amzmora@gmail.com @AmirZmora