© 2015 IBM Corporation
The Enterprise wants
WebRTC and it needs
Middleware to get it!
Brian Pulito
Email: [email protected]
Twitter: @brianpulito
Why is WebRTC so disruptive?
1
x Eliminates complexity of delivering codecs and streaming protocols
x Closely aligned with HTML 5, programmed via JavaScript
x Support for mobile platforms and web browsers
x Enables real-time data communications in addition to voice and video
x Strong industry support
1
What is context relative to WebRTC?
A.
Data derived from interactions with a web site?
B.
Transactional data stored in a business system?
C.
Information derived from streaming analytics?
D.
Sensor data from an IoT device?
E.
All of the above?
2
Context is being combined with WebRTC to:
• Provide whitelist for who should be communicating
• Provide triggers to initiate real-time interactions
• Provide subject matter for real-time interactions
3
So where’s the context?
Internet Of Things
Mobile & Social
Big Data & Analytics
Systems of Engagement
Systems of Record
DB ERP
4
The way enterprises reach and understand
customers is rapidly evolving
Contact Center
5
Systems of Engagement “focus on people, not processes....These
new systems harness a perfect storm of mobile, social, cloud, and
big data innovation to deliver apps and smart products directly in
the context of the daily lives and real-time workflows of customers,
partners, and employees”
source Forrester
6
So what are Systems of Engagement?
So what does all this have to do with WebRTC?
Greater customer satisfaction than non-WebRTC users202%
Increase in number of organizations deploying or evaluating WebRTC today3x
Businesses believe WebRTC has the potential to improve Contact Center Services9 out of 10
Projected Y-t-Y Improvement in Agent Utilization rates28%
53%
Retailers have systems that don’t adequately support cross-channel activity on the buying side WebRTC Devices that customers, partners and business people will use to collaborate2.3B
Growth potential for Unified Communication ecosystem integration14+%
www.aberdeengroup.com Aberdeen Group- March 2015
http://www.webtorials.com/content/2015/07/2015-webrtc-state-of-the-market-report.html, http://disruptive-analysis.com/webrtc.htm
8
What glues all this together…Middleware!
Systems of Engagement
Systems of Record
Systems of Record
DB ERP
CRM HR
Middleware provides the infrastructure needed to deliver
highly customized and contextualized user experiences
WebRTC Middleware for the Enterprise
What is WebRTC Middleware?
Enables scalable, secure signaling
Web and Mobile SDKs for client development
Gateway for SIP/IMS federation
SIP Servlets for customization
Media server control for media processing
Integration with enterprise security, messaging and APIs
Development tooling
WebRTC Middleware Reference Example
Coturn
Open Source STUN/TURN Server Dialogic XMS Media Server (Transcoding, Multiway, Record/Playback) WebSphere Liberty (Rtcomm Gateway, JSR 289 SIP Servlets) HTML5Web Browser
JavaScript Applications WebRTC SDK Web/Signaling Proxy (HTTP, SIP, WebSockets) STUN/TURN Server Sig Gateway, App Server. Message Broker (SIP Servlets ) Media Processing ServerDMZ
SIP Services (Contact Center) Media + ICE JSR 309Internet
Clients
Intranet
Media + ICEMedia Relay
HTTP/REST Signaling HTTP/RESTWebRTC Middleware
10 Signaling Analytics Services Systems of Record Enterprise IMS Core Microservices Native WebRTCMobile Apps
Hybrid and Native Applications WebRTC SDKBusiness Services
Use Case 1: WebRTC Cloud Analytic Solutions
11 A/V Analysis Analytics Mobile Notifications Push Enterprise Contact Center Surveillance Network SBC/SIP Gateway Carrier Network IMSUse analytics to provide context:
•
Customer insights
•
Sentiment analysis
•
Video analysis
•
Text-to-speech
Real-time A/V Signaling APIs JSR 309WebRTC Media = Big Data
WebRTC Middleware MRF as a service for transcoding, mixing, recording…. MPLS IMS Core
Use Case 2: Business Communications
External company directories Web based contact centers Partner Project Spaces
12
Internet
WebRTC Middleware
signaling
Enterprise IMS core
Enterprise Contact Center Systems of Record Systems of Record DB ERP CRM HR Integration BUS MRF as a service for transcoding, mixing, recording….
media
Team Rooms Event streamingWebRTC for Business Processes
media
Business
Network
WebRTC Application Server
•
WebRTC Gateway for protocol normalization
•
SIP Servlets for federation and convergence
•
Media Server Control for media processing (JSR 309)
•
Off the shelf services for rapid prototyping
•
J2EE for accessing Systems of Record, messaging, etc.
13
WebRTC Gateway
Transport (TCP, SSL, UDP)
SIP Servlets
Baked in WebRTC
Services
Media Server
Control
Converged App
JavaEE 7
(HTTP, JMS, EJBs, etc.)
Converged App
Converged App
Converged App
SIP Servlets (JSR 289)
14
“The Session Initiation Protocol (SIP)
is a signaling communications protocol,
widely used for controlling multimedia
communication sessions such as voice
and video calls over Internet Protocol
(IP) networks.” (source: Wikipedia).
SIP App
SIP Servlet 1.1
SIP App SIP App SIP/HTTP App
TCP UDP TLS
WebRTC Application Server
SIP Servlets provide:
•
A programming model for creating business logic
•A signaling bridge between SIP (calls) and analytics
•Programmable access to media servers
Media Server Control API (JSR 309) and Liberty
15
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)Application
MediaGroup (IVR functions, record, playback…Media Servers
Media MixerMedia composition (JSR 309)
Network Connection (SDPs)WebRTC App Server
SIP
MQTT
HTTP
RTP
SRTP
DTLS
ICE
16
Common Media Server Use Cases
Multi-party mixing Transcoding Interworking
Stream processing Person-to-machine Recording
Enterprise security model
Secure inter server connections using: Mutual authentication over SSL
17
WebRTC
App Server
Secure client signaling
WebSockets over SSL for encryption LTPA or oAuth for Authentication Identity assertion using topic ACLs
WebRTC client
WebRTC client
STUN/TURN
Secure Media Streaming DTLS and SRTP via WebRTC STUN/ICE/TURN for NAT traversal
Must integrate with existing enterprise security infrastructure
WebRTC
App Server
•
WebRTC SDKs should:
• Encapsulate signaling and complexities of WebRTC
• Provide a rich set of APIs for customization
• Support both web and mobile app development
• Easily integrate with rapidly evolving client frameworks
• Support enterprise security models
18
Extending the reach of middleware to the WebRTC
enabled client
WebRTC SDK
HTML5 JS Framework Applications JavaScript Applications WebRTC Mobile Applications WebRTC Middleware
Base WebRTC SDK: hides call signaling and WebRTC complexities
Framework Specific SDK: pre-built UI widgets for rapid development
WebRTC Client SDKs
19HTML5
Bootstrap
jQuery
JS
Frameworks
Base WebRTC
SDK
Web Browser
Framework Specific SDK
JS Framework Applications
JavaScript Applications
20
Mobile app development with WebRTC
Base WebRTC JS SDK
WebRTC Cordova Plugin
iOS WebRTC
Android WebRTC
Framework
specific JS SDK
Other JavaScript
frameworks…
• Supports development of both hybrid and native mobile applications
• Allows for a unified code base for browsers, iOS and Android
Native Code
Cordova Mobile Application
Native Application
Base Native WebRTC SDK
Native Application
WebRTC Middleware Conclusions
•
Context is king when it comes to WebRTC
•
Systems of Engagement are delivering the context
•
These systems are built on enterprise middleware
21