Upload
brian-pulito
View
525
Download
3
Embed Size (px)
Citation preview
© 2015 IBM Corporation
Liberty Rtcomm: WebRTC Middleware for the Enterprise
Thomas Banks Email: [email protected] Twitter: @tom_will_banks LinkedIn: tomwillbanks
Brian Pulito Email: [email protected] Twitter: @brianpulito Linkedin: brianpulito
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
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 AppsEnterpris
e 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)
4
Why is WebRTC so disruptive?
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
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 developerso Deploy WebRTC on the same runtime as your existing infrastructureo Take advantage of IBM’s numerous vertical sample applicationso Interested? Get started at: www.wasdev.net/webrtc
7
Use Case 1: WebSphere Liberty Healthcare Demo
WebSphere Liberty
Call Queue
rtcomm-1.0 Feature
https://github.com/WASdev/sample.rtcomm.healthcarehttp://rtcomm-healthcare.wasdev.developer.ibm.com
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
8
Internet Intranet
External Mobile Clients
STUN/TURN/ICE
WebSphere Liberty Rtcomm
Message BrokerInternalWeb
Clients
WebRTC signalingWebRTC media
DMZ
External Web
ClientsReverse 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
DMZInternet Enterprise Network
WebRTC Clients
STUN/TURN/ICE
Reverse ProxyRtcomm
(WebRTC) Gateway
Media Server
JSR 309SIP 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
Video Chat Service Provider
SIP ClientLiberty
SIP
Media ServerSIP Client
JSR 309
NFS
SRTP
SRTP
SRTP
SIP
SIP
SIP
Bluemix
11
BlueMix Cloud
Media Server as a ServiceTranscoding, mixing, recording, replaying, IVR….
SIP
MBaaS
A/VAnalysis
Liberty RtcommWebRTCGateway
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 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 DeveloperWebRTC 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
13
WebSphere Liberty rtcomm-1.0 Feature
• Real-Time Communications engine for the Internet• Client-side enabled through open source SDKs
MQTT
Transport (TCP, SSL, UDP)
rtcomm-1.0 FeaturesipServlets-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>
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
Rtcomm over MQTT for massively scalable signaling
MQTT vs. HTTP/REST • 93x higher
throughput• 1/10th battery• 1/8th bandwidth
Stack size comparisonSipML5: ~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.
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
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
rtcommhttps://github.com/WASdev/lib.rtcomm.clientjs
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
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.
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
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
“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:
Rtcomm: Enterprise security model
Secure Rtcomm feature access using:Mutual authentication over SSL
23
MQTT Message Broker
Secure client signalingWebSockets over SSL for encryptionLTPA or oAuth for AuthenticationIdentity assertion using MQTT topic ACLs
WebRTC client WebRTC client
STUN/TURN
Liberty Rtcomm
Secure Media StreamingDTLS and SRTP via WebRTCSTUN/ICE/TURN for NAT traversal
Designed to integrate with your existing enterprise security infrastructure
24
Rtcomm Gateway
• 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 ProxyRtcomm
(WebRTC) Gateway
Media Server
JSR 309SIP Contact
Center / IMS Core
25
Media Server Control API (JSR 309) and Liberty
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
SIPMQTTHTTP
RTPSRTPDTLSICE
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.
PowerMedia™ XMS Media Server Introduction
Rakendu DevdharSr. Director, PLM Dialogic
Sept 2015
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.27
PowerMedia™ XMS
Virtualized rich media processing with WebRTC
Web-oriented and cloud-ready
Robust audio and video support
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.28
Deployment Flexibility
COTSTelco Chassis
Hardware
Cloud, Virtualization
Public & Private Cloud Virtualization/Hypervisor NFV Infrastructure
Supported PlatformsPlatforms • Intel Architecture-Based Servers
COTS Server• Virtual Infrastructure/Cloud
System Management
• Web GUI, RESTful Http Mgmt API• SNMP v2c/v3• Real-time monitoring and
management • Remotely managed tracing and
logging
Operating System
• CentOS Release 7.0 (ISO installation)• RedHat Enterprise Linux7 • Oracle Enterprise Linux 6.4
Virtualization Support
• VMWare ESXi• KVM• XenServer• Oracle VM
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.29
Common Media Server Use Cases
PowerMedia™ XMS
Multi-party mixing InterworkingTranscoding
Stream processing Person-to-machineRecording
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.30
Example Solutions Powered by XMS Media Server
IMS & VoLTE MRF
WebRTC Media
Gateway
MRF Load
Balancer
Transcoding
Gateway
Video MCU
Voice/Video
Messaging Service
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.31
PowerMedia™ XMSMany API’s for Rapidly Integrating Your Application
Standard Control APIs MSML (SIP based) JSR 309 (Java based) VXML (script based) NETANN (SIP)
Flexible Web APIs RESTful API (http based) JavaScript/JSON for WebRTC
NetAnn JSR 309 Connector
WebRTC Enabled Browsers
PowerMedia XMS
MRCPv2 Speech Server (ASR/TTS)
RTSP ServerNetwork
Camera
Common SIP
Endpoints
VXML
RESTful API
MSML
Web Mgmt
Web Console & RESTful Management API
Application Server
COMPANY CONFIDENTIAL © COPYRIGHT 2015 DIALOGIC CORPORATION. ALL RIGHTS RESERVED.32
PowerMedia™ XMS: Available Resources
PowerMedia XMS trial software download and 4-port evaluation license (registration required)
PowerMedia XMS 3.0 documentation - Release Notes, Quick-start Guides and API User Guides
PowerMedia XMS GitHub – JSR309, RESTFul (Java, C#, C++), VXML, MSML and HTML/JS demo code
Dialogic YouTube Channel - PowerMedia XMS on-demand training and A Journey to Media Server Enlightenment
PowerMedia XMS Community Forums
DEN Developer’s Blog
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 MonitoringRtcomm 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
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
Is WebRTC ready yet?
Source: http://iswebrtcreadyyet.com/
36
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
Links to Samples Links to Videos Links to Blogs Links to SDKs
38