r-n-cvsip

React Native fork of the Javascript SIP library

Usage no npm install needed!

<script type="module">
  import rNCvsip from 'https://cdn.skypack.dev/r-n-cvsip';
</script>

README

React-Native JsSIP fork

  • Fixes Hold & Mute issues - react-native-webrtc doesnt support latest RTCPeerConnection::getSenders function.
  • Handles the obsolete WebRTC MediaStream.addStream function that is still used within React Native WebRTC Plugin
  • Send DTMF only supports INFO based transport.

Confirmed Compatible with minimum versions:

  • react: ^16.13.1
  • react-native: ^0.63.3
  • react-native-webrtc: ^1.84.0

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.

Original JsSIP library 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 https://jssip.net/documentation/.

Online Demo

Check our Tryit JsSIP online demo:

Website and Documentation

Download

Authors

React Native Fork

Original JsSIP

José Luis Millán

Iñaki Baz Castillo

Saúl Ibarra Corretgé

License

JsSIP is released under the MIT license.