Keeping Current Seminar for University of Kentucky - Abstract: What if real-time communications was born on the web? Would we use context instead of telephone numbers to initiate real-time interactions? Would quality and ubiquity be less important than flexibility and differentiation? WebRTC is changing the way people communicate in real-time. Whether it be Google Hangouts or a web startup, WebRTC is free, simple and coming to a web page near you. This discussion will focus on this emerging HTML5 standard, providing insights into how developers and businesses are using WebRTC to drive innovation in their Systems of Engagement.
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?
1
Pleased to
meet you!
With WebRTC we’re about to find out!
3. What is WebRTC?
2
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)
2
6. Is WebRTC ready yet?
Source: http://iswebrtcreadyyet.com/
5
- 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…
6
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?
7
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
8
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 HighEffort
Loyalty
0%
5%
10%
15%
20%
25%
30%
Satisfied-
Planto
Leave
Not
Satisfied -
Planto Stay
Satisfaction
CorporateExecutive Board, 2008
Source: WebRTC Strategies: Interaction Experience 2.0
10. A typical web engagement…
9
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…
10
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
12. Signaling Server
(routing, context, etc.)
Use Case 1: Remote Healthcare
https://github.com/WASdev/sample.rtcomm.healthcare
http://rtcomm-healthcare.wasdev.developer.ibm.com
11
media plane (RTP, SRTP, DTLS, ICE)
signaling plane (SIP, MQTT/Rtcomm, XMPP, WebSockets)
Browser or mobile app Browser
13. 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
12
Internet Intranet
External
Mobile
Clients
STUN/TURN/ICE
Signaling
Application
Server
Internal
Web
Clients
WebRTC signaling
WebRTC media
DMZ
External
Web
Clients
Reverse 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
13
DMZInternet Enterprise Network
WebRTC
Clients
STUN/TURN/ICE
Reverse Proxy
Rtcomm
(WebRTC)
Gateway
Media Server
JSR 309
SIP Contact
Center /
IMS Core
15. 14
Media Server as a Service
Transcoding, mixing,
recording, replaying, IVR….
SIP
Mobile
Notifications
A/V
Analysis
Surveillance
NetworkSBC/SIP
Gateway
Carrier Network
IMS
Real-time A/V
Signals
APIs
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
WebRTC
Gateway/
App Server
Analytics
http://bit.ly/1FL8A8zSee demo here:
16. Use Case 5: WebRTC and IoT
IoT embedded sensor triggers a 3rd party video connection
between a camera and a supervisor.
WebRTC Middleware
3PCC
service
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 16
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.
17
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
18
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
19
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.
21. June 3, 2013
WebRTC Security
Signaling Server
Browser
Call Server
IdP1 IdP 2
Browser
DTLS-SRTP
Media 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.
21
Source: Dialogic
Multi-party mixing InterworkingTranscoding
Stream processing Person-to-machineRecording
Media Server Use Cases
23. WebRTC Reference Topology
Coturn
Open 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
JSR 309
Internet Intranet
SIP
Media + ICE
Media Relay
HTTP/REST
Signaling over
WebSockets
HTTP/REST
WebRTC Gateway + Services
22
Signaling over
WebSockets
24. Media Server Control API (JSR 309)
23
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)
SIP
MQTT
HTTP
RTP
SRTP
DTLS
ICE
25. WebRTC from a Call Service
Providers centric perspective
24
Source: http://www.moneyisnotimportant.com/
26. 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 of
OTT revenue chains.
76% of Telecom CEOs consider over the top service providers as their greatest
competitive threat (source MobileSquared’s)
Network
Operator
27. 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
28. 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
28
Source Info: Disruptive Analysis & Martin Geddes Consulting
Operators need new demand-driven service models!
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
30
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
31
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.
33
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 Monitoring
Node-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.node
https://github.com/WASdev/lib.rtcomm.node-red
npm install node-red-contrib-rtcomm
npm install rtcomm
34
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!
35
So start your own WebRTC project today!
Go Cats!