In order to provide the type of services their customers crave, your clients need to be able to provide blazing fast communication capabilities and access important information in the blink of an eye. WebRTC (Web Real-Time Communications) allows for the creation of next-generation communication applications without the need for browser plugins. WebSphere Application Server Liberty Profile is changing the way people communicate by making it easy to provide web page context as part of real-time conversations. This webinar will cover all of the real-time communications features recently released in WebSphere Liberty, including the new Rtcomm feature for rapid development of WebRTC based applications, and the open-source Rtcomm client-side libraries. (link to webinar replay: http://www.websphereusergroup.org/khatch/go/gallery/item/1543395?type=video)
2. Deliver Superior Customer Experience by enabling your Web and
Mobile Apps with Real Time Communications
SDKs
Signaling
Media processing
Infrastructure
Unleashing the power of voice, video and contextual communications
within your enterprise app:
Voice calls within your browser without needing any plugins
Contextual communication with Watson analytics
Initiate and run video calls within your web browser
WebSphere
Liberty
Call
Queue
rtcomm-1.0 Feature
Enterprise
Apps
Enterprise
Assets
3. Introducing IBM WebSphere Liberty with WebRTC for
Enterprise applications
Seamlessly integrate channels
for smarter customer experience
Direct customer to the best channel and agent to
respond, with context
Consistency and personalization across all
interaction channels with real time audio and video
Extend existing SIP based call center to support
web and mobile app users
Build Unified
communications
through browser
and mobile enabled
devices
WebSphere Developers
Leverage existing Java EE &
JavaScript skills
Web and Mobile SDKs for
WebRTC
No telco protocol knowledge
required
WebRTC Gateway for SIP
Federation
Support for standards based
Media Servers
Real-time communications revolution
is underway! Are you ready?
Take advantage of the opportunity
real time communications brings to
grow your business and lower costs
Deploy WebRTC on your existing
WAS Liberty infrastructure
Seamlessly integrate with your
existing web and mobile applications
Designed to integrate with your
existing enterprise security
Massively scalable signaling with
MQTT
Enterprise
Apps
Enterprise
Assets
Integrate channels
and workflows
4. What is WebRTC?
Enables real-time data in addition to voice and video.
Closely aligned with HTML 5, programmed via JavaScript.
Eliminates complexity and licensing cost of delivering codecs.
Widespread 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
Why is WebRTC so disruptive?
3
5. A real-time communications revolution is
underway…time to get moving!
Today companies are already integrating WebRTC into their
mission critical web and mobile applications
Messenger
4
6. WebSphere Liberty Rtcomm:
WebRTC Middleware for the Enterprise
What is WebRTC Middleware?
Built on WAS Liberty
Scalable and secure app server for WebRTC
Web and Mobile SDKs for WebRTC development
WebRTC Gateway for SIP Federation
SIP Servlet Programming Model
Support for standards based Media Servers
Lots of out-of-the-box services like call queues and 3PCC
o Easily consumed by your current team of web and mobile developers
o Deploy WebRTC on the same runtime as your existing infrastructure
o Take advantage of IBM’s numerous vertical sample applications
o Interested? Get started at: www.wasdev.net/webrtc
5
7. Use Case 1: WebSphere Liberty Healthcare Demo
WebSphere Liberty
Call Queue
rtcomm-1.0 Feature
https://github.com/WASdev/sample.rtcomm.healthcare
http://rtcomm-healthcare.wasdev.developer.ibm.com
6
8. 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
7
Internet Intranet
External
Mobile
Clients
STUN/TURN/ICE
WebSphere
Liberty Rtcomm
Message Broker
Internal
Web
Clients
WebRTC signaling
WebRTC media
DMZ
External
Web
Clients
Reverse Proxy
Internal
iPad
Clients
External
Web
Clients
Internal
iPad
Clients
Rtcomm Team Room: https://www.youtube.com/watch?v=QKn7SnEuPpM
9. 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
8
DMZInternet Enterprise Network
WebRTC
Clients
STUN/TURN/ICE
Reverse Proxy
Rtcomm
(WebRTC)
Gateway
Media Server
JSR 309
SIP Contact
Center /
IMS Core
Rtcomm Helpdesk Demo: http://rtcomm-helpdesk.wasdev.developer.ibm.com
10. Use Case 4: Video Recording SaaS
A patient-to-doctor, video chat service provider wants to add video recording
to their existing service.
• Problem:
• Provider needs audio/video recording for HIPAA compliance
• Solution must seamlessly integrate into existing service
• Entire solution must be delivered in the cloud
• Solution:
• Deploy Liberty running a SIP based recording app on Bluemix
• SIP servlet interfaces with media processing server via JSR 309
9
Video Chat
Service
Provider
SIP Client
Liberty
SIP
Media
ServerSIP Client
JSR 309
NFS
SRTP
SRTP
SRTP
SIP
SIP
SIP
Bluemix
11. 10
BlueMix Cloud
Media Server as a Service
Transcoding, mixing,
recording, replaying, IVR….
SIP
MBaaS
A/V
Analysis
Liberty Rtcomm
WebRTC
Gateway
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 Watson Visual and Speech
Recognition to provide context and trigger
communication scenarios
• Use Mobile backend services for your app
Use Case 5: WebRTC Analytic Solutions
Watson Guard Video: https://www.youtube.com/watch?v=mGAPzxNgOcY
12. • Open source libraries for easy client integration
• Secured with existing Java EE security
• Use existing Java EE & JavaScript skills
• No telco protocol knowledge required
• SIP Servlets for advanced app development
WebRTC for the Enterprise Developer
WebRTC JavaScript SDKs for rapid development of
web and mobile applications!
http://www.wasdev.net/webrtc
WebSphere Liberty Rtcomm:
eHealthcare
eAuctions
Remote consultation
Surveillance applications
Webinars
Media broadcasting
Gaming
And the list goes on…
Team rooms
Helpdesk
eLearning
IoT integration
11
13. WebSphere Liberty rtcomm-1.0 Feature
• Real-Time Communications engine for the Internet
• Client-side enabled through open source SDKs
12
MQTT
Transport (TCP, SSL, UDP)
rtcomm-1.0 Feature
sipServlets-1.1 Feature
Queues3PCC SIP
Servlets
(JSR 289)
Gateway
Registry Routing Monitoring
WebSphere LibertyBaked in capabilities:
• Registry
• Gateway
• Queuing
• 3PCC
• Routing
• Monitoring
No knowledge of telecom signaling required…
…but ready for telecom federation if needed.
14. Enabling Rtcomm on Liberty
• You can enable the rtcomm feature by adding the following to
your Liberty server.xml:
<featureManager>
<feature>rtcomm-1.0</feature>
</featureManager>
• Adding additional rtcomm configuration to the server.xml:
<rtcomm
messageServerHost=“<brokerhostname>”
messageServerPort=“<brokerportname>”
rtcommTopicPath=“/rtcomm/”>
<iceServerURL>stun:example1.hostname.com:8880</iceServerURL>
<callQueue callQueueID=<queueID>></callQueue>
</rtcomm>
13
15. Why MQTT for Liberty Rtcomm Signaling?
• Open, lightweight, secure and highly scalable
• Simple authorization through MQTT topic ACLs
• Clients available on mobile platforms and JavaScript
• Simple IoT integration
• Extensible through JMS
14
Rtcomm over MQTT for massively scalable signaling
MQTT vs. HTTP/REST
• 93x higher throughput
• 1/10th battery
• 1/8th bandwidth
Stack size comparison
SipML5: ~5 MB vs. MQTT Paho + Rtcomm: ~ 250K
Visit http://mqtt.org/ for more info.
16. • The Rtcomm protocol is JSON based and designed for messaging
• The protocol is open and defined here: http://bit.ly/1GiodaX
• Shared Subscriptions used to distribute messages across multiple
subscribers for clustering, call queues, etc.
15
Rtcomm for WebRTC Signaling Overview
WebRTC
EndpointA
Subscribed On
/EndpointB/#
Subscribed On
/EndpointA/#
WebRTC
EndpointA
WebSphere
Liberty
Subscribed On
/<rtcommTopicPath>/#
MQTT Message
Broker
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.
17. WebRTC: Support for HTML5 APIs
rtcomm.js: hides call signaling and WebRTC complexities
angular-rtcomm: pre-built UI widgets for rapid development
Rtcomm Client Open Source Architecture
16
HTML5
Bootstrap jQuery AngularJS rtcomm.js
Paho MQTT
Web Browser or Cordova
angular-rtcomm
Angular Applications JavaScript Applications
WebRTC
18. rtcomm.js – JavaScript client for Rtcomm
• JavaScript library for Real-Time Communications
• JavaScript framework agnostic
• Encapsulates complexities of WebRTC API and signaling
• Includes sample video chat application
Install via bower:
> bower install rtcomm
https://github.com/WASdev/lib.rtcomm.clientjs
17
rtcomm.js
19. lib.angular-rtcomm – Rtcomm for AngularJS
• AngularJS is a popular JavaScript framework for creating
web and mobile applications.
• Includes UI directives (widgets) for rapid client integration
• Angular Rtcomm Service for creating custom directives
• Angular Controllers for simple configuration of the client
https://github.com/WASdev/lib.angular-rtcomm
Install via bower:
> bower install angular-rtcomm
18
angular-rtcomm
20. 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.
19
http://angular-rtcomm.wasdev.developer.ibm.com
The angular-rtcomm landing page
is an interactive AngularJS web
application for demonstrating the
angular-rtcomm module.
21. 20
Mobile app development with Rtcomm and Cordova
rtcomm.js
WebRTC Cordova Plugin
iOS WebRTC Android WebRTC
angular-rtcomm
Other JavaScript
frameworks…
• Supports development of hybrid mobile applications
• Allows for a unified code base for browsers, iOS and Android
Native Code
Mobile sample using Ionic and angular-rtcomm:
https://github.com/WASdev/sample.rtcomm.mobile
rtcomm.js automatically
detects when Cordova is
installed and looks for
WebRTC plugin
Cordova Rtcomm Mobile Application
22. SIP Servlets 1.1 (JSR 289) now supported on
WebSphere Liberty
21
“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
WebSphere Liberty
Liberty SIP Servlets Provide:
• A programming model for controlling WebRTC call signaling
• A signaling bridge between SIP (calls) and analytics
• Programmable access to media servers
• Federation to PSTN, VoLTE and IMS based networks
Enabled by adding this to
your Liberty server.xml:
23. Rtcomm: Enterprise security model
Secure Rtcomm feature access using:
Mutual authentication over SSL
22
MQTT Message
Broker
Secure client signaling
WebSockets over SSL for encryption
LTPA or oAuth for Authentication
Identity assertion using MQTT topic ACLs
WebRTC client WebRTC client
STUN/TURN
Liberty
Rtcomm
Secure Media Streaming
DTLS and SRTP via WebRTC
STUN/ICE/TURN for NAT traversal
Designed to integrate with your existing enterprise security infrastructure
24. Rtcomm Gateway
23
• A WebRTC Gateway feature that
uses the SIP protocol for federation
• Used to expose the SIP Servlets
programming model to Rtcomm
• JSR 309 compatible Media Servers
used for transcoding.
DMZInternet Enterprise Network
WebRTC
Clients
STUN/TURN/ICE
Reverse Proxy
Rtcomm
(WebRTC)
Gateway
Media Server
JSR 309
SIP Contact
Center /
IMS Core
25. Media Server Control API (JSR 309) and Liberty
24
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 of Liberty apps using Dialogic XMS:
• JetStream: http://bit.ly/1KFoh8J
• Watson Guard: http://bit.ly/1Oe5jpb
Dialogic and Radisys
both support JSR 309
drivers for WebSphere.
Application
MediaGroup
(IVR functions,
record, playback…
Media Servers
Media Mixer
Media composition (JSR 309)
Network Connection
(SDPs)
Liberty App Server
SIP
MQTT
HTTP
RTP
SRTP
DTLS
ICE
33. Dialogic and Network Fuel among others as well as related logos, are either registered trademarks or trademarks of Dialogic Corporation and all companies controlling,
controlled by, or under common control with Dialogic Corporation. (“Dialogic”).
The names of actual companies and products mentioned herein are the trademarks of their respective owners.
09/15
dialogic.com
34. Rtcomm, Node.js and Node-RED
Node.js Module for Rtcomm:
• Supports 3PCC and Monitoring
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
33
35. WebSphere Liberty Rtcomm and BlueMix
• Liberty and Node-RED are both available on Bluemix
• The rtcomm-1.0 feature should be available in non-beta
release of Liberty on Bluemix in early October
• To get started go here:
• www.bluemix.net
• To download Liberty go here:
• www.wasdev.net
34
36. Is WebRTC ready yet?
Source: http://iswebrtcreadyyet.com/
35
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)
Announcements of Interest
Supported Mobile Platforms
Source: http://www.webrtc.org
37. WebSphere Liberty = WebRTC Middleware
Everything you ever wanted to know about Liberty
real-time communications can be found here:
http://www.wasdev.net/webrtc
36
Links to Samples
Links to Videos
Links to Blogs
Links to SDKs