我读到过freeswitch中的start_dtmf应用程序,它用于检测带内双音多频。我已经测试过了,但它没有检测到任何DTMF。
<extension name="dtmf_test">
<condition field="destination_number" expression="^6000$">
<action application="answer"/>
<action application="start_dtmf"/>
<action application="bridge" data="user/6888"/>请帮帮我。
发布于 2011-07-29 12:34:00
这是个老问题,但值得再试一次。
假设
我假设用户/6888是dtmf数字的发起者。
Problem
对于任何基于呼叫的应用程序,需要记住的重要一点是,它处理呼叫分支/通道、被呼叫者、呼叫者或a分支、b分支。当执行特定于分支的基于拨号方案的应用程序时,这是非常重要的(即,仅在一条线路上启用),如'start_dtmf',请参阅documentation,特别是下面这一行:
上面列出的start_dtmf行在通道上启动start_dtmf应用程序,以允许检测DTMF。
在您的示例中,start_dtmf应用程序正在监听呼叫6000的用户,而不是桥接的分机用户/6888。freeswitch示例之所以有效,是因为它拨入IVR,呼叫者按下dtmf数字。
解决方案
要在另一个分支上设置start_dtmf应用程序,您需要查看exec_after_bridge application。
<action application="set" data="exec_after_bridge_app=start_dtmf"/>发布于 2016-08-03 22:39:28
我发现mod_spandsp的带内双音多频检测比内置的FreeSwitch检测更可靠,而且我发现它不能在Windows上工作,只能在Linux上工作。
发布于 2010-06-24 17:06:53
你怎么知道它不工作呢?
1)确保电话路径使用带内DTMF此测试呼叫涉及哪种SIP用户代理或电话?软电话通常具有更改DTMF设置的选项。
2)请确保您的控制台日志设置为DEBUG,以查看是否可以识别DTMF。通常,您可以通过在FreeSWITCH控制台上按F8键在调试中设置它。
再见!
https://stackoverflow.com/questions/3051518
复制相似问题