Asterisk

星號:讓 IVR 在使用者輸入時說出數字

  • August 3, 2016

我希望我的 IVR 在讀取命令期間說出數字。

這意味著,我不想在使用者輸入之後說數字,而是在使用者輸入期間說。

例如,輸入您的使用者程式碼:124567#

在此期間,我希望 IVR 一個一個說出數字。類似於:您輸入了 1 ,您輸入了 2 或 ONE、TWO、…

我知道使用循環可以做到這一點,但這看起來像一個不穩定的程式碼。

當您播放消息時,在大多數情況下會影響 dtmf 辨識。只有當使用者通過數字協議(sip/iax2)從數字電話呼叫時才不會影響。如果使用者撥打 PSTN 線,則兩個方向的聲音通過同一根線走,結果播放可能比 dtmf 響亮或具有相似的頻率,這將影響辨識。

但如果仍然想這樣做,你有兩個選擇

  1. 使用者了解功能,請慢慢按下。如果是這樣,您可以使用將數字限制設置為 1 的讀取命令,然後再使用帶有文件的讀取命令,其中包含前一個數字等。限制:載入的盒子上的數字之間至少有 100 毫秒,如果沒有載入,可以更少。

  2. 使用者不知道。您需要了解 c/c++,閱讀星號源(app_read.c 已經足夠)並編寫其他將同時等待數字和播放數字的應用程序。接縫並不復雜,但請參閱有關辨識的說明。

引用自:https://unix.stackexchange.com/questions/297637