- Runs in the browser and Node.js.
- SIP over WebSocket (use real SIP in your web apps)
- Audio/video calls (WebRTC) and instant messaging
- Lightweight!
- Easy to use and powerful user API
- Works with OverSIP, Kamailio, Asterisk. Mobicents and repro (reSIProcate) servers (more info)
- Written by the authors of RFC 7118 "The WebSocket Protocol as a Transport for SIP" and OverSIP
Starting from 3.0.0, JsSIP no longer includes the rtcninja module. However, the jssip-rtcninja package is based on the 2.0.x branch, which does include rtcninja.
For questions or usage problems please use the jssippublic Google Group.
For bug reports or feature requests open an Github issue.
The following simple JavaScript code creates a JsSIP User Agent instance and makes a SIP call:
// Create our JsSIP instance and run it:varsocket=newJsSIP.WebSocketInterface('wss://sip.myhost.com');varconfiguration={sockets : [socket],uri : 'sip:alice@example.com',password : 'superpassword'};varua=newJsSIP.UA(configuration);ua.start();// Register callbacks to desired call eventsvareventHandlers={'progress': function(e){console.log('call is in progress');},'failed': function(e){console.log('call failed with cause: '+e.data.cause);},'ended': function(e){console.log('call ended with cause: '+e.data.cause);},'confirmed': function(e){console.log('call confirmed');}};varoptions={'eventHandlers' : eventHandlers,'mediaConstraints' : {'audio': true,'video': true}};varsession=ua.call('sip:bob@example.com',options);Want to see more? Check the full documentation at http://jssip.net/documentation/.
Check our Tryit JsSIP online demo:
- As Node module:
$ npm install jssip - As Bower module:
$ bower install jssip - Manually: jssip.net/download
- Main author. Core Designer and Developer.
- jmillan@aliax.net (Github @jmillan)
- Core Designer and Developer.
- ibc@aliax.net (Github @ibc)
- Core Designer.
- saghul@gmail.com (Github @saghul)
JsSIP is released under the MIT license.

