WebRTC in Telecom A Workshop
March 2014
Tsahi
Levent-Levi
About Me
• Too many years in the telecom industry. Mainly VoIP
• Developer, Product Manager, CTO
• Had my share of standardization and patents
• Write about WebRTC and other topics
• Published the WebRTC for Business People report
• Consulting
3/31/2014 2
Tsahi Levent-Levi
@tsahil
From Basics to Telco with WebRTC
1. What is (and isn’t) WebRTC History, specification, browsers and mobile
2. WebRTC vs VoIP How does WebRTC compare to other VoIP protocols?
3. The WebRTC Ecosystem Vendor types, trends and use cases
4. Telecom and WebRTC IMS, RCS and the real opportunities
5. Open Discussion and Q&A
3/31/2014 3
What is (and isn’t WebRTC)
1. What is WebRTC?
2. History of WebRTC
3. The WebRTC Specification
4. Browser support
5. Mobile and WebRTC
3/31/2014 4
What is WebRTC? What is (and isn’t) WebRTC?
3/31/2014 5
3/31/2014 6
WebRTC offers real time communication natively from a web browser WebRTC is a media engine with JavaScript APIs
3/31/2014 7
WebRTC is a Technology
not a Solution TheBusyBrain
How are Calls Made with WebRTC?
3/31/2014 8
1 2
3 4
5
WebRTC Architectures: Triangle
9
Media
Signaling
WebRTC Architectures: Trapezoid
10
Media
Federation
Signaling
Key Features
• MediaStreams – access to the user’s camera and mic
• PeerConnection – easy audio/video calls
• DataChannels – p2p application data transfer
11
What does it provide?
• Real-time
• Voice, video and data
• Browser based
• No plugins
• Secured
• Interoperable (between browsers)
12
So What?
3/31/2014 13
No Plugins No Downloads No Installations No App Store
No Signaling Free (as in BSD) No Patents No Media Eng.
Why all the fuss?
3/31/2014 14
History of WebRTC What is (and isn’t) WebRTC?
3/31/2014 15
On2 & GIPS Acquisitions
Assets Customers Google’s Target
On2 Feb 2010 VPx video codecs Adobe WebM
GIPS May 2010 iLBC, iSAC voice codecs Voice Engine Video Engine
Skype, Google, Yahoo, Avaya, …
WebRTC
16
The (short) History of WebRTC
3/31/2014 17
The Future?
18
The WebRTC Specification What is (and isn’t) WebRTC?
3/31/2014 19
Standardization
• IETF – “network”
• W3C – “api”
• Based on existing standards
• Large vendors involved: Google, Cisco, Mozilla, Microsoft, AT&T, Ericsson, etc.
20
Main IETF Documents
21
Document Title Reference
Overview Overview: Real Time Protocols for Brower-based Applications
draft-ietf-rtcweb-overview
Use cases and requirements
Web Real-Time Communication Use-cases and Requirements
draft-ietf-rtcweb-use-cases-and-requirements
RTP usage Web Real-Time Communication (WebRTC): Media Transport and Use of RTP
draft-ietf-rtcweb-rtp-usage
Security architecture
WebRTC Security Architecture draft-ietf-rtcweb-security-arch
Threat model Security Considerations for WebRTC draft-ietf-rtcweb-security
Data channel RTCWeb Data Channels draft-ietf-rtcweb-data-channel
JSEP Javascript Session Establishment Protocol draft-ietf-rtcweb-jsep
Audio WebRTC Audio Codec and Processing Requirements
draft-ietf-rtcweb-audio
Quality of service DSCP and other packet markings for RTCWeb QoS
draft-dhesikan-tsvwg-rtcweb-qos-02
WebRTC Protocol Stack
22
Transport
• Media transport based on SRTP
• No RTP at all – only encrypted media
• “Latest and greatest” of RTP got mandated • AVPF
• Multiplexing
• Etc.
3/31/2014 23
Media
• No Mandatory To Implement (MTI) video codec yet
3/31/2014 24
Codec Use Specification
G.711 Narrow band, selected for PSTN and VoIP interworking
RFC 3551
Opus New flexible audio codec. Narrow to wideband support; Support for Speech & Music
RFC 6716
DTMF Telephone events RFC 4733
VP8 Google’s open source codec RFC 6386
H.264 Video codec (MPEG-LA licensing)
RFC 6184
NAT traversal
• “Almost” like SIP • STUN – Enables announcing your public IP addresses
during the negotiation phase of a session
• TURN – Relays all media via a TURN server that is visible to all parties in the session
• ICE – Decide on the best solution to send media (direct, STUN or TURN)
• Trickle ICE – Speed up the process of the ICE protocol by parallelizing its handling of candidates
• New specification, implemented in WebRTC
• Slowly trickling into SIP and XMPP
3/31/2014 25
Browser support What is (and isn’t) WebRTC?
3/31/2014 26
Where?
1.2 Billion
Enabled devices
27
Solving Browser Support
1. Ignore • Offer the service on supporting browsers only • Either don’t show WebRTC capabilities or block un supporting browsers • Videodesk.com isn’t showing the capabilities • popexperts blocks such browsers from access to the actual service
2. Plugin • Build a plugin for non-supporting browsers • AddLive and Weemo do that
3. Downgrade to “Flash” • Use Flash where WebRTC doesn’t work (and have interoperability
headaches) • Requestec and Apidaze took this route
4. Don’t use WebRTC at all
28
Mobile and WebRTC What is (and isn’t) WebRTC?
3/31/2014 29
Mobile is Tricky
3/31/2014 30
Mobile is Tricky
3/31/2014 31
• People don’t install a browser on their phones
• People use apps to access communications features
• WebRTC isn’t really available on mobile
Progress in Mobile
• Android KitKat • Migration towards Chrome-based WebView
• In 2014 • WebRTC in WebView (Android)
• Opus 1.1
• Echo cancellation optimizations (Android)
• Better bandwidth estimation
• Video for iOS devices
3/31/2014 32
4 Routes to Mobile
1. Ignore mobile
2. Only on supported browsers
3. Port and pack in an app
4. Wait
3/31/2014 33
WebRTC vs VoIP
1. Anatomy of a VoIP solution
2. SIP versus WebRTC
3. XMPP or SIP signaling for WebRTC?
4. Interoperability with legacy VoIP deployments
3/31/2014 34
Anatomy of a VoIP solution WebRTC vs VoIP
3/31/2014 35
The Anatomy of a VoIP Solution
3/31/2014 36
Infrastructure
Signaling
Media Processing
Codecs
Source:
Boundaries of WebRTC
3/31/2014 37
Infrastructure
Signaling
Media Processing
Codecs
Source:
SIP versus WebRTC WebRTC vs VoIP
3/31/2014 38
But What about SIP (and IMS)?
3/31/2014 39
Protocol WebRTC SIP
Market Websites and web apps Voice and IMS
deployments
Media SRTP RTP or SRTP
NAT traversal STUN, TURN, ICE STUN, TURN, ICE
Media negotiation SDP SDP
Voice codecs G.711, Opus G.711, G.7xx, AMR-xx,
Speex, SILK, Opus, …
Video codecs VP8 H.263, H.264
API Java Script Unspecified
APIs or Interoperability?
3/31/2014 40
Software Professionals
Academia
Hobbyists & Enthusiasts
Mobile Developers
Device Manufacturers
Infrastructure Vendors
WebRTC Traditional VoIP
A Change in Mindset
Brain: How are going to get the Earth to lose weight?
Pinky: I know! We can get everyone to go on a diet!
Brain: Diets don't work.
Pinky: Not even if you call them 'A Whole New Way of Eating?‘
Brain: No.
3/31/2014 41
Interoperability
• All products use the same network interface
• Targeted at 100’s of vendors
• Requires much IOT testing
API
• All developers use the same programming interface
• Targeted at building a developer ecosystem
• Built on a small set of base implementations
• Each vendor has his own island of a service
42
API versus Interoperability
XMPP or SIP signaling for WebRTC? WebRTC vs VoIP
3/31/2014 43
3/31/2014 44
Signaling Options in WebRTC
45
Technique Advantages Server Side Requirements
WebSocket No signaling infrastructure required
WebSocket server with proprietary protocol implementation
XHR No signaling infrastructure required
Web server with proprietary protocol implementation
SIP over WebSocket Easy path to SIP interoperability (and PSTN connectivity)
SIP Registrar/Proxy server with support of SIP over WebSocket
XMPP/Jingle Easy interoperability with XMPP clients
XMPP server with support of XMPP WebSocket transport
Data Channel Low latency signaling and improved privacy
WebSocket or web server with proprietary implementation to establish the Data Channel
SIP over WebSockets
• RFC 7118 – Fresh from the oven
• Nothing to write home about. Think TCP (or UDP) and now replace with WebSocket
• Already existing implementations: • Server side
• Asterisk • FreeSWITCH
• Client side • jsSIP • sipML • …
46
WebSockets + Fallback
• WebSockets don’t always work • Not supported by all browsers
• Not all web proxies can handle them
• Web servers not always implement them
• Fallback to XHR/SSE/Flash/Whatever
• Best options in town: • Socket.IO (http://socket.io/)
• SockJS (http://sockjs.org)
47
Interoperability with legacy VoIP deployments
WebRTC vs VoIP
3/31/2014 48
3 Points of Entry to Our Networks
1. Put WebRTC in the MCU • Any video call from WebRTC into the enterprise goes
through the MCU
• Takes up ports, and doesn’t realize the power of WebRTC
2. Put WebRTC in the SBC • A gateway of sorts, but with “improved” security
• Still not using the power of WebRTC
• Also – WebRTC doesn’t have any real use for an SBC
3. Use a Gateway for WebRTC • Works, but still – not using the power of WebRTC
3/31/2014 49
3/31/2014 50
…
Gatewaying: Client Included
Gateway/SBC vendor offers the client side (SDK/Widget/Other)
3/31/2014 51
HTML5 Client
WebRTC
JS SIP / Other
SRTP
WebSocket
SIP / IMS
PSTN
GW
Gatewaying: Programmable
• Gateway vendor offers control API
• Customer build the client as he sees fit, interfacing with the gateway’s APIs from his own web server
3/31/2014 52
My-service
HTML5 Client
WebRTC
?
SIP / IMS
PSTN
SRTP
GW
IMS and WebRTC
3/31/2014 53
3/31/2014 54
Back to WebRTC Architectures…
3/31/2014 55
Media
Signaling
Federation
Media
WebRTC Architectures
3/31/2014 56
Triangle or Trapezoid?
3/31/2014 57
Trapezoid = Federation
• Agreement on communications protocol
• Business agreement
3/31/2014 58
SIP, XMPP
Traditional Means of Communications
I use my service to call your service
3/31/2014 59
Carrier
A Carrier
B
Triangle
• Single service takes care of its own
• Federate via PSTN for monetization
3/31/2014 60
OTT
The “WebRTC Way” of Communicating
3/31/2014 61
I reach out to you at your URL
Carrier
A Carrier
B
3/31/2014 62
The Ecosystem
thewritingzone
Vendor Types in the Ecosystem
3/31/2014 63
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
Core: The Browser Vendors
3/31/2014 64
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
• Google & Mozilla
• But also Vidyo • Contributed SVC to the
WebRTC ecosystem
• & Cisco… • OpenH264 for WebRTC
• Microsoft & Apple missing • How does it affect WebRTC’s
future?
• How does it affect IE & Safari market share?
Tooling Vendors
3/31/2014 65
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
• Providing infrastructure and “shortcuts” for developers
• WebRTC API vendors: Tropo, AddLive, TokBox, OpenClove, …
• Services vendors: XirSys, PubNub, …
• Infrastructure vendors: GENBAND, Dialogic, …
• SDK vendors: Digium, Eyeball Networks, …
The “Vendors”
3/31/2014 66
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
• Providing services based on WebRTC
• Develop either directly on top of WebRTC or via tooling vendors
• Target the end users via a multitude of use cases
2nd Market
3/31/2014 67
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
• Vendors adopting other vendor’s end user solutions
• TNW Academy’s story
3/31/2014 68
2 nd Market
Vendors
Tooling
WebRTC Core
Repurpose
Repurposing WebRTC
• Reusing WebRTC’s components to fit in other places, treating it as a pure media engine
• Vonage – going mobile with an OTT app
• M5T – Client SDK for developers
Where are we Now?
3/31/2014 69
Shifts in the Ecosystem
3/31/2014 70
Customer-facingServices
ToolingVendors
Use Cases
3/31/2014 71
& Business
Models
Business Models in “Search Mode”
Subscription Unknown Deviceselling
Projectbased
Pay as yougo
None Freemium Licensing Revenuesharing
Support
Mar ‘14
Telecom and WebRTC
1. Possible routes Telcos can take
2. What vendors “sell” to carriers?
3. What are carriers doing?
3/31/2014 74
Possible routes Telcos can take Telecom and WebRTC
3/31/2014 75
3/31/2014 76
…
Possible Routes for Carriers with WebRTC
• Infrastructure Play
• APIs
• Enterprise Focus
• Internal Consumption
• CDN & Streaming
• IMS/RCS Extension
3/31/2014 77
Infrastructure Play
• STUN/TURN Hosting
• Multipoint Bridge
• Recording/Archiving Service
• Gateway
• Low Latency Network
• QoS
Work via partnerships
3/31/2014 78
uwehermann
APIs
• Many vendors on the market
• Different angles: languages, voice/video, API set, coverage, etc.
Partner a vendor
3/31/2014 79
Enterprise/SMB Focus
• Provide enterprise specific solutions
• WebEx-like • Drum
• …
Partner commercially
3/31/2014 80
• UC offering • TenHands
• vLine
• BlueJeans
• Vidtel
• …
Internal Consumption
• Remodel the contact center
• Enabling web dialing with context
• Enable app dialing with context
• Add video – a la Kindle Mayday button
Find a vendor/technology stack that fits
3/31/2014 81
CDN & Streaming
• Augment “broadcasting” requirements with a P2P technology
• Make use of WebRTC’s data channel
• Suitable for VOD, IPTV, CDN, Caching
• Multiple vendors in this domain
All early stage. Follow this domain to build a strategy
3/31/2014 82
IMS/RCS Extension
• Web-front to RCS
• Technology of an OTT play of a Telco
• Boring, but required – most NEPs here
Offer regardless of IMS/RCS deployment
3/31/2014 83
3/31/2014 84
We are here IMS
Service Provider
WebRTC
Shameless copy from Victor Pascual Avila
This is more
interesting
3GPP “Adopting” WebRTC
Just another access into the IMS network
3/31/2014 85
What vendors “sell” to carriers? Telecom and WebRTC
3/31/2014 86
3/31/2014 87
Ericsson
• Focus on IMS Gateway domain • AT&T Foundry deployment • Supports both voice and video (video not via AT&T
Foundry)
• Launched Bowser • The first WebRTC supporting mobile browser • Proof of concept of the possibility to run WebRTC
on mobile • Failure in adoption terms
3/31/2014 88
Alcatel Lucent
• Focus on IMS domain
• Push Telcos to offer web-based RCS clients by using WebRTC
• Showed a startup use case @WebRTC Conference (Atlanta)
• Vobi - Connecting the web to a telco IMS
3/31/2014 89
Huawei
• Two routes for WebRTC: • An announced IMS Gateway to WebRTC ALU
strategy
• Ongoing partnership with Tropo (Voxeo Labs) Telefonica strategy
3/31/2014 90
Oracle
• Acquired ACME Packet
• Has WebRTC SBC capabilities
• Launched an SBC @ Oracle OpenWorld • Working on integrating WebRTC into their core
offerings
3/31/2014 91
GENBAND
• Launched their own WebRTC Gateway (SPiDR)
• Pouring marketing/sales $$ into it & pushing towards Tier-1 SPs
• Acquired Fring – Israeli VoIP OTT • Plans on offering Telco OTT solutions
• In such a case, WebRTC becomes the desktop browser client
3/31/2014 92
What are carriers doing? Telecom and WebRTC
3/31/2014 93
Telcos & WebRTC
3/31/2014 94
“ Everyone talks about the weather, but no one does anything about it.
Mark Twain
Telefonica
• Acquired an API platform: TokBox
• Focus is on external innovation with no relation to Telefonica’s existing assets (yet)
About TokBox
• 33 developers on acquisition
• Below $50M acquisition
• $26M funding raised
• Focused on Video APIs (Flash & WebRTC)
• Left “independent” – for now
95
AT&T
• Plays with WebRTC in the San Jose Foundry (jointly with Ericsson)
• Platform based on Ericsson, Phono and lately &yet
• Makes the link between AT&T phone numbers to WebRTC calling capabilities
• See https://js.att.io/
96
CenturyLink
• Third largest telecom company in the US
• Started using WebRTC to deliver services directly to its customers
• Using it to reduce the reliance on Telecom vendors
• Viewing it as a way to “write once run anywhere”
• First commercial service to launch during H1 2014
97
Vonage
• Wanted to penetrate mobile & offer video
• Ported WebRTC to iOS & Android • Added SIP signaling
• Replaced voice codecs to meet their deployment
• Used VP8 as the video codec
• 1-5M downloads on Google Play
3/31/2014 98
• US Vendor
• Provides phone
service via broadband
connection
• 2.3M subscribers
• Unlimited calling to
over 60 countries
The Rest of the Pack
• Initiating hackathons around RCS… and WebRTC
• Thinking of what to do with it
• Playing in their CTO labs
• There are more opportunities in the carrier space than just IMS access
99
The Triangle of Tensions
3/31/2014 100
IMS
Wrap up
3/31/2014 101
1. What is (and isn’t) WebRTC History, specification, browsers and mobile
2. WebRTC vs VoIP How does WebRTC compare to other VoIP protocols?
3. The WebRTC Ecosystem Vendor types, trends and use cases
4. Telecom and WebRTC IMS, RCS and the real opportunities
5. Open Discussion and Q&A
Need More?
3/31/2014 102
Thank You!
Tsahi Levent-Levi
http://bloggeek.me
3/31/2014 103