freeswitch中有两个inband到2833格式的转换接口,分别是“start_dtmf”和“spandsp_start_dtmf”。 两个接口的功能是一样的,都是检测inband中的DTMF按键波形。 <action application="start_dtmf" /> <action application="spandsp_start_dtmf"/> fs官方的描述中已经有明确说明,“start_dtmf”接口为老版本接口,尽量...
spandsp_start_dtmf接口有识别出inband中的DTMF码,并转换为2833到A路。 同时,红框中的媒体流中的DTMF波形被过滤掉了大部分,遗留部分的波形大概有30ms左右,当A路设备(如TG)会同时检测2833和inband时,仍然有概率会发生重码的问题。 A路收到的媒体流中,有2833的DTMF码,和少量inband的DTMF码波形。 总结 freesw...
freeswitch中有两个inband到2833格式的转换接口,分别是“start_dtmf”和“spandsp_start_dtmf”。根据之前的测试结果,我们选择“spandsp_start_dtmf”。 <action application="spandsp_start_dtmf"/> 而2833到inband格式的转换接口只有一个“start_dtmf_generate”。 <action application="start_dtmf_generate" /> fs...
我发现 mod_spandsp的带内DTMF检测比内置的FreeSwitch检测更可靠。另外我发现它在Windows上不起作用,只在Linux上运行。
start_dtmf/stop_dtmf是默认的mod_dptool里的,于此类似的还有一个模块mod_spandsp也提供了两个APP:spandsp_start_dtmf/spandsp_stop_dtmf 个人感觉这个效果会更好一点。 如果使用inband的方式的话请注意几点: 存在准确性问题。 可能不是100%准确 如果使用非g711a/u编码,可能要不再适用。一些高压缩比的编码可能导...
第三点:我在一边写功能一边测试的时候竟然没有获取到DTMF的按键 第三点解疑答惑:我尝试加上start_dtmf,或者是spandsp_start_dtmf。最后都是以失败告终。所以我去改了sip profile,开启了这个参数,然后重新reload了mod_sofia这个模块。(加上这参数一起开一下试试,我当时是同时开启的这俩参数) 到目前为止需求我...
<action application="export" data="execute_on_media=spandsp_start_dtmf"/> 这样的配置在实际业务流程中,由于execute_on_media是通道变量,后一个会覆盖前一个,最后只会执行一个“spandsp_start_dtmf”的APP。 源码 查看switch_channel.c的源码,execute_on的函数如下,参数2“variable_prefix”为“execute_on_med...
start_dtmf/stop_dtmf是默认的mod_dptool里的,于此类似的还有一个模块 mod_spandsp 也提供了两个APP:spandsp_start_dtmf/spandsp_stop_dtmf 个人感觉这个效果会更好一点。如果使用inband的方式的话请注意几点:存在一些场景,在一条腿上获取到了dtmf事件,但是需要转给其他腿。特别是在bridge的时候。
dtmf ,这2个基本功能一样,send_dtmf常用于ESL Outbound外联模式,不需要指定uuid,而uuid_send_dtmf...
start_tdd_detect,<uuid>,Startbackground tdd detection,mod_spandsp status,,Show current status,mod_commands stop_tdd_detect,<uuid>,Stopbackground tdd detection,mod_spandsp strepoch,<string>,Convert a datestring into epoch time,mod_dptools