如何让freeswitch支持inband按键,包括检测识别以及发送

 

传统模拟线路转数只能inband,所以要fs这里开启inband的检测以及发送。

先说识别:

方法一:官方文档和书本都推荐的,对应路由增加这句话

            
            

结果:识别率非常糟糕,误检或者漏检。大坑,千万别用。

 

方法二:官方文档上面找到的,引用 mod_spandsp 这个模块来进行识别,对应路由增加这句

             

结果:识别率非常高。关于这个模块,官方文档有这个说明:

Inband DTMF detectors in mod_spandsp can detect duration in addition to frequency. The Teletone detector in the FreeSWITCH core is based on an old version of spandsp and should be replaced with this detector.

最后一句话是重点,意思是自带的检测器(方法1)基于spandsp的旧版本,应替换为该检测器。真是天雷滚滚。

 

再来发送的,只找到这个方法

            

结果:效果还可以,不过按键多了,会报错,报错了就不再发码了,没有找到更好的解决方法,有更好的方法可以评论区留言。 

你可能感兴趣的:(Linux,freeswitch)