[原作]记一次FreeSWITCH延时转发分机的语音到网关的故障

事情是这样的

1. 设施

电信===>三汇网关----->FreeSWITCH----->分机

2. 故障现场

手机呼入,分机接听 通话会有延迟,延迟几秒甚至十几秒几十秒!

分机呼出没有问题!

经过多次测试, 发现话机接听的时间(响铃后多长时间)越长,通话延时越长

分机互拨没有延时,用软电话模拟网关呼入, 没有延时, 怀疑网关有问题,

于是找三汇.....(一吨测试抓包), 然后吧, 三汇说是 软交换送到我们网关就已近延迟了,问题还是在软交换上.

于是,更新到最新版本 v1.10.7

问题依旧o(╥﹏╥)o 

 

后来,用话机代替fs, 也没有延时o(╥﹏╥)o

然后测试fs抓包, [一顿操作找外援]仔细分析了下rtp包, 确实是fs 延迟了发包 (心态爆炸)

 

  这两个序号的rtp包就是分机发出的第一个rtp包(人工校对的), 确实可以看到是延时了 (本通延时1.7s,接听的早) 

No. Time src dest
1542 18:39:23.689 192.168.10.120 192.168.10.251
1931 18:39:25.387 192.168.10.251 192.168.10.252

3. 肿么办?

问了一圈, 说是 可能是 等待媒体造成的, 加 pre_answer 或者 直接playback个小语音, 或是加 ring_ready 

当时不方便测试就没测试

当时就想着, 把多余的配置, 能删的都删掉, 能注释的都注释, 再测试试试

然后吧.... 就好了!!! Σ(⊙▽⊙"a

还好 没关闭编辑的配置文件

于是一点点测试, 最终终于找到了

就是它, 是它, 它

1 <!-- dialplan/default.xml -->
2 <!-- 注释掉就这个好了 -->
3 <action application="set" data="ringback=${us-ring}"/>
View Code

 

至于原理, 请原谅我吧~~ 挨冻车脑

 

posted @ 2022-03-25 19:42  _Ong  阅读(740)  评论(0编辑  收藏  举报