架构图:
问题:
从Freeswitch发出的INVITE消息里,只有PCMA和PCUM编码,想在RTP引擎和WebRTC的话机之间使用OPUS编码(OPUS编码对丢包的容忍度更高,WebRTC话机跑在外网用户的电脑上,需要启用OPUS)
配置方法:
在OpenSIP的RTP引擎配置参数里进行转码:
rtp引擎配置参数加上转码参数
always-transcode codec-mask-all transcode-OPUS transcode-telephone-event
完整的参数配置如下:
modparam("cfgutils", "shvset", "rtpops_prefix=s:replace-origin replace-session-connection trust-address no-rtcp-attribute always-transcode codec-mask-all transcode-OPUS transcode-telephone-event")
实现的效果如下:
FS和话机之间是OPUS编码
话机应答了OPUS编码: