Asterisk

Issabel-Asterisk- 如何處理 IVR 上的多位輸入

  • August 9, 2020

我有一個 Issable 伺服器正在執行並與 Cisco Call Manager 正確集成。我使用 Issabel 伺服器作為我的 IVR 系統來接聽電話,而無需任何直接分機呼叫。

我的場景如下:當呼叫者撥打我的 DID 號碼時,我已經定義了 IVR,它可以正常播放,並要求使用者為接線員輸入“0”。

這是主 ivr 的配置。


[ivr-4] ; Main-Menu
include => ivr-4-custom
include => from-did-direct-ivr
exten => s,1,Set(TIMEOUT_LOOPCOUNT=0)
exten => s,n,Set(INVALID_LOOPCOUNT=0)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(skip),Set(IVR_MSG=custom/WelcomeMessage)
exten => s,n(start),Set(TIMEOUT(digit)=3)
exten => s,n,ExecIf($["${IVR_MSG}" != ""]?Background(${IVR_MSG}))
exten => s,n,WaitExten(5,)
exten => 291,1,Set(__IVR_DIGIT_PRESSED=291)
exten => 291,n(ivrsel-291),Goto(ext-miscdests,4,1)

exten => 0,1,Set(__IVR_DIGIT_PRESSED=0)
exten => 0,n(ivrsel-0),Goto(ext-miscdests,3,1)

如果來電者只輸入一位數字,上述工作正常,在我的情況下,這是正常工作的“0”。如果呼叫者輸入“291”,儘管啟用了“直接撥號”選項,呼叫不會傳遞給 CUCM。換句話說,IVR 只能理解一位數字,如果呼叫者撥打的數字超過一位,呼叫就會掉線。

我希望你能理解我的問題,因為我是 VOIP 服務的新手。

致以真誠的感謝和誠摯的問候

通過使用匹配 3 位數分機的出站路由修復了該問題。

在此處輸入圖像描述

在 IVR 中輸入一個數字或多個數字沒有區別,您應該查看中繼設置,可能您的 DTMF 模式與提供商衝突。嘗試不同的模式。

引用自:https://serverfault.com/questions/1019213