versatica/JsSIP

JsSIP, the JavaScript SIP library

JavaScript

2,607

1,170 commits

updated May 6, 2026

See the code

README

Overview

Website and Documentation

jssip.net

Install

$ npm install jssip

Getting Started

The following simple JavaScript code creates a JsSIP User Agent instance and makes a SIP call:

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,
  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/.

Online Demo

tryit.jssip.net

Support

Authors

José Luis Millán

Iñaki Baz Castillo

Saúl Ibarra Corretgé

License

JsSIP is released under the MIT license.

versatica/JsSIP

JsSIP, the JavaScript SIP library

JavaScript

2,607

1,170 commits

updated May 6, 2026

See the code

README

Overview

Website and Documentation

jssip.net

Install

$ npm install jssip

Getting Started

The following simple JavaScript code creates a JsSIP User Agent instance and makes a SIP call:

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,
  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/.

Online Demo

tryit.jssip.net

Support

Authors

José Luis Millán

Iñaki Baz Castillo

Saúl Ibarra Corretgé

License

JsSIP is released under the MIT license.

Project health

Overall

3.1/10

Maintained

0/10

Code review

1/10
OpenSSF Scorecard

Latest release

3.13.8 · May 6, 2026

Releases this year

18

Significant stargazers

Tim Neutkens

6,147 followers · starred Aug 2016

Santiago Gimeno

223 followers · starred Jul 2012

Sander Verweij

483 followers · starred Jan 2022

Maarten Coppens

25 followers · starred Feb 2019