2

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

谁能帮帮我吗?

提前致谢。

4

2 回答 2

1

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

于 2015-12-15T05:58:55.183 回答
0

我也遇到过同样的问题。您唯一需要做的就是正确安装和配置 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

于 2016-08-22T17:02:17.997 回答