我有一个 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 服务的新手。
致以真诚的感谢和诚挚的问候
在 IVR 中输入一个数字或多个数字没有区别,您应该查看中继设置,可能您的 DTMF 模式与提供商冲突。尝试不同的模式。
通过使用匹配 3 位数分机的出站路由修复了该问题。