• [原作]记一次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

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

  • 相关阅读:
    数据库中随机返回n条数据的方法
    sql中NULL之恨
    数据库性能的查询优化特刊待续
    sql中exists替换in的区别
    代码的效率问题看一下代码
    检测数据库性能的方法
    Linux随堂1
    设置网页的图标
    C# 线程、timer例句
    转:1.2 Oracle表空间的操作
  • 原文地址:https://www.cnblogs.com/lzpong/p/16056370.html
Copyright © 2020-2023  润新知