Debian 11, FreeSWITCH 1.10.11,源码编译
dialplan 配置的就是一个简单的 bridge
uuid_debug_media channel1 both on, 只有 r, 没有 w
uuid_debug_media channel2 both on, 正常,r和w一直在交替
修改 dialplan, 执行 answer 和 echo, 又是正常的
一时之间没有主意,准备重新安装和重新配置
但朋友说这是线上系统,这样折腾太花时间
只好埋头检查配置文件
终于在 sipprofile 找到这个配置
<param name="inbound-proxy-media" value="true"/>
删除这个配置之后重启,就OK了
查了下官方资料,用 doubao 翻译,结果是:
- 代理模式:媒体流通过 FreeSWITCH,无任何媒体处理能力
- RTP 由 FreeSWITCH 代理转发(仅修改 SDP 中的连接地址
c=字段) - FreeSWITCH 无法控制甚至无法识别 SDP 中的其他参数,仅做透传处理
- 两端终端必须协商一致使用相同编码,FreeSWITCH 不会提供任何编码适配支持
- 几乎所有高级功能均无法使用
- RTP 由 FreeSWITCH 代理转发(仅修改 SDP 中的连接地址
没人说代理模式不能用呀,见鬼了
笔者猜测的是,媒体模式还是用默认的比较好,代理模式的实现可能有bug, 慎用