Package Exports
- jssip
- jssip/lib-es5/JsSIP
- jssip/lib-es5/JsSIP.js
- jssip/lib/Constants
- jssip/lib/Constants.js
- jssip/lib/DigestAuthentication
- jssip/lib/DigestAuthentication.js
- jssip/lib/JsSIP
- jssip/lib/JsSIP.js
- jssip/lib/NameAddrHeader
- jssip/lib/NameAddrHeader.js
- jssip/lib/Parser
- jssip/lib/Parser.js
- jssip/lib/RTCSession
- jssip/lib/RTCSession.js
- jssip/lib/RequestSender
- jssip/lib/RequestSender.js
- jssip/lib/SIPMessage
- jssip/lib/SIPMessage.js
- jssip/lib/Transactions
- jssip/lib/Transactions.js
- jssip/lib/URI
- jssip/lib/URI.js
- jssip/lib/Utils
- jssip/lib/Utils.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jssip) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Overview
- 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
NOTE
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
.
Support
For questions or usage problems please use the jssip public Google Group.
For bug reports or feature requests open an Github issue.
Getting Started
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: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/.
Online Demo
Check our Tryit JsSIP online demo:
Website and Documentation
Download
- As Node module:
$ npm install jssip
- Manually: jssip.net/download
Authors
José Luis Millán
- Main author. Core Designer and Developer.
- jmillan@aliax.net (Github @jmillan)
Iñaki Baz Castillo
- Core Designer and Developer.
- ibc@aliax.net (Github @ibc)
Saúl Ibarra Corretgé
- Core Designer.
- saghul@gmail.com (Github @saghul)
License
JsSIP is released under the MIT license.