datso / react-native-pjsip Goto Github PK
View Code? Open in Web Editor NEWA PJSIP module for React Native.
Home Page: http://datso.github.io/react-native-pjsip
License: GNU General Public License v3.0
A PJSIP module for React Native.
Home Page: http://datso.github.io/react-native-pjsip
License: GNU General Public License v3.0
The only reference to this method changeCodecSettings
is in the docs in this commit ad239c1
The function is undefined.
When i try to register different port like 7060 getting register failure error
when i try to start endpoid i am getting following warn in my console and i never get any event
Possible Unhandled Promise Rejection (id: 1):
Cannot read property 'start' of undefined
TypeError: Cannot read property 'start' of undefined
bellow is my code
import {Platform, PushNotificationIOS, AppState} from 'react-native'
import {Endpoint} from 'react-native-pjsip'
const telecmi={}
telecmi['startAgent']= async function(username,password)
{
let endpoint = new Endpoint();
console.log(endpoint)
let state = await endpoint.start(); // List of available accounts and calls when RN context is started, could not be empty because Background service is working on Android
let {accounts, calls, settings, connectivity} = state;
let configuration = {
"name": "John",
"username":'xxxxxxx',
"domain": "voip.telecmi.com",
"password":'xxxxxxx',
"proxy": null,
"transport": null, // Default TCP
"regServer": null, // Default wildcard
"regTimeout": null // Default 3600
};
endpoint.createAccount().then((account) => {
alert(account)
console.log("Account created", account);
});
endpoint.on("registration_changed", (account) => {
console.log(account)
});
}
export default telecmi;
Hi - we are struggling with the redirect/transfer call features.
This issue occurs both when we attempt to redirect an incoming call (prior to answering it) and when we attempt to transfer a call after it has been answered.
Here is our code for calling the PJSIP endpoint:
Redirects:
redirectCall = destination => {
const { activeCallId, incomingCallId, calls, endpoint, accounts } = this.state
const call = calls[activeCallId || incomingCallId]
endpoint.redirectCall(accounts[call.getAccountId()], call, destination);
};
Transfers:
xferCall = destination => {
const { activeCallId, calls, endpoint, accounts } = this.state
const call = calls[activeCallId]
endpoint.xferCall(accounts[call.getAccountId()], call, destination);
};
Is there something you see that we are doing wrong?
Because if you are using PJSIP ,I can not able to use this for my commercial purpose
I set the headers as shown here. But in the SIP trace there are no my headers.
let options = {
headers: {
"P-Assserted-Identity": "Header example",
"X-UA": "React native"
}
};
let call = endpoint.makeCall(account, destination, options);
03-06 19:01:44.191 E/PjSipService( 3370): Error while loading OpenH264 native library
03-06 19:01:44.191 E/PjSipService( 3370): java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/.../lib/x86/libopenh264.so: has text relocations
03-06 19:01:44.191 E/PjSipService( 3370): at java.lang.Runtime.loadLibrary(Runtime.java:372)
03-06 19:01:44.191 E/PjSipService( 3370): at java.lang.System.loadLibrary(System.java:1076)
03-06 19:01:44.191 E/PjSipService( 3370): at com.carusto.ReactNativePjSip.PjSipService.load(PjSipService.java:157)
03-06 19:01:44.191 E/PjSipService( 3370): at com.carusto.ReactNativePjSip.PjSipService.access$000(PjSipService.java:36)
03-06 19:01:44.191 E/PjSipService( 3370): at com.carusto.ReactNativePjSip.PjSipService$1.run(PjSipService.java:149)
03-06 19:01:44.191 E/PjSipService( 3370): at android.os.Handler.handleCallback(Handler.java:739)
03-06 19:01:44.191 E/PjSipService( 3370): at android.os.Handler.dispatchMessage(Handler.java:95)
03-06 19:01:44.191 E/PjSipService( 3370): at android.os.Looper.loop(Looper.java:148)
03-06 19:01:44.191 E/PjSipService( 3370): at android.os.HandlerThread.run(HandlerThread.java:61)
Hi, are you planning to support video in the future?
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- Telephony permissions -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<!--Telephony tablet permissions -->
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
...
<application>
...
<service
android:name="com.carusto.ReactNativePjSip.PjSipService"
android:enabled="true"
android:exported="true" />
<receiver android:name="com.carusto.ReactNativePjSip.PjSipConnectivityReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
...
</application>
Hey, @datso .
have you done the echo cancellation and Noise Reduction in PJSIP configs.
I've read that we can do that but we've to set some Long value to it.
so if you have any idea about this.
please let me know.
thanks.
Did you provide a method for us to send a 183 request? no rings
E/PjSipService: Error while starting PJSIP
java.lang.Exception: Title: pjsua_transport_create(type, &tcfg, &tid)
Code: 171060
Description: Unsupported transport (PJSIP_EUNSUPTRANSPORT)
Location: ../src/pjsua2/endpoint.cpp:1526
at org.pjsip.pjsua2.pjsua2JNI.Endpoint_transportCreate(Native Method)
at org.pjsip.pjsua2.Endpoint.transportCreate(Endpoint.java:178)
at com.carusto.ReactNativePjSip.PjSipService.load(PjSipService.java:197)
at com.carusto.ReactNativePjSip.PjSipService.access$100(PjSipService.java:52)
at com.carusto.ReactNativePjSip.PjSipService$2.run(PjSipService.java:236)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
When i try to use TCP i am getting (PJSIP_ETPNOTSUITABLE), If i use UDP then i can able to register with my sip server , But when i make a call to other sip, i can't able to hangup, i am facing the same issue in you demo app also
Is there any way to modify TURN/STUN server information via the JS api?
Great job with this library, btw!
When i try to register i am getting endpoint.createAccont is not a function bellow is my code sample
const endpoint = new Endpoint();
const state = await endpoint.start();
let account = await endpoint.createAccount(configuration);
I saw some code in ios folder, can you please describe what do I need to integrate ios
hi,
I have the problem.When I called hangupCall(call), the log is hangup success but it also tries to call.
how can I fix that?
let endpoint = new Endpoint();
let state = await endpoint.start();
let account = await endpoint.createAccont(configuration);
use this code can't createAccont; no result returned;
Could you please update your example using react-navigation and dva?
Hi all - we are facing an issue on iOS where the microphone is not muted when the user presses mute.
In our code we are doing:
const { activeCallId, calls, endpoint } = this.state
endpoint.muteCall(calls[activeCallId])
And I can trace this through logs to see that the appropriate code is running on PJSIP but unfortunately the microphone is not muted & the other parties on the call can still hear the person who was muted.
In case it is relevant, other functions such as hold/unhold and useSpeaker/useEarpiece do function properly and we call them in a very similar manner.
Anyone else facing this issue?
I am receiving this error after linking the react-native-pjsip and unlinking it multiple times, I'm not sure how to fix this issue. Any help would be appreciated! Ill put the code that is using pjsip below.
import {Endpoint} from 'react-native-pjsip';
// Init PJSIP
let endpoint = new Endpoint();
let state = endpoint.start();
let {accounts, calls} = state;
let configuration = {proxy: null};
let account;
createSipAcc () {
let userConfig = this.state.user.config;
configuration.name = userConfig.sip_name;
configuration.username = userConfig.sip_user;
configuration.domain = userConfig.sip_domain;
configuration.password = userConfig.sip_password;
endpoint.createAccount(configuration)
.then((returnAcc) => {
console.log(returnAcc);
account = returnAcc;
});
}
I started a completely new project, with the objective of making the simplest React/Redux app that is capable of registering and making calls using react-native-pjsip
. Here is the code.
The current issues are:
/index.ios.js
and /index.android.js
to both contain:import { AppRegistry } from 'react-native';
import AppComponent from './src/index';
AppRegistry.registerComponent('RNPJSipBasicExample', () => AppComponent);
react-native link
Build Settings
set Enable Bitcode
to No
os/%PROJECT_NAME%/Info.plist
android/app/src/main/AndroidManifest.xml
react-native link
android/app/src/main/java/com/xxx/MainActivity.java
/src/index.js
:configureStore.js
:/actions/pjsip.js
, containing two synchronous action creators createAccountSuccess
and onAccountChanged
and three asynchronous action creators (thunks) init
, createAccount
, and makeCall
/reducers/index.js
which uses combineReducers
on just the reducer in /reducers/pjsip
. State has just a pjsip
key containing the object related to react-native-pjsip
./constants/index.js
to export all the used constants.Add some components to /components
. This is simply App
and AppContainer
components, which show input fields to fill out for account registration. AppContainer
connects App
to the store so it can dispatch the actions in /actions/pjsip.js
. App also contains a component
MakeCallTestwhich is just an input field with the extension to dial, and a button to make the call. Root component renders
AppContainerinside of the react-redux
Provider`
react-native run-ios
works, I have the app in the simulator. I try to register to my SIP server, it works, I try to make a call, and on the server I see: PJSIP syntax error exception when parsing 'Request Line' header
. Sometimes this doesn't happen, sometimes it does.
react-native-run-android
Add ability to send custom headers and determine whether audio or video are enabled.
Hi i tried to update pjsip using the script "vialerbuild" here: https://github.com/VoIPGRID/Vialer-pjsip-iOS
And im integrating the updated VialerPJSIP to this sdk but im getting some errors. Could you please update pjsip version? Im not familiar with that code .
Thanks!!!
Hello, How to add the G.711 to the codecs list please?
I see that there's a recompilation for PJSIP 2.7.0 (latest) . I wanted to inquire if opus codec was added to the build process
will it work on 0.49? I'm having a hard time on initializing endpont.
i have clone react-native-pjsip-app and run.after i filled all required fields then i click OK but nothing happened. why is that ? anybody has the same problem?
Once the PjSip Service has been started if at any time after that point the app is closed from the Recent Apps screen then a Null Pointer Exception occurs in the PjSipService.onStartCommand method, Line 240.
From logcat:
10-17 13:28:51.456 5903 5903 E AndroidRuntime: java.lang.RuntimeException: Unable to start service com.carusto.ReactNativePjSip.PjSipService@ced8a84 with null: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4079) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.app.ActivityThread.access$2400(ActivityThread.java:221) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1897) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.os.Looper.loop(Looper.java:158) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7224) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at com.carusto.ReactNativePjSip.PjSipService.onStartCommand(PjSipService.java:240) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4062) 10-17 13:28:51.456 5903 5903 E AndroidRuntime: ... 8 more
Hi,
The situation is that call_terminated
cannot be called when App calls to someone then hang up the phone call directly.
On the other hand, call_terminated
can be called when App accepts a phone call then hanged up by the receiver.
Does any event handle this event?
Thanks a lot.
Calling pjlib from unknown/external thread. You must “ ”register external threads with pj_thread_register()
Hi,
The situation is that I got the newest Vialer-pjsip-iOS
and compile it to generate a newer VialerPJSIP.framework and replace old one.
But, the following errors occur when I use new VialerPJSIP.framework and build it on XCode
Undefined symbols for architecture arm64:
"_pjsua_vid_dev_count", referenced from:
-[PjSipEndpoint changeOrientation:] in libRTCPjSip.a(PjSipEndpoint.o)
"_pjsua_vid_dev_set_setting", referenced from:
-[PjSipEndpoint changeOrientation:] in libRTCPjSip.a(PjSipEndpoint.o)
"_pjsua_vid_preview_get_win", referenced from:
-[PjSipPreviewVideoViewManager set_deviceId:forView:withDefaultView:] in libRTCPjSip.a(PjSipPreviewVideoViewManager.o)
"_pjsua_vid_preview_param_default", referenced from:
-[PjSipPreviewVideoViewManager set_deviceId:forView:withDefaultView:] in libRTCPjSip.a(PjSipPreviewVideoViewManager.o)
"_pjsua_vid_preview_start", referenced from:
-[PjSipPreviewVideoViewManager set_deviceId:forView:withDefaultView:] in libRTCPjSip.a(PjSipPreviewVideoViewManager.o)
"_pjsua_vid_win_get_info", referenced from:
-[PjSipVideo setWindowId:] in libRTCPjSip.a(PjSipVideo.o)
-[PjSipVideo layoutSubviews] in libRTCPjSip.a(PjSipVideo.o)
"_pjsua_vid_win_set_size", referenced from:
_onCallMediaEvent in libRTCPjSip.a(PjSipEndpoint.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Please advise.
Thanks
Hi,
I just run the app on my emulator based on SDK 23.
The problem is triggered when I use another device to call my app.
It shows initializing, then it is terminated after a few seconds.
I figure out the message which comes from the state PJSIP_INV_STATE_NULL
.
I have no idea how to turn into PJSIP_INV_STATE_INCOMING
??
Any idea?
btw, works fine in iOS
after upgrade react-native-pjsip to 2.7.1 ,iOS call kit endCall can't be fired
Hi @datso How far along is this project? Do you have it working? How much longer would it take to complete? Would you be open to working on it / implementing it in our app for contract work? ($).. What did you originally make this for?
There is missing changeOrientation method for the Android version. It should work the same as on iOS.
Using: qemu-system-i386 - API 23 emulator
Recurring crashes using Android Studio emulator when adding account:
03-08 11:30:26.773 4033-4070/ D/PjSipService: Handle "account_create" action ({"password":"***","regTimeout":"","username":"***","proxy":"","name":"***","domain":"***","regServer":"","callback_id":3,"transport":""})
03-08 11:30:26.780 4033-4070/ D/PjSipLogWriter: 11:30:26.780 pjsua_core.c !SIP UDP socket reachable at 10.0.2.15:40529
03-08 11:30:26.782 4033-4070/ D/PjSipLogWriter: 11:30:26.781 udp0xa1230200 SIP UDP transport started, published address is 10.0.2.15:40529
03-08 11:30:26.782 4033-4070/ A/libc: ../src/pjsua-lib/pjsua_acc.c:401: pjsua_acc_add: assertion "pjsua_var.acc_cnt < (sizeof(pjsua_var.acc)/sizeof(pjsua_var.acc[0]))" failed
03-08 11:30:26.783 4033-4070/ A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 4070 (PjSipService)
I've tried using it, with my correct credentials that worked on CSipsimple example on native android but using your library does give me 'Unauthorized authentication'.
I am getting this when trying to place a call on a Release build on a real device.
This only happens on the iOS device.
Android device and the iOS simulator works perfectly fine.
updated 12/6/2017
@datso
iOS 11.2
Xcode 9.2 (9C40b)
17:54:19.236 pjsua_call.c !Making call with acc #0 to sip:[email protected]
17:54:19.236 pjsua_aud.c .Set sound device: capture=-1, playback=-2
17:54:19.236 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@16000/1/20ms
17:54:19.236 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.381 myMessengerMobile[6770:2868651] 17:54:19.381 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.384 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@44100/1/20ms
17:54:19.384 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.449 myMessengerMobile[6770:2868651] 17:54:19.449 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.451 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@48000/1/20ms
17:54:19.451 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.496 myMessengerMobile[6770:2868651] 17:54:19.496 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.498 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@32000/1/20ms
17:54:19.498 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.543 myMessengerMobile[6770:2868651] 17:54:19.543 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.546 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@16000/1/20ms
17:54:19.546 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.588 myMessengerMobile[6770:2868651] 17:54:19.588 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.591 pjsua_aud.c ..Opening sound device (speaker + mic) PCM@8000/1/20ms
17:54:19.591 coreaudio_dev. ...Using VoiceProcessingIO audio unit
2017-12-05 17:54:19.635 myMessengerMobile[6770:2868651] 17:54:19.635 ERROR: [0x1a0538000] 1233: AUIOClient_StartIO failed (-66637)
17:54:19.636 pjsua_aud.c ..Unable to open sound device: Unknown error 506637 [status=506637]
iOS version can't call in background mode, could you publish an version using react-navigation and vialer-ios?
Hi @datso ,
Is there a reason, events module is in peerDependencies instead of dependencies ? Can it be moved?
Hi,
Everything works fine in IPV4 but in the IPV6 environment.
I cannot even add an account to this situation.
Could someone give me an idea of the troubleshooting?
Should I modify my sip server or my RN code?
Btw, thanks for this awesome lib.
There is the message from the console:
13:37:50.184 pjsua_acc.c Adding account: id=allen <sip:[email protected]>
13:37:50.185 pjsua_acc.c .Account allen <sip:[email protected]> added with id 0
13:37:50.185 pjsua_acc.c .Acc 0: setting registration..
13:37:50.185 sip_transport. ..Warning: unable to determine local interface, fallback to default interface!
13:37:50.185 endpoint ..Request msg REGISTER/cseq=40591 (tdta0x134821200) created.
13:37:50.186 sip_transport. ..Warning: unable to determine local interface, fallback to default interface!
13:37:50.186 tsx0x1348026a8 ...Transaction created for Request msg REGISTER/cseq=40592 (tdta0x134821200)
13:37:50.186 tsx0x1348026a8 ..Sending Request msg REGISTER/cseq=40592 (tdta0x134821200) in state Null
13:37:50.186 sip_resolve.c ...DNS resolver not available, target 'sip.myserver.com:0' type=TCP will be resolved with getaddrinfo()
13:37:50.189 sip_resolve.c ...Failed to resolve 'sip.myserver.com'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.189 tsx0x1348026a8 ...Failed to send Request msg REGISTER/cseq=40592 (tdta0x134821200)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.189 tsx0x1348026a8 ...State changed from Null to Terminated, event=TRANSPORT_ERROR
13:37:50.189 pjsua_acc.c .....SIP registration failed, status=502 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.189 pjsua_acc.c .....Scheduling re-registration retry for acc 0 in 0 seconds..
13:37:50.189 sip_reg.c ..Error sending request, status=70018
13:37:50.189 pjsua_acc.c ..Unable to create/send REGISTER: gethostbyname() has returned error (PJ_ERESOLVE) [status=70018]
13:37:50.199 tsx0x1348026a8 !Timeout timer event
13:37:50.199 tsx0x1348026a8 .State changed from Terminated to Destroyed, event=TIMER
13:37:50.199 tdta0x13482120 ..Destroying txdata Request msg REGISTER/cseq=40592 (tdta0x134821200)
13:37:50.199 tsx0x1348026a8 Transaction destroyed!
13:37:50.957 pjsua_acc.c Acc 0: setting registration..
13:37:50.958 sip_transport. .Warning: unable to determine local interface, fallback to default interface!
13:37:50.959 endpoint .Request msg REGISTER/cseq=58356 (tdta0x13682bc00) created.
13:37:50.959 sip_transport. .Warning: unable to determine local interface, fallback to default interface!
13:37:50.959 tsx0x1368288a8 ..Transaction created for Request msg REGISTER/cseq=58357 (tdta0x13682bc00)
13:37:50.960 tsx0x1368288a8 .Sending Request msg REGISTER/cseq=58357 (tdta0x13682bc00) in state Null
13:37:50.960 sip_resolve.c ..DNS resolver not available, target 'sip.myserver.com:0' type=TCP will be resolved with getaddrinfo()
13:37:50.963 sip_resolve.c ..Failed to resolve 'sip.myserver.com'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.963 tsx0x1368288a8 ..Failed to send Request msg REGISTER/cseq=58357 (tdta0x13682bc00)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.963 tsx0x1368288a8 ..State changed from Null to Terminated, event=TRANSPORT_ERROR
13:37:50.963 pjsua_acc.c ....SIP registration failed, status=502 (gethostbyname() has returned error (PJ_ERESOLVE))
13:37:50.963 pjsua_acc.c ....Scheduling re-registration retry for acc 0 in 292 seconds..
13:37:50.964 sip_reg.c .Error sending request, status=70018
13:37:50.964 pjsua_acc.c .Unable to create/send REGISTER: gethostbyname() has returned error (PJ_ERESOLVE) [status=70018]
13:37:50.964 pjsua_acc.c Scheduling re-registration retry for acc 0 in 300 seconds..
13:37:50.972 tsx0x1368288a8 Timeout timer event
13:37:50.972 tsx0x1368288a8 .State changed from Terminated to Destroyed, event=TIMER
13:37:50.972 tdta0x13682bc0 ..Destroying txdata Request msg REGISTER/cseq=58357 (tdta0x13682bc00)
13:37:50.972 tsx0x1368288a8 Transaction destroyed!
Yo, is the iOS version already working bro? I'd love to try it out.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.