一、说明:
FreeSWITCH版本1.6.13
二、测试准备
软电话A的语音编码只配置iLBC;
软电话B的语音编码只配置PCMU;
A->B,编码协商失败,收到488消息。
三、修改文件vars.xml
添加如下一行:
<X-PRE-PROCESS cmd="set" data="media_mix_inbound_outbound_codecs=true"/>
四、重启FreeSWITCH
A->B,呼叫成功。
看日志,发现Fs和A协商了iLBC编码,然后和B协商了PCMU编码。
抓包验证,没问题。
五、思考
很多参考都说了sip_profiles/internal.xml的这两个配置需要修改为false。
<param name="inbound-late-negotiation" value="true"/>
<param name="inbound-zrtp-passthru" value="true"/>
经过测试发现不修改也行。应该是新版本的配置思路改变了吧。
zrtp看起来可能会在加密语音的时候生效。