boost jboss as7 with html5 webrtc for real time communications
DESCRIPTION
WebRTC, for Web Real Time Communications is a free, open project to enable rich, high quality, Real Time Communications applications to be developed in the browser via simple Javascript APIs and HTML5. Major browsers already support or will support it soon natively. This talk will present an overview of WebRTC, how it is already revolutionizing the Web and changing the Telco industry. A couple of emblematic use cases will be also explored to show the potential of WebRTC in different enterprise markets and a live demo of a 1 to 1 WebRTC Video Conference will also be performed followed by a detailed explanation on how it was achieved as well as what JBoss AS7 additions were required to make it workTRANSCRIPT
![Page 1: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/1.jpg)
![Page 2: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/2.jpg)
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Amit Bhayani
![Page 3: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/3.jpg)
Agenda
l Demo
l What's HTML5 WebRTC anyway
l JBoss AS7 HTML5 WebRTC Support with Mobicents
Q&A
![Page 4: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/4.jpg)
Real Time Communication in your Web Application
l Ever felt of adding voice, video, IM ….. Real Time Communication to your Web Application?
l How did you solve it?
l Lets have Demo
![Page 5: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/5.jpg)
Real Time Communication in your Web Application
l Historically Web and Telecom were different
l Telecom technologies are inaccessible to most developers
l Not any more
l Web technologies are open & ubiquitous
l Millions of web developers world wide
RestComm
![Page 6: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/6.jpg)
API to telephony network
l A User calls or sends an SMS/IM to your number
![Page 7: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/7.jpg)
API to telephony network
l RestComm receives the call or SMS or IM and makes request to your application
![Page 8: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/8.jpg)
API to telephony network
l Your app receives all the information regarding call like called party number, calling party number etc etc
l Process the informationl Sends XML back
![Page 9: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/9.jpg)
API to telephony network
l RestComm follows the instruction and controls the flow of call
![Page 10: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/10.jpg)
RestComm enables WebRTC
WebRTC Use Cases
■Browser to Browser or PSTN Audio Calls■Browser to Browser Video Calls■Video Conferencing■Messaging (Chat) for Remote Support Widgets or M2M Communications■ScreenSharing for Remote Support or Collaboration■File Sharing■Video VoiceMail
![Page 11: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/11.jpg)
What's anyway ?
![Page 12: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/12.jpg)
Mission Statement
l WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs.
l Think rich, high quality, RTC applications in the browser via simple Javascript APIs and HTML5 without plugin
l The WebRTC initiative is a project supported by
![Page 13: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/13.jpg)
Developer Stance
Defines a set of Media and Data JavaScript APIs to bring VoIP natively to the browser and cross platforms :
l GetUserMedia l (camera and microphone access)
l PeerConnectionl (sending and receiving media)
l DataChannels l (sending non-media direct between browsers)
![Page 14: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/14.jpg)
Architecture
![Page 15: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/15.jpg)
HTML5 WebRTC Signaling and Media
• WebRTC is independent of WebSockets
• Can use anything for call control signaling including Ajax, server push or plain HTTP
• Media is peer to peer and can handle both audio and video (RTCWeb)
![Page 16: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/16.jpg)
![Page 17: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/17.jpg)
What is ?
![Page 18: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/18.jpg)
The Approach
Web / MobileApplicationDeveloper
![Page 19: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/19.jpg)
From Legacy PSTN to Cloud Communications
![Page 20: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/20.jpg)
HTML5 WebRTC Integration
![Page 21: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/21.jpg)
Goal
l Since WebRTC = VoIP, makes sense to support in the largest Open Source Communication Platform, no ?
l Handle large number of concurrent connections
l Allow Interop with existing VoIP or Telco Infrastructurel Since WebRTC doesn't define the call control signaling, choice
was to use SIP as signaling protocol (there is a draft for that)
![Page 22: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/22.jpg)
Server Side Awesomeness
![Page 23: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/23.jpg)
JBoss AS7 Adds-Ons• Automatically adds WebSocket support to any JAIN SIP based server (SIP Stack used by
Mobicents and Google Android 2.3+)o SIP Servlets http://dev.telestax.com/sipservlets/o SIP Stack http://dev.telestax.com/jain-sip/
![Page 24: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/24.jpg)
WebRTC Support In Java EE7 ?• No but next revision of SIP Servlets Specification (JSR 359)
will support it.
• Deliver support for reusable Converged Web and Real Time Communications Applications
• RTC Applications can leverage Java EE6 Technologies and Standards all the way
• Existing Applications can adds RTC Capabilities easily
![Page 25: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/25.jpg)
Client Side Coolness
![Page 26: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/26.jpg)
SIP JavaScript Stack
l JavaScript Framework allowing HTML5 Applications to that handle Call Control (SIP) in the Browser
l Contributed by
![Page 27: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/27.jpg)
SIP JavaScript StackStill ugly (to web developers) Low Level SIP details for now but working on higher abstractions, ie 1 liner import and 1 liners to place call, reject, hangup etc
![Page 28: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/28.jpg)
Future Work
![Page 29: Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications](https://reader033.vdocuments.site/reader033/viewer/2022052822/554b9e82b4c905b3618b487f/html5/thumbnails/29.jpg)
It's Only the Beginning
•More Features to Add l Chatl File Sharingl Tab Sharingl Music Sharingl Screen Sharingl Presencel Locationl Social Network Integrationl …
It's Open Source... Help yourself, Contribute !