Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android VoIP呼叫不';t在不同的网络中工作(使用PJSIP和Kamailio服务器)_Android_Ios_Objective C_Pjsip_Kamailio - Fatal编程技术网

Android VoIP呼叫不';t在不同的网络中工作(使用PJSIP和Kamailio服务器)

Android VoIP呼叫不';t在不同的网络中工作(使用PJSIP和Kamailio服务器),android,ios,objective-c,pjsip,kamailio,Android,Ios,Objective C,Pjsip,Kamailio,我已经在azure实例上安装了kamailio 4.2作为服务器,对于客户端,我正在使用适用于Android和iOS应用程序的PJSIP库。当两个设备都连接到同一网络时,语音呼叫似乎工作正常,但是,其中一个设备连接到不同的网络(或者当两个设备都在不同的网络中时),它们能够在SIP服务器上注册,两台设备之间甚至可以触发和接受通话,但两端都听不到音频。 *我甚至设置了rtpproxy 有人能帮我吗 提前感谢。请检查您在kamailio配置中提供的IP地址,使用外部IP地址,而不是内部IP地址。我也面

我已经在azure实例上安装了kamailio 4.2作为服务器,对于客户端,我正在使用适用于Android和iOS应用程序的PJSIP库。当两个设备都连接到同一网络时,语音呼叫似乎工作正常,但是,其中一个设备连接到不同的网络(或者当两个设备都在不同的网络中时),它们能够在SIP服务器上注册,两台设备之间甚至可以触发和接受通话,但两端都听不到音频。
*我甚至设置了rtpproxy

有人能帮我吗


提前感谢。

请检查您在kamailio配置中提供的IP地址,使用外部IP地址,而不是内部IP地址。

我也面临同样的问题。您只需正确安装和配置rtpproxy。在Debian中配置的步骤如下。 1) 安装RTP代理

 sudo apt-get install rtpproxy
2) 在Kamailio中,使其侦听rtpproxy的unix套接字,因为默认情况下Kamailio需要UDP

     vim /etc/kamailio/kamailio.cfg
而不是

 modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
使用

如果NAT def如下所示,请确保位于同一文件的顶部:

#!KAMAILIO
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_PRESENCE
**#!define WITH_NAT**
#!define WITH_TLS
#!define WITH_ACCDB
3) 现在开始rtpproxy

sudo service rtpproxy start
4) 重新启动Kamailio服务

sudo service kamailio start

为了得到详细的解释,我在谷歌上找到了一个博客。随便看看

您能否在两个网络中对SIP呼叫流进行Wireshark跟踪?在SIP中,各方与SDP就音频流进行协商。如果SDP中的IP地址正确,则应注意它们。
sudo service kamailio start