# cordova-plugin-sip **Repository Path**: codeox/cordova-plugin-sip ## Basic Information - **Project Name**: cordova-plugin-sip - **Description**: Cordova Plugin For SIP Calls (IOS, Android) (Linphone Framework) - **Primary Language**: TypeScript - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-07-12 - **Last Updated**: 2023-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cordova-plugin-sip

SIP plugin for Cordova & Phonegap Apps (IOS and Android)

IOS

Build Settings -> Header Search Paths

``` "$(SRCROOT)/YOURPROJECTNAME/Plugins/cordova-plugin-sip/include" "$(SRCROOT)/YOURPROJECTNAME/Plugins/cordova-plugin-sip/include/belle-sip" "$(SRCROOT)/YOURPROJECTNAME/Plugins/cordova-plugin-sip/include/ortp" "$(SRCROOT)/YOURPROJECTNAME/Plugins/cordova-plugin-sip/include/linphone" "$(SRCROOT)/YOURPROJECTNAME/Plugins/cordova-plugin-sip/include/mediastreamer2" ```

You must import these files in the Bridging Header File

``` #include "Plugins/cordova-plugin-sip/include/linphone/lpconfig.h" #include "Plugins/cordova-plugin-sip/include/linphone/linphonecore.h" #include "Plugins/cordova-plugin-sip/include/linphone/linphonecore_utils.h" ```

IOS Permissions

You must include following permissions ``` NSCameraUsageDescription Description Why you use this permission NSMicrophoneUsageDescription Description Why you use this permission ```

Android

Deploy and Run!

Usage

Update 1/2/2018 - Typescript definitions are partially implemented. Will finish soon. ``` var sipManager = { register: function () { cordova.plugins.sip.login('203', '203', '192.168.1.111:5060', function (e) { if (e == 'RegistrationSuccess') { console.log(e); sipManager.listen(); } else { alert("Registration Failed!"); } }, function (e) { console.log(e) }) }, call: function () { cordova.plugins.sip.call('sip:111@192.168.1.111:5060', '203', sipManager.events, sipManager.events) }, listen: function () { cordova.plugins.sip.listenCall(sipManager.events, sipManager.events); }, hangup: function () { cordova.plugins.sip.hangup(function (e) { console.log(e) }, function (e) { console.log(e) }) }, events: function (e) { console.log(e); if (e == 'Incoming') { var r = confirm("Incoming Call"); if (r == true) { cordova.plugins.sip.accept(true, sipManager.events, sipManager.events); } else { } } if (e == 'Connected') { alert("Connected!"); sipManager.listen(); } if (e == 'Error') { alert("Call Error!"); sipManager.listen(); } if (e == 'End') { alert("Call End!"); sipManager.listen(); } } } ```