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