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 work
4. 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
5. Real Time Communication in
your Web Application
RestComm
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
6. API to telephony network
l
A User calls or sends an SMS/IM to your number
7. API to telephony network
l
RestComm receives the call or SMS or IM and makes
request to your application
8. API to telephony network
l
l
l
Your app receives all the information regarding call like
called party number, calling party number etc etc
Process the information
Sends XML back
9. API to telephony network
l
RestComm follows the instruction and controls the flow of
call
10. 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
12. Mission Statement
l
l
l
WebRTC is a free, open project that enables web browsers
with Real-Time Communications (RTC) capabilities via
simple Javascript APIs.
Think rich, high quality, RTC applications in the browser via
simple Javascript APIs and HTML5 without plugin
The WebRTC initiative is a project supported by
13. 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
PeerConnection
l
(sending and receiving media)
l
DataChannels
l
(sending non-media direct between browsers)
15. 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)
21. 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 Infrastructure
l
Since WebRTC doesn't define the call control signaling, choice
was to use SIP as signaling protocol (there is a draft for that)
23. 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/
24. 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
27. SIP JavaScript Stack
Still 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
29. It's Only the Beginning
•More Features to Add
l
l
l
l
l
l
l
l
l
It's Open Source...
Help yourself,
Contribute !
Chat
File Sharing
Tab Sharing
Music Sharing
Screen Sharing
Presence
Location
Social Network Integration
…