On October 23rd, 2014, we updated our
By continuing to use LinkedIn’s SlideShare service, you agree to the revised terms, so please take a few minutes to review them.
Upperside WebRTC Conference - Mobicents, HTML5 and SIP over WebSocketsPresentation Transcript
Mobicents, HTML5 WebRTCSIP Over WebSockets Jean Deruelle - TeleStax, Inc12th October 2012, UpperSide WebRTC Conference
Questions ??? Dont Wait til the end, interrupt is mandatory !!!
HTML5 WebRTC Signaling and Media● WebRTC is independent of WebSockets● Can use anything for signalling including Ajax, server push or plain HTTP● Media is peer to peer and can handle both audio and video
SIP Over WebSocketsTypical Flow WebSocket Browser Browser Server HTTP GET HTTP 200 OK SIP REGISTER SIP OK Other server SIP INVITE
SIP Over WebSockets Flow Detailedhttp://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-04 : Still a draft Browser WebSocket ● Regular HTTP request with Server Upgrade header ● Switch to normal mode ○ No HTTP any more, just plain subprotocol ○ ..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) ○ Addresses advertised by browsers are invalid => literally "df7jal23ls0d.invalid" ○ Via, Contact, everything
Peer to Peer ? Browser Another browser Browser to HTTP GET Browser cant be done HTTP 200 OK through HTTP, SIP REGISTER really need a Server ! SIP OK SIP INVITE
Use Mobicents asThe Server of Choice● Deliver support for reusable applications that dont care about transport● Applications see the real addresses instead of the invalid ones● Applications can still determine the transport type● Transparent B2BUA, UAC, UAS and Proxy
Implemented inside JAIN SIP Stack● Automatically adds WebSocket support to any JAIN SIP based server (SIP Stack used by Mobicents and Google) ○ SIP Servlets http://dev.telestax.com/sipservlets/ ○ JAIN SLEE SIP RA http://dev.telestax.com/jain-slee/ ○ standalone JAIN SIP http://dev.telestax.com/jain-sip/● Doesnt add new dependencies But a huge thank you to Netty.io
NAT Concerns● Since the socket is reused there will be no NAT issues when clients are behind the firewall.● If the server is behind firewall its still a bit difficult, but manageable.● The RTP is the most important NAT problem, but it is browser responsibility to fix this ○ They are doing a great job at this ■ STUN/ICE is a built-in and mandatory ■ Chrome to Chrome interop is practically guaranteed