Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including jssip with all npm packages installed. Try it out:

var jssip = require("jssip")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

jssip v3.5.7

the Javascript SIP library

Build Status Code Quality: Javascript Total Alerts



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.


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://');
var configuration = {
  sockets  : [ socket ],
  uri      : '',
  password : 'superpassword'

var ua = new JsSIP.UA(configuration);


// 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: '+;
  'ended': function(e) {
    console.log('call ended with cause: '+;
  'confirmed': function(e) {
    console.log('call confirmed');

var options = {
  'eventHandlers'    : eventHandlers,
  'mediaConstraints' : { 'audio': true, 'video': true }

var session ='', options);

Want to see more? Check the full documentation at

Online Demo

Check our Tryit JsSIP online demo:

Website and Documentation



José Luis Millán

Iñaki Baz Castillo

Saúl Ibarra Corretgé


JsSIP is released under the MIT license.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free