@khateeb00/react-jssip
TypeScript icon, indicating that this package has built-in type declarations

1.0.19 • Public • Published

JsSIP

Overview

A library built on jssip to support single and multiple audio calls on react and react-native frameworks.

  • Runs in the browser and mobile application(React Native).
  • SIP over WebSocket (use real SIP in your web and mobile apps)
  • Only audio calls supported currently (WebRTC)
  • Lightweight!
  • Easy to use and powerful user API
  • Works with OverSIP, Kamailio, Asterisk. Mobicents and repro (reSIProcate) servers (more info)

Peer dependency for mobile applications

Install react-native-webrtc

Getting Started

npm: npm install @khateeb00/react-jssip react-native-webrtc --save

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

// Create our JsSIP instance and run it:

import Sip from '@khateeb00/jssip'

Sip.register({
  'websocket': 'wss://sip.myhost.com:8080',
  "username": "alice",
  "domain": "alice@example.com",
  "password": "superpassword",
  "name": "Alice",
})

// Register callbacks to desired call events

// type of call events 'call_received','call_terminated', 'call_accepted','call_updated'
// It returns an object with remove function to remove the listener.
const eventhandler = Sip.on(call_events,() => listener())
//to remove listener
eventhandler.remove()

Android Installation

In android/app/main/AndroidManifest.xml add the following permissions before the <application> section.

<uses-feature android:name="android.hardware.audio.output" />
<uses-feature android:name="android.hardware.microphone" />

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />

iOS Installation

Navigate to <ProjectFolder>/ios/<ProjectName>/ and edit Info.plist, add the following lines.

<key>NSMicrophoneUsageDescription</key>
<string>Microphone permission description</string>

Package Sidebar

Install

npm i @khateeb00/react-jssip

Weekly Downloads

77

Version

1.0.19

License

ISC

Unpacked Size

66.6 kB

Total Files

7

Last publish

Collaborators

  • khateeb00