1. Javascript SIP
A javascript port of
JAIN SIP stack over websocket
François Joseph Levée, Laurent Strullu, Orange Labs
2012 Mobicents Summit
Thanks to Yuemin Qin
2. Rationales
WebRTC is gaining momentum
– WebRTC = standardized (W3C and IETF) Real Time Communications
in the browser
– Part of webRTC are already available in Google Chrome (Firefox,
opera, and IE are coming..)
WebRTC does not standardize signaling….
– left to the developer’s choice : JSON, XMPP, SIP, …over HTTP, XHR,
WS…
– WebRTC focus on Media Path (API and protocols): codecs, NAT,
SDP…
…but re-using already in place SIP based
infrastructure in webRTC would be definitively cool!
– need definition of usage of SIP over a web transport: SIP over WS
IETF draft
– need a Javascript SIP Stack based on a large community Here we
are with Javascript JAIN SIP!
– need support of WS in SIP components (see Jean and Vladimir
2
presentation tomorrow) libre
diffusion Orange JAIN SIP Javascript port
– need a GW to bridge to already deployed SIP networks and access
3. WebRTC in a nutshell
SIP
SRTP,
Multiplexing,
ICE…
3 diffusion libre
4. Where are we? Availa
ble
All core JAIN SIP classes today !
have been ported by !
hand (no ugly tool),
JAIN SIP stack
architecture, API and
naming convention
used, CORE (RFC3261) implementation supported
all SIP
Tested with Mobicents SIP over WS early
implementation
~550Kb (compressed)
not fully optimized yet (see next steps)
no SDP Javascript library available (but SDP handling is
part of PeerConnection API)
http://code.google.com/p/jain-sip/source/checkout?
4 repo=javascript
Javascript SIP diffusion libre Orange JAIN SIP Javascript port
5. Example
JAIN SIP Client sample : SIP INVITE request creation and
emission for a JAIN SIP ware developer ;-)
Higher level API for web developer is planned as
next step
5 diffusion libre Orange JAIN SIP Javascript port
6. Default application
• A basic WebRTC JAIN SIP softphone WebApp can be found
in the project Google code repository:
~50
lines
= of
code!!
This application will be the default application in
MSS2.0, allowing to do SIP calls without a native SIP
phone !
6 diffusion libre Orange JAIN SIP Javascript port
7. Next Steps
Very Short term (Q4 2012)
– Provide a higher level Communication Framework
– New features:
– Add WSS support (required for security and proxy
traversal)
– Add Keep Alive (RFC5626) (required for server side
connectivity info)
– Optimizations:
– multithreading using web workers for message parsing
– more library size minimization
Short term (Q12013)
– Add IMS/RCS profile
7 diffusion libre Orange JAIN SIP Javascript port