我已经在 azure 实例上设置了 kamailio 4.2 作为服务器,对于客户端,我正在为 Android 和 iOS 应用程序使用 PJSIP 库。当两个设备都连接到同一个网络时,语音呼叫似乎运行良好,但是,任何一个设备连接到不同的网络(或者当两个设备都在不同的网络中时),它们都能够在 SIP 服务器上注册,甚至可以在两个设备之间触发和接受呼叫,但两端都没有听到音频。
* 我什至设置了 rtpproxy。
谁能帮帮我吗?
提前致谢。
我已经在 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")
利用
modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy/rtpproxy.sock")
如果 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
详细的解释,我google了一下,找到了一个博客。您可以放心地看一看。带有 ka 的 RTPproxy