使用 OpenSIPS 3.1 作为中间注册商的 Mediaproxy 无法解决由于 NATed SDP 导致的音频缺失问题

问题描述

我正在尝试使用 OpenSIPS 3.1 配置 Mediaproxy 4.0.4 (mediaproxy.ag-projects.com) 以处理来自我们本地网络外部的 RTP 流量。设置如下:

UAC ---> IPA ---> IPB ---> Mediaproxy / OpenSIPS ---> Asterisk
  • IPA(公共 IP 地址 4x.xxx.xxx.xxx)映射端口 5060 和 10000 到 65535 到 IPB(本地 IP 地址 192.168.xxx.xxx)。 IPB实际上是keepalived管理的虚拟IP。
  • UAC 是在我的 Android 手机上运行的 MizuDroid 应用程序,该应用程序连接到我的家庭网络 (NATed),公共 IP 为 5.xxx.xxx.xxx。其他一切都与我们的办公网络有关。
  • OpenSIPS 作为中间注册商运行(Debian Buster 上的 OpenSIPS 3.1)
  • Mediaproxy Dispatcher 和 Relay 都与 OpenSIPS 运行在同一台服务器上

UAC 和 Asterisk 之间通过 OpenSIPS 的 SIP 对话似乎工作正常。端点连接、交换数据和挂断。问题在于 SDP 寻址(NAT 问题)导致无论哪种方式都没有音频,这是我希望 Mediaproxy 处理的问题。

在 opensips.cfg 中,我将到达 IPA 的调用的控制权传递给 媒体代理...

if (is_method("INVITE")) {
    if (!has_totag()) {
        if ($fd == "4x.xxx.xxx.xxx") {
            xlog("Passing control to Mediaproxy...");
            engage_media_proxy();
        }
    }
}

在 /etc/mediaproxy/config.ini 中,除设置外,所有设置均为默认值 调度员作为 IPB...

dispatchers = 192.168.xxx.xxx

...我已经尝试过将 adsd_ip 设置为 IPA 和不使用它...

advertised_ip = 4x.xxx.xxx.xxx

我可以看到 Mediaproxy 正在按照指示控制呼叫并对 SDP 进行更改,但它并没有解决我的音频问题。我做错了什么????

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...