JsSIP, the JavaScript SIP library
JavaScript
Latest commit dcad37e Nov 20, 2016 @ibc ibc Update debug dep

README.md

Build Status

Overview

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

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 http://jssip.net/documentation/.

Online Demo

Check our Tryit JsSIP online demo:

Website and Documentation

Download

  • As Node module: $ npm install jssip
  • As Bower module: $ bower install jssip
  • Manually: jssip.net/download

Authors

José Luis Millán

Iñaki Baz Castillo

Saúl Ibarra Corretgé

License

JsSIP is released under the MIT license.