Asterisk:让 IVR 在用户输入时说出数字

Asterisk:让 IVR 在用户输入时说出数字

我希望 IVR 在读取命令期间说出数字。

这意味着,我不想在用户输入之后说出数字,而是在用户输入期间说出数字。

例如输入您的用户代码:124567#

在此期间我希望 IVR 一一说出数字。例如:您输入了 1 ,您输入了 2 ,或者一,二,...

我知道可以使用循环来做到这一点,但这看起来像是不稳定的代码。

答案1

当您播放消息时,大多数情况下会影响 dtmf 识别。唯一不会影响的情况是用户通过数字协议(sip/iax2)从数字电话呼叫的情况。如果用户拨打 PSTN 线路,则两个方向的声音都通过同一根线,因此播放的声音可能比 dtmf 更大或频率相似,这会影响识别。

但如果仍然想这样做,你有两个选择

1) 用户了解该功能,并缓慢按下。如果是这样,您可以使用读取命令,将数字限制设置为 1,然后再使用另一个读取命令,其中包含前一个数字等。限制:加载盒子上的数字之间至少有 100 毫秒,如果没有负载,可以更小。

2)用户不知道。您需要了解 c/c++,阅读星号源(app_read.c 就足够了)并编写其他将等待数字并同时播放数字的应用程序。接缝好像并不复杂,但见注解有关识别。

相关内容