Назад | Перейти на главную страницу

Issabel-Asterisk - Как обрабатывать многозначный ввод в IVR

У меня запущен проблемный сервер и правильно интегрирован с 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 конфликтует с провайдерами. Попробуйте разные режимы.