- Runs in React Native.
- 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: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
- 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.

