Your SlideShare is downloading. ×
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications

1,791
views

Published on

HTML5 WebRTC, for Web Real Time Communications is free, open secifications to enable rich, high quality, Real Time Communications applications to be developed in the browser via simple Javascript APIs …

HTML5 WebRTC, for Web Real Time Communications is free, open secifications 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

Published in: Technology

2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,791
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
89
Comments
2
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Boost JBoss AS7 withHTML5 WebRTC for Real Time Communications Jean Deruelle November 2012
  • 2. Agenda● HTML5 WebRTC Demo● Whats HTML5 WebRTC anyway ?● JBoss AS7 HTML5 WebRTC Support withMobicents● Q&A
  • 3. Your 5 minutes of fame !
  • 4. Whats anyway ?
  • 5. Mission Statement● WebRTC is a free, open project that enables web browserswith Real-Time Communications (RTC) capabilities viasimple Javascript APIs.● Think rich, high quality, RTC applications in the browser viasimple Javascript APIs and HTML5 without plugin● The WebRTC initiative is a project supported by
  • 6. Developer Stance Defines a set of Media and Data JavaScript APIsto bring VoIP natively to the browser and crossplatforms : ● GetUserMedia (camera and microphone access) ● PeerConnection (sending and receiving media) ● DataChannels (sending non-media direct between browsers)
  • 7. Architecture
  • 8. HTML5 WebRTC Signaling and Media• WebRTC is independent of Call Control Call Control 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)
  • 9. Relation to VoIP
  • 10. Browser Support Today ?● Supported out of the box in Google Chrome 23, support coming to Chrome Mobile in 2013 ?●● nightly builds support WebRTC, should be stable in● the next couple months● not supporting WebRTC but Microsoft made its own● WebRTC proposal “CU-RTC-Web” (Customizable, UbiquitousReal Time Communication over the Web) but available throughGoogle Frame not supporting WebRTC yet but Opera Mobile support access toVideo and Camera● launched a new Mobile Browser called Bowser withsupport for WebRTC, trying to push H.264 vs VP8 video codec● Support has more concerns : Browsers, SDK, Native APIs
  • 11. What is ?
  • 12. The Approach Web / Mobile Application Developer
  • 13. From Legacy PSTN toCloud Communications
  • 14. HTML5 WebRTC Integration
  • 15. Goal ● Since WebRTC = VoIP, makes sense to support in the largest Open Source Communication Platform, no ? ● Handle large number of concurrent connections ● Allow Interop with existing VoIP or Telco Infrastructure ● Since WebRTC doesnt define the call control signaling, choice was to use SIP as signaling protocol (there is a draft for that)
  • 16. What is SIP ?● Stands for Session Initiation Protocol, protocol of choice forVoIP and all IP based networks (LTE, 4G networks)● VoIP Call consists of 2 parts : ● Call Control (SIP) ● Negotiates RTP parameters (through SDP) ● Authentication ● Media (RTP) – carries audio stream in small packets
  • 17. Call Flow
  • 18. WebSockets
  • 19. SIP Over WebSockets Typical Flowhttp://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-06 : Still a draft • Regular HTTP request with Upgrade header • Switch to normal mode o No HTTP any more, just plain subprotocol o ..except its masked so plaintext cant be misinterpreted and avoid security issues • SIP Messages carried in WebSocket Data • New SIP Transports : WS or WSS (for Secure using TLS) 200 OK SIP INVITE
  • 20. Server SideAwesomeness
  • 21. 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/
  • 22. Implemented on topof NIO• WebSockets phones need a TCP/TLS connection to be alive even when not in a call. This connection cannot die otherwise the phone cant receive calls.• NIO is great for TCP/TLS o TCP/TLS SIP sockets do not require separate Threads as Threads are expensive (3K threads easily crash server machines just by themselves)• The architecture accommodates both NIO and Blocking IO nicely
  • 23. WebRTC SupportIn 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
  • 24. Client Side Coolness
  • 25. SIP JavaScript Stack• JavaScript Framework allowing HTML5 Applications to that handle Call Control (SIP) in the Browser• Contributed by
  • 26. SIP JavaScript StackStill ugly (to web developers) Low Level SIP details for now but working on higher abstractions, ie 1 linerimport and 1 liners to place call, reject, hangup etc
  • 27. Future Work
  • 28. Its Only the Beginning Its Open Source... More Features to Add ● Chat Help yourself, ● File Sharing Contribute ! ● Tab Sharing ● Music Sharing ● Screen Sharing ● Presence ● Location ● Social Network Integration ● …
  • 29. http://www.mobicents.orgThank you ! http://telestax.com/