real-time communications at internet speed
TRANSCRIPT
© 2015 IBM Corporation
WebRTC: Real-Time Communications at Internet Speed
Brian Pulito IBM WebSphere Architectemail: [email protected]: @brianpulitolinkedin: brianpulito
2
What if real-time communications was born on the web?
• Would context be the driver for real-time interactions?• Would telephone numbers be less important than context?• Would most web and mobile apps be enabled with real-time?• Would companies interact differently with their customers?
Pleased to meet you!
With WebRTC we’re about to find out!
3
What is WebRTC?
Why is WebRTC so disruptive? Eliminates complexity of delivering codecs and streaming protocols. Closely aligned with HTML 5, programmed via JavaScript. Enables real-time data communications in addition to voice and video. Strong industry support. Enables contextual communications!
WebRTC offers web application developers the ability to write rich, realtime multimedia applications on the web, without requiring plugins, downloads or installs. (source www.webrtc.org)
3
What does the WebRTC Market look like?
5
WebRTC developer statistics
Is WebRTC ready yet?
Source: http://iswebrtcreadyyet.com/
6
- Cisco announces OpenH264 (Oct. 30th, 2013)
- Microsoft announces WebRTC and ORTC support (Oct. 27th, 2014)
- Apple implements features of GetUserMedia and MediaStreams in the mac ports of webkits(Aug. 15th, 2015)
- Microsoft announces VP9 support in Edge (Sept. 8th, 2015)
NEWS
Supported Mobile Platforms
Source: http://www.webrtc.org
7
The problem with WebRTC today is…
Source: http://webrtcstats.com/
8
What is context relative to WebRTC?
A. Data derived from a customer’s interaction with a web site?B. Data contained in a mobile application?C. Information derived from real-time streaming analytics?D. Sensor data from an IoT device?E. All of the above?
Context is being combined with WebRTC to:• To define who should be communicating• To trigger the real-time interaction• To provide subject matter for the real-time interaction• To provide real-time feedback on what is being communicated
9
Low effort interactions drive loyalty
Customer loyalty correlates directly to the amount of effort a customer experiences when interacting with support services.
Contact Center: Loyalty Vs. Satisfaction
0%
20%
40%
60%
80%
100%
Low Effort High Effort
Loyalty
0%5%
10%15%20%25%30%
Satisfied-Plan to Leave
Not Satisfied -
Plan to Stay
Satisfaction
Corporate Executive Board, 2008
Source: WebRTC Strategies: Interaction Experience 2.0
10
A typical web engagement…
Customer goes to a web site to research a product, use a service, etc.
A question requiring a support engagement comes up.
Customer leaves web site to contact support agent via telephone (if they can find a phone # to call).
Frustration ensues…
1
2
3
4
11
A better web engagement…
A question requiring a support engagement comes up.
Customer clicks a help button located on the page being viewed.
Customer is connected directly to an agent with the proper skill and context to quickly answer the question…
Help!
2
3
4
Customer goes to a web site to research a product, use a service, etc.
1
Signaling Server(routing, context, etc.)
Use Case 1: Remote Healthcare
https://github.com/WASdev/sample.rtcomm.healthcarehttp://rtcomm-healthcare.wasdev.developer.ibm.com
12
media plane (RTP, SRTP, DTLS, ICE)
signaling plane (SIP, MQTT/Rtcomm, XMPP, WebSockets)
Browser or mobile app Browser
Use Case 2: WebRTC Enterprise Team Rooms
A large enterprise wants to deploy a system enabling both on premises and remote employees to easily communicate with each other in the context of team rooms.
Solution:• Deploy WebSphere with the new Rtcomm feature on the corporate intranet.• Deploy STUN/TURN server in the DMZ• Use Rtcomm SDK for development of web and mobile app integration with WebRTC
13
Internet Intranet
External Mobile Clients
STUN/TURN/ICE
Signaling Application
Server
InternalWeb
Clients
WebRTC signalingWebRTC media
DMZ
External Web
ClientsReverse Proxy
Internal iPad
Clients
External Web
Clients
Internal iPad
Clients
14
Use Case 3: WebRTC-to-SIP Contact Center
Large enterprise wants to extend existing SIP based call center to support web and mobile app users. This company also wants to improve support by taking advantage of the context collected within their web and mobile applications.
• Problem:• Competitors deploying A/V capabilities in their web and mobile apps to improve
customer support.• Company needs to leverage existing developer skills.
• Solution:• Deploy Rtcomm WebRTC gateway to connect web and mobile clients into an existing
SIP based contact center.• Introduce development team to Rtcomm SDKs
DMZInternet Enterprise Network
WebRTC Clients
STUN/TURN/ICE
Reverse ProxyRtcomm
(WebRTC) Gateway
Media Server
JSR 309SIP Contact
Center / IMS Core
15
Media Server as a ServiceTranscoding, mixing, recording, replaying, IVR….
SIP
Mobile Notifications
A/VAnalysis
Push
Surveillance NetworkSBC/SIP
Gateway
Carrier Network
IMS
Real-time A/V
SignalsAPIs
Enterprise PBX
SIP
SIP
• Connect WebRTC clients with different A/V and RTC networks
• Use media server to record, mix media streams, play announcements….
• Use analytics to provide context:• Customer insights• Sentiment analysis• Video analysis• Text-to-speech
Use Case 4: WebRTC Analytic Solutions
WebRTCGateway/App Server
Analytics
http://bit.ly/1FL8A8zSee demo here:
Use Case 5: WebRTC and IoT
IoT embedded sensor triggers a 3rd party video connection between a camera and a supervisor.
WebRTC Middleware
3PCCservice
1
2
3
17
WebRTC Under The Hood
• Codecs: Voice: Opus, G.711, G.722, iLBC, and iSAC; Video VP8• STUN + TURN + ICE• Echo Cancelation• A/V Capture• Peer-to-peer data channels
18
WebRTC Codec Wars• H.264: is a video coding format that is currently one of the most commonly
used formats for the recording, compression, and distribution of video content.• MPEG LA provides license pools for H.264. They represent 31+ different
companies that hold H.264 patents including Apple, Cisco and Microsoft.• VP8 is a video compression format owned by Google and created by On2
Technologies as a successor to VP7 • Google has irrevocably released all of the VP8 patents it owns under a royalty-
free public license.
19
Signaling for WebRTC
• Signaling is needed to exchange details to setup the call• Supported codecs, media address/ports, ICE candidates, etc.
• Many choices for signaling:• Session Initiation Protocol (SIP)• XMPP / Jingle• MQ Telemetry Transport (MQTT) / Rtcomm
• Signaling transport protocols:• Web apps typically rely on WebSockets• Mobile apps on TCP/SSL/TLS
• SIP for federation unless a WebRTC island is good enough• WebRTC Gateways typically used to transcode signaling
WebRTC does not define the signaling plane. It only defines a model for sending and receiving media and a set of protocols for traversing firewalls.
20
ICE-STUN-TURN
Source: http://www.html5rocks.com/
• WebRTC apps use ICE to overcome the complexities of real-world networking.
• A STUN server is used to get an external network address.• TURN servers are used to relay traffic if direct (peer to peer) connection fails.
June 3, 2013
WebRTC Security
Signaling Server
Browser
Call Server
IdP1 IdP 2
https
Browser
httpshttpshttp
s
DTLS-SRTPMedia Stream
Assertion AssertionVerification
Note: This slide is a reimaging of Figure 3 in http://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-06
22
WebRTC Backend Media Processing• Media Resource Functions (MRF) provide server-side media
processing for.
Source: Dialogic
Multi-party mixing InterworkingTranscoding
Stream processing Person-to-machineRecording
Media Server Use Cases
23
WebRTC Reference Topology
CoturnOpen Source
STUN/TURN Server
Dialogic XMS Media Server
(Transcoding, Multiway, Record/Playback)
WebSphere Liberty
(Rtcomm Gateway, JSR 289 SIP Servlets)
HTML5
Web Browser
JavaScript Applications
WebRTC SDK
HTTP + WebSocket
Reverse Proxy
STUN/TURN Server
(Coturn)
Signaling Gateway,
App Server. Message Broker(JSR 289 SIP Servlets )
Media Processing Server
DMZ
SIP Services / IMS Core
Media + ICE
JSR 309
Internet Intranet
SIP
Media + ICE
Media
+ ICE
Media Relay
HTTP/REST
Signaling over WebSockets
HTTP/REST
WebRTC Gateway + Services
Signaling over WebSockets
24
Media Server Control API (JSR 309)
The Media Server Control API is intended to provide multimedia application developers with a generic Media Server (MS) abstraction interface. It defines both a programming model and an object model for MS control independent of MS control protocols. (Source: JSR 309 Specification)
Demos using media server:• JetStream: http://bit.ly/1KFoh8J• Watson Guard: http://bit.ly/1Oe5jpb
Application
MediaGroup(IVR functions,
record, playback…
Media Servers
Media Mixer
Media composition (JSR 309)
Network Connection (SDPs)
SIPMQTTHTTP
RTPSRTPDTLSICE
25
WebRTC from a Call Service Providers centric perspective
Source: http://www.moneyisnotimportant.com/
Call Service Providers are seeing their core business erode as operating costs increase due to Over The Top (OTT) service providers.
OTT services increase bandwidth demands on network operators.
Operational costs escalate to keep up with OTT services.
Core voice and data services are becoming commoditized.
Operators are being cut out ofOTT revenue chains.
76% of Telecom CEOs consider over the top service providers as their greatest competitive threat (source MobileSquared’s)
NetworkOperator
LTE is accelerating OTT threat to network operator core businesses
Carriers will have to compete with OTTs based on cost and features.
• LTE is a gateway to OTT rich media communication services • OTT rich media services are delivered across open packet switched networks.
Messenger
LTE, an abbreviation for Long-Term Evolution, commonly marketed as 4G LTE, is a standard for wireless communication of high-speed data for mobile phones and data terminals. Source Wikipedia
Voice Over LTE (VoLTE) is leveling the playing field between carriers and OTTs.
• Voice just another app that relies on the LTE pipe.• No dedicated circuit switched telephony channel.• Built on IMS which utilizes SIP for call signaling.
Operators that launch LTE with voice support (VoLTE) can expect twice as much average revenue per user (ARPU) as rivals that offer LTE as a data-only service, according to a recent study by Heavy Reading and Wireless 20/20.
VoLTE enables new OTT type services while maintaining critical legacy capabilities!
29
VoLTE and IMS are only part of the solution
• Network operators faced with these realities:• Phone calls are becoming less popular (and useful)• Good quality is NOT always critical• Interoperability only essential for lowest-common denominator
services• Intention/outcomes are more important than minutes/messages.• Strong need for personalisation and contextualisation capabilities
Source Info: Disruptive Analysis & Martin Geddes Consulting
Operators need new demand-driven service models!
30
WebRTC from a web and mobile centric perspective
31
Real-Time Communications (RTC) getting “app stored”
• RTC is becoming “hyper” personalized• No two users have the exact same need• RTC being embedded with the context
Source Info: Disruptive Analysis & Martin Geddes Consulting
Reduced focus on ubiquity = Accelerated innovation
• Elimination of codec licenses liberating dev• RTC exposes to 9 million JavaScript developers
32
A real-time communications revolution is happening today!
Many companies are integrating WebRTC into their mission critical web and mobile applications today
Messenger
33
WebRTC and Open Source• WebRTC
• www.webrtc.org • PhoneRTC (WebRTC Cordova Plugin)
• http://phonertc.io/ • WebRTC Gateway
• http://webrtc2sip.org/ • JavaScript SIP over Web Sockets stack
• http://sipml5.org/ • Coturn (STUN/TURN Server)
• https://github.com/coturn/coturn • WebRTC/SIP App Servers (SIP Servlets, WebRTC GW)
• www.wasdev.net• http://www.mobicents.org/
• Rtcomm (web and mobile SDKs): • www.wasdev.net/webrtc
• Mosquitto (MQTT Broker): • http://mosquitto.org/
• Paho MQTT client• http://www.eclipse.org/paho/
34
angular-rtcomm landing page: Get started now!
Three options for developers:1. Test widgets directly on the landing page.2. Build your own angular applications using
provided backend.3. Build your own sandbox with Liberty using
provided MQTT broker.
http://angular-rtcomm.wasdev.developer.ibm.com
The angular-rtcomm landing page is an interactive AngularJS web application for demonstrating the angular-rtcomm module.
35
Rtcomm, Node.js and Node-RED
Node.js Module for Rtcomm• Support 3PCC and MonitoringNode-RED: • A visual tool for wiring the Internet of Things like:• MQTT enabled devices, MongoDB, Twitter, and much more!Rtcomm Node-RED Nodes• Third-Party Call Control• Session monitoring• Presence monitoring
https://github.com/WASdev/lib.rtcomm.nodehttps://github.com/WASdev/lib.rtcomm.node-red
npm install node-red-contrib-rtcomm
npm install rtcomm
36
Conclusion: WebRTC is for real!
• Most major browser vendors have publically committed or shown signs of commitment to WebRTC!
• WebRTC is in wide spread production use today!• Its supported on the two major mobile platforms today!• Standards for WebRTC are nearing maturity!
So start your own WebRTC project today!
Go Cats!
37