- 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 jssip public 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: var socket = new JsSIP.WebSocketInterface('wss://sip.myhost.com'); var configuration = { sockets : [ socket ], uri : 'sip:[email protected]', password : 'superpassword' }; var ua = new JsSIP.UA(configuration); ua.start(); // Register callbacks to desired call events var eventHandlers = { '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'); } }; var options = { 'eventHandlers' : eventHandlers, 'mediaConstraints' : { 'audio': true, 'video': true } }; var session = ua.call('sip:[email protected]', options);
Want to see more? Check the full documentation at https://jssip.net/documentation/.
Check our Tryit JsSIP online demo:
- As Node module:
$ npm install jssip - Manually: jssip.net/download
- Main author. Core Designer and Developer.
- [email protected] (Github @jmillan)
- Core Designer and Developer.
- [email protected] (Github @ibc)
- Core Designer.
- [email protected] (Github @saghul)
JsSIP is released under the MIT license.