@khateeb00/react-jssip
v1.0.19
Published
A library built upon jssip to handle multiple calls for react and react-native frameworks.
Downloads
50
Readme
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": "[email protected]",
"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>