Giter Site home page Giter Site logo

rn-sip-app's Introduction

Open-source React Native SIP client for Android & iOS

Based on React Native and ReactNativePJSIP

Setup

1. Clone the repo:

$ git clone https://github.com/tariq86/rn-sip-app
$ cd rn-sip-app

2. Install dependencies:

$ npm install

2.1 (Optional - iOS only) Fix warnings

If you want to fix the yellow warnings that pop up when first opening the app, you'll need to perform the following module edits in XCode:

RNCallKit Module

  1. In the Project Navigator, open Libraries > RNCallKit.xcodeproj > RNCallKit > RNCallKit.m
  2. Add the following code right after the close of the (instancetype)init function closing bracket (around line 52):
+ (BOOL)requiresMainQueueSetup
{
   return NO;
}
Note: This change requires a full recompile of the app, so you will need to re-run the npm run ios command if the app is already running

3. Running on Android:

To run on Android, you can run either npm run android (recommended) or react-native run-android from the project root directory.

Note: I haven't tested on Android yet, so I cannot guarantee that it works!

4. Running on iOS:

To run on iOS, you can call either npm run ios (recommended) or react-native run-ios from the project root directory.

Note: I have only tested on an iPhone XS Emulator running 12.1, compiled using XCode version 10.2.

rn-sip-app's People

Contributors

datso avatar khanguslee avatar tariq86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rn-sip-app's Issues

Request Timeout always after a call?

Hi,

I have do the setting for SIP call and successfully create account. but MakeCall function always get response "Request Timeout", There is not any server issue. because i will same configuration apply for SessionTalk SIP Softphone App and Calling working fine.

Please any adding setting for your library. help me.

Thanks.

Replace react-native-callkit with react-native-callkeep

As the title suggests, I think it would be better to use the react-native-callkeep library for two main reasons:

  1. It seems to be more actively updated
  2. It supports both iOS (via CallKit) and Android (via ConnectionService)

I'm not sure how much work it will be to make the switch, but it definitely won't be quick/easy.

Navigator Component Removed

The latest releases of react-native no longer have the Navigator component, so we need to rework the app's navigation...

The "quick & easy" solution would be to add package react-native-deprecated-custom-components and use the Navigator component from there, but I think the better long-term solution would be to switch to something that is actively supported, i.e. react-navigation

Init apps and crash

I succed to install and npm run android, But after bundled and runing apps, its always force close and crash whitout message.

Steps to reproduce the behavior:

  1. clone project
  2. npm install & after that npm audit fix for fixing vulnarable package.
  3. add below code at the end line in gradle.properties for remove androidmanifest error
android.useAndroidX=true
android.enableJetifier=true
  1. change /android/app/build.gradle applicationId, its incorect. so MainActivity not runing correctly on Apps
....
 defaultConfig {
        applicationId "com.tariq86.rnsip"
......
  1. runing the apps with npm run android or npx react-native run-android

Expected behavior
I hope the can runing properly like a normal apps, so I can test how is it sip working in react native.

Desktop :

  • OS: macOS
  • Version HighSierra

Smartphone:

  • Device: Android emulator
  • OS: Android Version 8.0.0

Incomming call is not working..

I cloned the project and run in my android device outgoing call is working fine .but incoming call is not coming any solution for this?

WSS

We can use WSS in Transport?

Update README

Originally reported by @tchetagni here

Hi,
Please can you give a update working example of your project??
Thanks

We need more clear instructions in the README on how to get the app working on test devices.

Please open separate issues for any bugs that are encountered when attempting to get a working example up & running.

No Podfile

No pod file in ios. android not tested

I cannot make call on android device.

After register an account, I am trying to make a call but it is not working.
The app is crashed when the makecall method is called.

Screenshot_2020-08-07 Screenshot from 2020-08-07 19-12-44 png (PNG Image, 1600 ร— 900 pixels) - Scaled (83%)

Please help to fix this issue.

Hang-up button coming instead of call receive button and UI related issue

After the SIP account register success, I made a SIP call, but the incoming call screen appearing a hang-up button instead of the incoming button.

After checking the , i found this code:
const answerable = call.getState() == "PJSIP_INV_STATE_INCOMING";
return false, original value is call.getState() == PJSIP_INV_STATE_NULL.
For testing, i manually add the answerable = true. after that incoming button is coming, but when i press the answer button the app is crashing.

I checked the log through adb logcat *:S ReactNative:V ReactNativeJS:V command.

after pressing the answer button no log to the console.
Also, top of the header's icons are not showing, getting this error when I click the header button.
undefined is not an object (evaluating '_this$props.tab')

image

Now, how can I receive the incoming call and fix the UI?

Thanks.

Can't run

I've just install all the dependecies and run xcodeproj but no success.

Error:

Unknown argument type 'attribute' in method -[RCTUIManager setJSResponder:blockNativeResponder:]. Extend RCTConvert to support this type.

Screen Shot 2020-06-23 at 14 14 08

Can't answer call on Android

Cant answer a call because the component "IncomingCallModal" returns null because there is no call on the invoking of this component.
When i remove the line:

if (!call) {
return null
}

If works, but dont initializes the call because the same are listed as null.
Can you help me please?

Save Account Config to Persistent Storage

When the app loads, you are always presented with an empty account list, so you manually have to re-enter your SIP credentials every time you re-open the app.

To Reproduce
Steps to reproduce the behavior:

  1. Open app
  2. Go to Settings
  3. Create & Save an Account
  4. Restart the app
  5. Account is gone...

NOTE: I have only tested on the iOS emulator, so I'm not sure if other devices are affected. I also have not seen any references to persistent storage in the app code, so this is most likely an enhancement and a bug.

Error Could not parse the simulator list output

Describe the bug

info Found Xcode project RNSIP.xcodeproj
2019-12-16 19:52:35.329 simctl[2216:51794] CoreSimulator detected version change. Framework version (681.15) does not match existing job version (518.22). Attempting to remove the stale service in order to add the expected version.
error Could not parse the simulator list output. Run CLI with --verbose flag for more details.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @tariq86/[email protected] ios: react-native run-ios
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @tariq86/[email protected] ios script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/ameedjamous/.npm/_logs/2019-12-16T17_52_47_763Z-debug.log

2019-12-16T17_52_47_763Z-debug.log

To Reproduce
run npm run ios

Expected behavior
I would expect the simulator to show

Desktop (please complete the following information):

  • OS: Mac OS Catalina
  • Version [e.g. 22] 10.15.1 (19B88)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.