Plivo's Javascript SIP library
npm install plivo-jssip


* 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:
``javascript
// Create our JsSIP instance and run it:
var socket = new JsSIP.WebSocketInterface('wss://sip.myhost.com');
var configuration = {
sockets : [ socket ],
uri : 'sip:alice@example.com',
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:bob@example.com', 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
#### José Luis Millán
* Main author. Core Designer and Developer.
*
#### Iñaki Baz Castillo
* Core Designer and Developer.
*
#### Saúl Ibarra Corretgé
* Core Designer.
*
JsSIP is released under the MIT license.