webrtc tutorial by dean bubley of disruptive analysis & tim panton of westhawk ltd
DESCRIPTION
Tutorial on WebRTC technologies, standards, use-cases and business models. First given at the ICIN conference in Venice, October 2013. By Dean Bubley, analyst at Disruptive Analysis, and Tim Panton, WebRTC developer at Westhawk LtdTRANSCRIPT
Tutorial: WebRTC
Tim Panton, Westhawk (ex-Tropo)
Dean Bubley, Disruptive Analysis
Originally Delivered at ICIN, Venice, October 14th 2013
[email protected] @disruptivedean
[email protected] @steely_glint
Agenda for today
15.30 Introduction & background for WebRTC (DB)
15:50 WebRTC Technical Aspects & Standards (TP)
16:30 Q&A
16:45 Comfort Break
17:00 WebRTC Business issues & industry structure (DB)
17:20 WebRTC Integration for Telcos (TP)
18:00 Recommendations & action points (DB)
18:15 Q&A
18:30 Close & drinks
Copyright Disruptive Analysis Ltd 2013 October 2013
OVERVIEW OF WEBRTC:
CONCEPT & KEY BENEFITS (& SOME PROVOCATIONS)
Copyright Disruptive Analysis Ltd 2013 October 2013
About Disruptive Analysis
London-based analyst house & strategic consulting firm
Cross-silo, contrarian, visionary, independent
Advisor to telcos, vendors, regulators & investors
Covering VoIP since 1997 & 3G/4G mVoIP since 2007
Covering WebRTC since mid-2011
Published report on “Telco-OTT Strategies”, Feb 2012
Report & updates on WebRTC, from Feb 2013
Workshops on Future of Voice & TelcoOTT
Twitter @disruptivedean Blog: disruptivewireless.blogspot.com
Copyright Disruptive Analysis Ltd 2013 October 2013
Copyright Disruptive Analysis Ltd 2013 October 2013
For WebRTC report & quarterly
update details email
Remember these?
Copyright Disruptive Analysis Ltd 2013 October 2013
Design & software simpler via the Web
Copyright Disruptive Analysis Ltd 2013 October 2013
Benefits of WebRTC
Democratises voice & video in websites & apps
Add context to communications & vice-versa
Cheap / easy / open-source components
Advocacy from Google, major vendors, telcos, IETF,
W3C etc
Enterprises & telcos can extend comms over the Internet
Real momentum & enthusiasm
No predefined signalling
Growing ecosystem even pre-standardisation
Realtime data even more disruptive
Copyright Disruptive Analysis Ltd 2013 October 2013
WebRTC = disruptive service innovation
Copyright Disruptive Analysis Ltd 2013 October 2013
Source: Disruptive Analysis WebRTC Strategy Report, Feb 2013 & Q2 Update August 2013
Definitions & methodology in report - See disruptivewireless.blogspot.com for details
Device base supporting WebRTC growing Zero4bn in 4 years
Mil
lio
n
Voice ≠ Telephony
Copyright Disruptive Analysis Ltd 2013 October 2013
• Now: 2G & 3G • Future: Smartphones & LTE
Voice
Telephony
Voice
Telephony
Video, context, sense Video
Gaming, CEBP,
surveillance, social
voice, TV voice etc
Voicemail
Conferencing
PTT
Comms moving “in-context”
Service
e.g. SMS, Telephony Product
e.g. Viber, Uberconference
Feature
e.g. In-game chat
Function
Voice/video moving from service to function
Fragmenting voice/video comms models
Standalone calls
Non-call comms
Embedded app/web
calls
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Circuit IP
“Hegemony
of the
caller”
Better than
“being there”
Telephony aspires to be
“like being there”
“There”–
same place
and time
The role of video in communications
Video really needs to have a clear “purpose”
We will not default to “video everywhere”
Will be even more contextualised than voice & messaging
Different issues of ergonomics, social norms, behaviour
Very little desire for interruptive straight-to-video calls
Numerous niches for B2B, B2C, C2C
Skype calls between distant relatives / expats / diaspora
Customer service but need for extensive retraining of staff
Personal consulting eg doctors, therapists, trainers, interviewers
Need for interoperability unclear as often in-
context/in=app
Copyright Disruptive Analysis Ltd 2013 October 2013
Comforting myths
Copyright Disruptive Analysis Ltd 2013 October 2013
QoS is critical
Interoperability is essential
Minutes / messages = value
Uncomfortable reality
Copyright Disruptive Analysis Ltd 2013 October 2013
QoS is sometimes critical
Interoperability is essential
for lowest-common
denominator services only
Intention & outcomes = value
Intent & purpose....
Copyright Disruptive Analysis Ltd 2013 October 2013
Why do people make
phone calls, anyway?
WEBRTC STANDARDS
AND UNDERPINNINGS
Tim Panton, Westhawk Ltd - @steely_glint
What is webRTC?
Haven’t used webRTC
Your laptop is on wifi
Have Chrome/firefox
Browse to:
http://phono.com – click ‘call’
What did we just do?
Placed a video call with no plugins
zero config
just by browsing to a site
encrypted
free
over local wifi
WebRTC Definition
Realtime
voice / video /data
browser based
no plugins
secure
interoperable
Standards
IETF
W3C
Loosely based on pre-existing standards
$100s Millions of IPR - donated
Google, Cisco, Mozilla, Skype, Tropo, ATT,
E///, Lucent etc.
HTTP(s) signaling via webserver
Peer to Peer media between Browsers
Big Picture
The IETF has responsibility for the wire
protocols in RTCWeb
Protocol standards (IETF)
Signaling Standards
None! It is up to the javascript in the
browser to do what ever is needed.
Media Standards (RIA 2.0)
Many! STUN
ICE
TURN
DTLS
SRTP
RTCP
OPUS
ULAW
Why so many?
The network environment of a web browser is not the same as a desk phone.
Security – hostile lans (coffee shops/hotels)
Variablity – home networks, wifi/3g
Programability – Javascript is dynamically loadable
This stack of media standards addresses the differences.
ICE sends multiple STUN packets down all possible interfaces to try and
find a path. First Bi-directional route found is used.
STUN and ICE address NAT
NAT NAT
A TURN server in the cloud acts as a packet reflector
Many Telco 3g networks isolate users from each other.
TURN is for when ICE fails to find a viable path
NAT NAT
TURN
If additional services are required – recording, conferences, PSTN interop
etc. then bridging via a media server may be required.
Bridging via a media server.
NAT NAT
MS
DTLS
DTLS is the UDP version of TLS (as used in
https etc)
It serves 2 purposes in the WebRTC
Exchange keys used by the SRTP media
encryption
Carry the data channel streams
Demo – sharefest.me
Data channel provides Peer 2 Peer data between browsers.
It can be used for file transfer, game moves etc.
It may also become important in M2M or IOT as a secure NAT friendly P2P protocol.
Demo show file transfer between 2 browsers by sharing a URL, but not through that server.
SRTP + RTCP
Encrypted version of the classic RTP protocol,
with the RTCP reporting mechanism.
Multiple media streams may be multiplexed over
the same pair of ports – still under discussion.
Standard Codecs
Audio OPUS
Wideband
Flexible, efficient, loss correcting
Expensive to transcode
ULAW
Narrowband PSTN codec High bandwidth
Poor in lossy/variable networks
Codecs - No video standard yet.
Video VP8
H264
Differences are largely commercial
and legal rather than technical, either
is plenty good enough.
These are the API’s offered to the javascript
programmer – aka ‘JSEP’
Standard APIs (W3c)
Javascript : getUserMedia()
navigator.webkitGetUserMedia({
'audio':true,
'video':true
},
function(stream) {
var url =webkitURL.createObjectURL(stream);
createPeer(stream);
},
function(error) {
});
Javascript : RTCPeerConnection
pc = new RTCPeerConnection(configuration,constraints);
pc.onicecandidate = function(evt) {
sendCandyToAlice(evt.candidate);
};
pc.onaddstream = function (event) {
var remotePlay = document.getElementById(”videoTag");
remotePlay.src = webkitURL.createObjectURL(event.stream);
};
pc.addStream(localStream);
pc.createOffer(
function(offer) {
pc.setLocalDescription(offer);
sendOfferToAlice(pc.localDescription.sdp);
},
null, constraints);
HTML : <Video> tag
Extended to accept a webRTC stream as a
source
Either a local or remote
See previous slides
Additional mute etc.
Javascript:RTCSessionDescription
function onMessageFromAlice(message){
var sd = new RTCSessionDescription(
{'sdp':message,'type':"answer”} );
pc.setRemoteDescription(sd,sessionOk,sessionFail);
}
Dissention with SDP as an API
SDP is emitted by pc.createOffer()
Complex SDP
May be manipulated to select
codecs/candidates…
Source of much complaint
Currently ill defined
May be replaced in 2.0 std
Other co-operating W3C APIs
WebGL
Can be used to apply effects to video
WebAudio
Can be used to apply effects to audio
Both will be able to be applied to local or remote
streams
Javascript libraries
Most web coders will use a library
JS Sip
ATT.js
Phono
OpenRTC
Demo – WebGL effects
Demo of WebGL doing realtime effects on a
webRTC video stream
WEBRTC BUSINESS ISSUES &
INDUSTRY STRUCTURE
Copyright Disruptive Analysis Ltd 2013 October 2013
WebRTC key use cases
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Browser-to-browser
(or web-app)
comms
Browser-to-Telco
VoIP / IMS
IMS
Browser-to-Telco
CS / PSTN
Browser-to-
webserver
Web
Browser-to-contact
centre
Browser/app
conferencing
Plus: M2M, gaming, TV-based, data-centric & various others
Browser-to-UC
or IP-PBX
Verticals
Healthcare
App/web-embedded RTC not new concept
Copyright Disruptive Analysis Ltd 2013 Oct 2013
• Expensive
• Inflexible
• Poor developer support
• Limited use-cases
• Reliance on “call” model
• Poor audio/video
• Hard to integrate
= Patchy adoption & little
developer enthusiasm / buzz
WebRTC has created the buzz & excitement
Democratised the idea of realtime voice/video/data
Easy elevator pitch
“It’s like Skype – but in the browser, with no plug-ins!”
“Three simple Javascript APIs – millions can use it!”
“It’s being evangelised by Google & all these other
guys!”
Mix of (fast) standardisation & “pragmatic proprietary”
Encourages experimentation with a very low bar
Usable at multiple levels of abstraction / effort /
commitment
Carries a sense of inevitability & scope for innovation
Copyright Disruptive Analysis Ltd 2013 Oct 2013
... although not quite as “easy as it looks” yet
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Signalling
“WebRTC isn’t a standard. It’s a movement”
Irony: problems making WebRTC stronger not weaker
“Hardcore” comms developers going “down to the metal”
Building around core RTCWeb protocols & media engine
Embedding WebRTC elements into desktop applications
Longer-tail developers being addressed by API/cloud
players
“Packaged” WebRTC capabilities like multiparty video
Abstraction to avoid risk from changing standards
APIs for iOS, Android apps
Next tier up of service platforms emerging too
Renewed interest in “realtime everywhere”
No “religion” about WebRTC “purity” – just get on with it!
Copyright Disruptive Analysis Ltd 2013 Oct 2013
(Quote from Tsahi Levent-Levi @tsahil)
WebRTC made easier via 3rd-party APIs
Copyright Disruptive Analysis Ltd 2013 Oct 2013
CU-RTC-Web?
3-way support for WebRTC now expanding
WebRTC
Enterprise
Telco Consumer Web
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Devices Network
tools
TV &
gaming
WebRTC rapidly expanding past “calls”
Copyright Disruptive Analysis Ltd 2013 Oct 2013
View Oct’13: lead WebRTC use-cases
Copyright Disruptive Analysis Ltd 2013 October 2013
Early enterprise adoption
• “Call me” buttons
• Contact centre
• First telehealth apps
Initial consumer web apps/devices
• Remote 1-1 education/training/sales
• Free standalone video-calling
• Chromecast
• Developer SDKs & APIs
Live &
commercial
• Vertical niche solutions (finance, health)
• Corporate conferencing
• Full enterprise UC
Pilots / pre-
commercial
Trials &
demos
• Telco core/IMS extension
• Entertainment & consumer electronics
• M2M, CDN & data-centric apps
What use-cases lead?
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Existing
web
services
Adding real-time
comms capabilities
Existing
realtime
comms
services
Extending via the web,
blending web
capabilities
?
Provisional WebRTC timeline (at Q1’2013)
2011 2012 2013 2014 2015 2016
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Chrome &
Opera
browsers start
supporting
WebRTC APIs
Chrome
supports
WebRTC in
stable channel
History Prediction
Firefox supports
WebRTC in stable
channel by default
1 billion WebRTC
capable devices 2 billion WebRTC
capable devices
3 billion WebRTC
capable devices
IETF working
group set up
Google, Cisco,
Skype, Mozilla
RTC-Web
workshop
Microsoft IE
supports WebRTC
or CU-RTC-Web
W3C final
draft
submitted
Google open-
sources GIPS IPR
Ericsson
WebRTC
demo at MWC
AT&T
announces
alpha WebRTC
APIs
Telefonica
acquires
TokBox
First operator-
branded WebRTC
/IMS apps emerge Native-WebRTC
smartphones gain
traction 1 billion individual
active WebRTC
users 1st WebRTC-primary
social/calling app goes
viral
Broad adoption of
WebRTC in massmarket
contact centres
User familiarity
with in-app
voice/video
User familiarity
with in-website
voice/video
Source: Disruptive Analysis WebRTC Strategy Report, Feb 2013
Assumptions - See disruptive-analysis.com for details
Various “flavours” of WebRTC gateway
Copyright Disruptive Analysis Ltd 2013 Oct 2013
IMS Internet WebRTC
Gateway
PSTN Internet WebRTC
Gateway
IP-PBX Internet WebRTC
Gateway
M2M Internet WebRTC
Gateway
-Signalling, eg SIP-over-WebSocket
- Voice/video/data media over SRTP
- STUN/ICE/TURN setup for firewalls
Varying functions & scale for gateways,
eg WebSockets, ICE, SIP/XMPP etc, API
exposure, transcoding, security etc
WebRTC gateways galore
WEBRTC INTEGRATION
OPTIONS
Tim Panton, Westhawk Ltd – @steely_glint
Demo – call a mobile
Demo calls my mobile from a browser
Not everyone wants to interop
Games
Dating sites
Whiteboards
OTT
Mayday
For these sites a home grown signaling protocol may be simplest/best.
(highest value apps will be in this class)
Problem statement
HTTP(S) transport
RIA 2.0 media
Encrypted
Opus
VP8 ?
SIP
RTP
Cleartext
Ulaw (729, amr?)
H263/4
WebRTC Carrier IMS
Unless and until those incompatibilities go
away.
Gateway needed ?
HTTP to SIP – SIP in the Browser
Use javascript to build SIP messages and
protocol
Wrap in HTTP (or Web-sockets)
Send to webserver
Webserver unwraps and forwards to IMS
SIP in the browser
Browser
JS SIP IMS
WebSocket
Server SIP in HTTP
UDP
SIP
Problems
You still have a gateway – albeit a thin one.
You have javascript injecting SIP messages
into IMS
The SDP isn’t compatible
The media isn’t compatible
What is Early media in a browser ?
You have your SIP credentials out on the
internet.
SBC
SIP in the browser with SBC
Browser
JS SIP IMS
WebSocket
Server SIP in HTTP
UDP
SIP UDP
SIP
DMZ
Remaining Problems
The media isn’t compatible
What is Early media in a browser ?
You have SIP credentials out on the internet.
SBC
SIP in the browser with SBC, Media
Gateway and Registration proxy
Browser
JS SIP IMS
WebSocket
Server SIP in HTTP
UDP
SIP UDP
SIP
DMZ
Media
GW RIA 2.0 RTP ulaw
Proxy
Reg
REST in the browser
Use web ‘RESTful’ commands
Sent from the browser
To a webRTC gateway
Gateway generates the SIP IMS needs
Gateway controls transcode resource
REST in the browser with
Gateway
Browser
app IMS
WebRTC
gateway REST/HTTP UDP
SIP
DMZ
Problems
Need to map from web Identity to SIP
Select a web identity provider
webRTC gateways don’t scale (yet)
No standard for REST messages
Home rolled protocol (may have holes)
XMPP in the browser with SBC
Browser
app IMS
WebRTC
gateway
XMPP/BOSH/
HTTP UDP
SIP
DMZ
Problems
Need to map from web Identity to SIP
Select a web identity provider
webRTC gateways don’t scale (yet)
More complex than necessary
Needless protocol mapping?
However
BOSH is tested
XMPP well defined and federates
WebRTC isn’t mobile first yet.
Did we forget mobile?
WebRTC on Mobile
Browser isn’t a natural interface
WebRTC codecs are heavy on battery
No native App friendly API (yet)
SIP (if used) not an efficient mobile protocol
Audio hardware on android variable
Both Chrome and firefox on Android support webRTC
Expect to see RIA 2.0 with native APIs
DTLS can carry a certificate – but which
one should be used?
Identity.
Multiple identities on the web
When I call from a webpage, which identity do I want to present?
E164 to the shop
Facebook Id to my fb friends
Anon to the game
Pseudo id to dating site
Do I ever want to present facebook ID to G+ users?
Demo
Phono using a Jira identity. (perhaps)
RECOMMENDATIONS & NEXT
STEPS FOR TELCO WEBRTC
Copyright Disruptive Analysis Ltd 2013 October 2013
Traditional telecom services: ugly outlook
Copyright Disruptive Analysis Ltd 2013 October 2013
Source: Model for STL Partners, developed
by Disruptive Analysis
Focus on broadband, bundling,
M2M, digital services & lower costs
/ better flexibility
For telcos, it’s all looking pretty grim anyway Downsides
Voice & SMS saturation & cannibalisation
Regulation & competitive impacts
Weak content & VAS propositions
Economic pressures
Ecosystem competition
Upsides
Connecting the last unconnected
Smartphones & data growth
Better segmentation & pricing
Innovative services & enablers
Embracing & exploiting fragmentation
Copyright Disruptive Analysis Ltd 2013 October 2013
Neuroscience explains reluctance to change
Predictable irrationality
Endowment effect
Optimism bias
Confirmation bias
Defence of belief systems
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Network/service coupling: historical accident
Copyright Disruptive Analysis Ltd 2013 October 2013
• Service = network
• Only 1 service
• Interop essential
What is “OTT”?
Any capability offered “over the top” of Public Internet
Can be service, application, feature or function,
decoupled from the underlying access network
Calling OTT a “threat” misses its inevitability
Overlooks 150+ examples of “Telco OTT” services
Copyright Disruptive Analysis Ltd 2013 October 2013
Buys time if done well
But perceived value will fall
Accounting questions
Needs regulatory OK
Starts unwinnable arms race
Admission of being “dumb”
Add value to bundles
May be revshare upside
QoS not monetisable
Needs developer skills
Likely conflict internally
Few telcos will succeed
Carrier strategies with/against OTT
Telco-OTT
Bundle/ enhance
Block / degrade / Charge
Partner
Copyright Disruptive Analysis Ltd 2013 October 2013
Also: Exit & allow customers to BYOVoice
For telcos WebRTC is a magnifier/catalyst
Copyright Disruptive Analysis Ltd 2013 Oct 2013
Now
With WebRTC
Bigger opportunities
Worse threats
Faster speed
What % of future value comes from 3GPP?
Copyright Disruptive Analysis Ltd 2013 October 2013
The Theory The Reality
Core ntwk
& legacy
voice
IMS,
eventuall
y
Corporate
UC
Cisco /
MS Lync
Video
conf
Bluejean
s / Vidyo
etc
Developer
APIs
Twillio /
Voxeo
• Various telco business units now disintermediating their own core network / platform
• Increasingly partnering with 3rd-party players for voice/video apps
• What % of future equipment/server need will reside in IMS/3GPP domain vs. 3rd party
equipment or cloud platforms?
VoLTE &
RCS
IMS as a
platform
Corporate
UC
Video
conf
Developers
Network
APIs
Consumer Business OTTs
Main WebRTC strategies for SPs?
Extend on-net services & IMS / SS7
Turbocharge Telco-OTT
apps
Sell packaged WebRTC
services to subscriber
Enhance developer platform
Strengthen enterprise &
verticals
Copyright Disruptive Analysis Ltd 2013 October 2013
Also: invest /
incubate
Improve own CRM
& systems
Maybe M2M,
devices etc
Conclusions
WebRTC is emerging very fast
Standards are still settling
Important to be “a part of the community”
Early experimentation is mandatory
Don’t confine WebRTC to IMS & Labs
Probably no more than 30% total WebRTC effort / resources
should go on IMS integration
Every unit in the telco with a website should be using it
Think about second-order problems now
Speed & design & purpose >> quality & evaluation
Copyright Disruptive Analysis Ltd 2013 October 2013
Copyright Disruptive Analysis Ltd 2013 October 2013
For WebRTC report & quarterly
update details email
www.disruptive-analysis.com
disruptivewireless.blogspot.com
@disruptivedean
Skype:disruptiveanalysis
Copyright Disruptive Analysis Ltd 2013 October 2013
www.westhawk.co.uk
@steely_glint