Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC Workshop What is (and isn't WebRTC)
Stefano Gioia Master Principal Solution Specialist November 2014
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Stefano Gioia, Master Principal Solutions Architect, Oracle
2
1
2
3
4
Expert in Service Delivery Platforms
Focused on WebRTC in EMEA
Customer advocate on Sales team
SDP Lead at Oracle – API, SIP, IMS, LTE
SDP Lead at BEA – APIs, SIP, VoIP,
Based in Rome – Covers all of Europe
5
6
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
What is (and isn't WebRTC)
1
2
3
4
History of WebRTC
The WebRTC specification
Browser support
Mobile and WebRTC
VoIP versus WebRTC
Oracle Confidential – Internal/Restricted/Highly Restricted 3
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Once upon a time...
• Internet was without form and void. And dark.
• Publishing and finding content on the Internet was an ancient and dark matter, only know by powerful Jedi Master (aka geek)
• Suddenly everything changed
Oracle Confidential – Internal/Restricted/Highly Restricted 4
Pictures from http://evolutionofweb.appspot.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Forever
Oracle Confidential – Internal/Restricted/Highly Restricted 5
Pictures from http://evolutionofweb.appspot.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
There was a time...
• Where we use to see video by using plug-ins and external software
• Instant Messaging was delivered using the same concepts and Voice = Telephony
Oracle Confidential – Internal/Restricted/Highly Restricted 6
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
There was a time...
• Where we use to see video by using plug-ins and external software
• Instant Messaging was delivered using the same concepts and Voice = Telephony
• Suddenly everything changed
Oracle Confidential – Internal/Restricted/Highly Restricted 7
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC @ Glance
WebRTC offers real time communication natively from a web browser 61%
WebRTC capable browser * share, including Mobile, Tablet and desktop
API WebRTC is a “Media Engine” with javascript API
WebRTC is a technology, NOT a solution AND open source projects too
8 Oracle Confidential – Internal/Restricted/Highly Restricted
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
So, what is WebRTC - Technically Speaking? • Collaborative W3C and IETF standardization
• A built-in application program interface that enables browser-to-browser applications for:
– voice calling
– video chat
– peer to peer of any data
• Media engine in the browser, accessed by JavaScript, downloaded from web-server
• No defined signaling mechanism
• No MTI coded media
• WebRTC is a Standard Specification and an opensource project
Oracle Confidential – Internal/Restricted/Highly Restricted 9
WEB SERVER
(WEBRTC CONTROL
PEER CONNECTION
(AUDIO, VIDEO, DATA)
WEB SERVER
(WEBRTC CONTROL
PEER CONNECTION
(AUDIO, VIDEO, DATA) GATEWAY
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Where we are now?
Oracle Confidential – Internal/Restricted/Highly Restricted 10
Source: Crossing the chasm, by Geoffrey A. Moore
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Program Agenda
1
2
3
4
History of WebRTC
The WebRTC specification
Browser support
Mobile and WebRTC
VoIP versus WebRTC
Oracle Confidential – Internal/Restricted/Highly Restricted 11
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC Babel Standard & Engagement
12
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
The WebRTC Tree
13
IMS, LTE
VoIP
WWW
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Introduce webRTC & Standard
• Standardization by:
– W3C: Web Real-Time Communications Working Group, is to define client-side APIs to enable Real-Time Communications in Web browsers
– IETF: RTCWeb is taking care of the underlying protocols
• Browser side:
– WebRTC Initiative from Google (mozilla)
– CU-RTC-Web proposed and pushed by Microsoft
– Evolution to WebRTC 1.1 / ORTC promoted by Google, Microsoft and others
– OpenWebRTC release by Ericsson
14
Pictures from http://webrtchacks.com/signalling-options-for-webrtc-applications/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
I’m confused... What are we talking about? • WebRTC WG
– Mission: to define client-side APIs to enable Real-Time Communications in Web browsers
• WebRTC 1.0 Spec
– First Public Working Draft: 27 October 2011
– Last Call Working Draft: re-scheduled for Q4 2014
– Candidate Recommendation: initially scheduled for Q4 2012, but delayed probably until Q2 2015
• RTCWeb
– Mission: to specify a set of protocols that will allow an implementation to communicate with another implementation using audio, video and data sent along the most direct possible path between the participants.
• RTC Spec
– Define MTI AudioCodes OPUS and G.711
– Codes negotiated with SDP O/A
– MTI Security on DTSL/SRTP
– STUN/TURN/ICE
– Datachannel
• ORTC
– Mission: to define Object-centric APIs (client-side at first) to enable Real-Time Communications in Web browsers, Mobile endpoints and Servers.
– It is also a mandate that Object RTC be compatible with WebRTC.
– Original positioned as an alternative to WebRTC Spec
• ORTC Spec
– Community Group published the ORTC API Public Draft on August 20, 2014
15
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
And the Telco ....
• 3GPP Spec TS 23.228
– Specifies SIP over WebSockets as signalling between the UE to the network based
– SDP offer/answer exchange is the mechanism used for media plane feature negotiation.
– The architecture does not support media multiplexing that is defined
– Options other than SoWS, such as XMPP RESTful based interface, etc. are allowed but not described.
16
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
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Signalling – The Two Approach
SIP over WebSockets JSON/XMPP over WebSockets
17
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Why JSON, XMPP, * and not SIP?
• Much more easy
• There are more developers
• Language of the web
• And it’s natively supported by browser
• Drives more SIP into the network
18
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Great, ORTC as WebRTC 1.1
• The good
– ORTC positioned as successor of existing webRTC 1.0 API not as an alternative
– The first ORTC Public Draft Specification has been published, authored by Hookflash, Microsoft, and Google. This specification extends WebRTC 1.0
– No webRTC 1.0 implementation from MS and Apple
– OPUS, G7x codec will be implemented
• The bad
– At least 6-12 months to standard approvals and fruition
– H264 the supported codec, interoperability issue
– Adaption is required for existing application
19
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Program Agenda
1
2
3
4
History of WebRTC
The WebRTC specification
Browser support
Mobile and WebRTC
VoIP versus WebRTC
Oracle Confidential – Internal/Restricted/Highly Restricted 20
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC Browser Support: Desktop
21
Source from http://caniuse.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC Regional Browser Support: Desktop
63,05
98,59
48,93
48,46
51,88
76,65
50,75
0 10 20 30 40 50 60 70 80 90 100
Europe
Antarctica
Asia
North America
Oceania
South America
Africa
Support
Support
22
Source from http://caniuse.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
A new Sheriff in town
• August 20, 2014. Microsoft published a blog post publicly supporting the ORCT draft.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Audio & Video Codecs War
24
G.711, Opus
VP8, VP9
G.711, Opus
VP8, H.264
G.711, G.722, Opus
H.264
G.711, G.722, Opus
H.264, H.265
Source from http://iswebrtcreadyyet.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Program Agenda
1
2
3
4
History of WebRTC
The WebRTC specification
Browser support
Mobile and WebRTC
VoIP versus WebRTC
Oracle Confidential – Internal/Restricted/Highly Restricted 25
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
WebRTC Browser Support: Mobile
26
Source from http://caniuse.com/
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Consideration
• Lack of WebRTC Support
– SDK/library for Windows Phone and IOS devices
• Hardware support for Mobile Phone
– Software encoding & decoding will kill your battery for VP8
• New device will benefits from power processor
– Snapdragon 800 4
– nVidia Tegra 4
• Operators want more audio codecs to support LTE & Legacy interoperability
27
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Program Agenda
1
2
3
4
History of WebRTC
The WebRTC specification
Browser support
Mobile and WebRTC
VoIP versus WebRTC
Oracle Confidential – Internal/Restricted/Highly Restricted 28
5
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
VoIP and WebRTC Similarities & difference
• Use RTP and SDP Offer/Answer model
• Audio codec G.711
• Run over IP networks
• Transmission of communication datat between users in real time
29
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
So what I can do?
• Your SIP client or infrastructure actually...
– Use SIP or H.323 as signalling
– Use plain RTP rather than SRTP
– Don’t know anythign about STUN, ICE and ICE
– Use different codecs
– Use different identity mechanism
– Security SDES/DTLS
30
ignore? Built your own?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Maybe use a simple Gateways
• SIP over WebSocket Gateway
• Web API to SIP Gateway
• Media gateway
• X-Coding gateway
31
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
What we learned?
Different flavour of WebRTC
Media & Signalling are not compatible with existing operator’s network
WebRTC API is here, don’t wait to start building services
32
1
2
3
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |