【freeswitch】SDP媒体协商问题定位问题

这两天碰到一个问题,freeswitch呼叫软终端(eyebeam,x-lite等)怎么也呼不起来。有的是摘机后fs直接挂掉,有的是呼叫直接建立不了,回488消息。定位了一天,以为是SDP媒体协商问题。

FS也确实在日志里打印了媒体协商问题。


媒体发送不了导致挂机

FS在invite消息里带的SDP,


FS在invite消息里带的SDP

看了一下payload number是8 101, 一般来说用ulaw肯定没有问题。

再看一下软终端(eyebeam)回200OK时带的SDP


软终端带的SDP

IP地址和port都是无效的,所以freeswitch无法发送媒体包,进而导致挂机。

看了一下软终端的codec,也是OK的啊。


eyebeam的codec列表

郁闷了半天,后来发现freeswitch的originate命令中带了media_webrtc=true参数导致SDP无法协商。

media_webrtc=true是用于webrtc的。

把这个参数去掉后,就正常了。

观察了一下正常的SDP


fs上报sdp(不带media_webrtc参数)

果然使用的SDP格式不一样呢。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容