
概述freeswitch是一款简单好用的VOIP开源软交换平台。fs的实际应用中,由于网络、配置等问题,经常会产生通话无声的问题。环境问题描述部署一台新服务器,作为SBC,对接B路,部署简图如下。A-......
freeswitch是一款简单好用的VOIP开源软交换平台。
fs的实际应用中,由于网络、配置等问题,经常会产生通话无声的问题。
环境问题描述部署一台新服务器,作为SBC,对接B路,部署简图如下。
A--fs1--fs2(fs3媒体服务器)--B
其中fs2和fs3是已有的老服务,运行正常。fs1是新部署的SBC,作为AB路通话的中转服务。
fs1部署配置完成后,开始测试,A发起呼叫B,B接听,但是AB都无声。
查看fs1的日志,均正常。
通过sngrep抓包,查看信令也正常,媒体流收发正常。
通过fs1本地录音,录音文件中有A路声音,没有B路声音。
通过fs2抓包,信令正常。
通过fs3抓包,fs3没有收到fs1的媒体流。
问题分析fs1上的sngrep中显示,B路的媒体流正常,说明fs1上B路的网卡上有正常的媒体流。
fs1的本地录音中没有B路声音,结合上一条,B路媒体流到达了fs1的网卡,但是没有进入fs1服务。
fs3的抓包显示,fs1的媒体流没有到达fs3的网卡。
初步分析,fs1的B路网卡上的媒体流不正常,网卡配置问题的可能性比较大。
解决方案查看fs1的服务器配置,发现fs1到fs3的静态路由没有配置。
$route-n
KernelIProutingtable
DestinationGatewayGenmaskFlagsMetricRefUseIface
0.0.0.0120.
10.0.129.010.55.55.110255.255.255.0UG000bond1
10.0.132.010.55.55.110255.255.255.0UG000bond1
10.55.55.00.0.0.0255.255.255.0U30000bond1
120.
172.17.0.00.0.0.0255.255.0.0U000docker0
添加完后,AB路通话正常。
总结实际生产环境中,网络和各种配置的异常情况特别多,需要根据实际情况一步步分析解决。
在没有静态路由的场景下,网卡到fs服务的媒体流转发也会失败。
空空如常
求真得真