Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2017-12-26 11:06:44 +0400

leitalex Gravatar leitalex

Как изменить таймаут ожидания последней цифры при донаборе в IVR

Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на FreePBX. Одна из них (в главном офисе) является условно "центральной" АТС, остальные соединены с ней по iax2-транкам. Внутренние локальные номера везде трехзначные. Для звонков в филиалы используются двузначные префиксы 01,02,...09. Т.е. для звонка на номер 555 филиала №2 набирается 02555. На "центральном" Freepbx настроено IVR, в котором включен прямой донабор внутреннего номера (Direct Dial). Донабор успешно работал и для номеров других филиалов, т.е. дозвонившись на IVR центрального офиса, можно было донабрать, например, номер 02555 и звонок переводился на номер 555 филиала №2. Сейчас в связи с открытием еще одного филиала появилась необходимость добавить 10-тый префикс. Внутренние звонки на 10XXX работают нормально, однако с IVR и начались проблемы, т.к. при наборе в IVR 10555 астериск сразу отправляет звонок на локальный 105 (экстеншен центрального офиса), игнорируя последние две цифры. Подскажите, как установить таймаут ожидания ввода последней цифры при донаборе?

Контекст этого IVR: [ivr-3] ; Menu include => from-did-direct-ivr exten => s,1,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT}) exten => s,n,Set(IVRCONTEXT=${CONTEXT}) exten => s,n,Set(_IVRRETVM=) exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip) exten => s,n,Answer exten => s,n,Wait(1) exten => s,n(skip),Set(IVRMSG=custom/menurobot) exten => s,n(start),Set(TIMEOUT(digit)=3) exten => s,n,ExecIf($["${IVRMSG}" != ""]?Background(${IVRMSG})) exten => s,n,WaitExten(20,) exten => t,1(ivrsel-t),Goto(from-did-direct,137,1) exten => t,n,Playback(sorry-youre-having-problems) exten => t,n,Goto(hang,1) exten => 0,1(ivrsel-0),Goto(ext-fax,500,1) exten => i,1,Playback(sorry-youre-having-problems) exten => i,n,Goto(hang,1) exten => return,1,Set(IVRCONTEXT=${CONTEXT}) exten => return,n,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT${CONTEXT}}) exten => return,n,Set(IVRMSG=custom/menu_robot) exten => return,n,Goto(s,start) exten => h,1,Hangup exten => hang,1,Playback(vm-goodbye) exten => hang,n,Hangup

Как изменить таймаут ожидания последней цифры при донаборе в IVR

Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на FreePBX. Одна из них (в главном офисе) является условно "центральной" АТС, остальные соединены с ней по iax2-транкам. Внутренние локальные номера везде трехзначные. Для звонков в филиалы используются двузначные префиксы 01,02,...09. Т.е. для звонка на номер 555 филиала №2 набирается 02555. На "центральном" Freepbx настроено IVR, в котором включен прямой донабор внутреннего номера (Direct Dial). Донабор успешно работал и для номеров других филиалов, т.е. дозвонившись на IVR центрального офиса, можно было донабрать, например, номер 02555 и звонок переводился на номер 555 филиала №2. Сейчас в связи с открытием еще одного филиала появилась необходимость добавить 10-тый префикс. Внутренние звонки на 10XXX работают нормально, однако с IVR и начались проблемы, т.к. при наборе в IVR 10555 астериск сразу отправляет звонок на локальный 105 (экстеншен центрального офиса), игнорируя последние две цифры. Подскажите, как установить таймаут ожидания ввода последней цифры при донаборе?

Контекст этого IVR: [ivr-3] ; Menu Menu

include => from-did-direct-ivr from-did-direct-ivr

exten => s,1,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT}) CONTEXT})

exten => s,n,Set(IVRCONTEXT=${CONTEXT}) CONTEXT=${CONTEXT})

exten => s,n,Set(_IVRRETVM=) RETVM=)

exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip) exten => s,n,Answer exten => s,n,Wait(1) "ANSWERED"]?skip)

exten => s,n,Answer

exten => s,n,Wait(1)

exten => s,n(skip),Set(IVRMSG=custom/menurobot) exten => s,n(start),Set(TIMEOUT(digit)=3) robot)

exten => s,n(start),Set(TIMEOUT(digit)=3)

exten => s,n,ExecIf($["${IVRMSG}" != ""]?Background(${IVRMSG})) exten => s,n,WaitExten(20,) exten => t,1(ivrsel-t),Goto(from-did-direct,137,1) exten => t,n,Playback(sorry-youre-having-problems) exten => t,n,Goto(hang,1) exten => 0,1(ivrsel-0),Goto(ext-fax,500,1) exten => i,1,Playback(sorry-youre-having-problems) exten => i,n,Goto(hang,1) MSG}))

exten => s,n,WaitExten(20,)

exten => t,1(ivrsel-t),Goto(from-did-direct,137,1)

exten => t,n,Playback(sorry-youre-having-problems)

exten => t,n,Goto(hang,1)

exten => 0,1(ivrsel-0),Goto(ext-fax,500,1)

exten => i,1,Playback(sorry-youre-having-problems)

exten => i,n,Goto(hang,1)

exten => return,1,Set(IVRCONTEXT=${CONTEXT}) CONTEXT=${CONTEXT})

exten => return,n,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT${CONTEXT}}) CONTEXT_${CONTEXT}})

exten => return,n,Set(IVRMSG=custom/menu_robot) exten => return,n,Goto(s,start) exten => h,1,Hangup exten => hang,1,Playback(vm-goodbye) MSG=custom/menurobot)

exten => return,n,Goto(s,start)

exten => h,1,Hangup

exten => hang,1,Playback(vm-goodbye)

exten => hang,n,Hangup

Как изменить таймаут ожидания последней цифры при донаборе в IVR

Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на FreePBX. Одна из них (в главном офисе) является условно "центральной" АТС, остальные соединены с ней по iax2-транкам. Внутренние локальные номера везде трехзначные. Для звонков в филиалы используются двузначные префиксы 01,02,...09. Т.е. для звонка на номер 555 филиала №2 набирается 02555. На "центральном" Freepbx настроено IVR, в котором включен прямой донабор внутреннего номера (Direct Dial). Донабор успешно работал и для номеров других филиалов, т.е. дозвонившись на IVR центрального офиса, можно было донабрать, например, номер 02555 и звонок переводился на номер 555 филиала №2. Сейчас в связи с открытием еще одного филиала появилась необходимость добавить 10-тый префикс. Внутренние звонки на 10XXX работают нормально, однако с IVR и начались проблемы, т.к. при наборе в IVR 10555 попытке набора в IVR, например, 10555, астериск сразу отправляет звонок на локальный 105 (экстеншен центрального офиса), игнорируя последние две цифры. Подскажите, как установить таймаут ожидания ввода последней цифры при донаборе?

Контекст этого IVR: [ivr-3] ; Menu

include => from-did-direct-ivr

exten => s,1,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT})

exten => s,n,Set(IVRCONTEXT=${CONTEXT})

exten => s,n,Set(_IVRRETVM=)

exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip)

exten => s,n,Answer

exten => s,n,Wait(1)

exten => s,n(skip),Set(IVRMSG=custom/menurobot)

exten => s,n(start),Set(TIMEOUT(digit)=3)

exten => s,n,ExecIf($["${IVRMSG}" != ""]?Background(${IVRMSG}))

exten => s,n,WaitExten(20,)

exten => t,1(ivrsel-t),Goto(from-did-direct,137,1)

exten => t,n,Playback(sorry-youre-having-problems)

exten => t,n,Goto(hang,1)

exten => 0,1(ivrsel-0),Goto(ext-fax,500,1)

exten => i,1,Playback(sorry-youre-having-problems)

exten => i,n,Goto(hang,1)

exten => return,1,Set(IVRCONTEXT=${CONTEXT})

exten => return,n,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT_${CONTEXT}})

exten => return,n,Set(IVRMSG=custom/menurobot)

exten => return,n,Goto(s,start)

exten => h,1,Hangup

exten => hang,1,Playback(vm-goodbye)

exten => hang,n,Hangup

Как изменить таймаут ожидания последней цифры при донаборе в IVR

Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на FreePBX. Одна из них (в главном офисе) является условно "центральной" АТС, остальные соединены с ней по iax2-транкам. Внутренние локальные номера везде трехзначные. Для звонков в филиалы используются двузначные префиксы 01,02,...09. Т.е. для звонка на номер 555 филиала №2 набирается 02555. На "центральном" Freepbx настроено IVR, в котором включен прямой донабор внутреннего номера (Direct Dial). Донабор успешно работал и для номеров других филиалов, т.е. дозвонившись на IVR центрального офиса, можно было донабрать, например, номер 02555 и звонок переводился на номер 555 филиала №2. Сейчас в связи с открытием еще одного филиала появилась необходимость добавить 10-тый префикс. Внутренние звонки на 10XXX работают нормально, однако с IVR и начались проблемы, т.к. при попытке набора в IVR, например, 10555, астериск сразу отправляет звонок на локальный 105 (экстеншен центрального офиса), игнорируя последние две цифры. Подскажите, как установить таймаут ожидания ввода последней цифры при донаборе?

Контекст этого IVR: [ivr-3] ; Menu

include => from-did-direct-ivr

exten => s,1,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT})

exten => s,n,Set(IVRCONTEXT=${CONTEXT})

exten => s,n,Set(_IVRRETVM=)

exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip)

exten => s,n,Answer

exten => s,n,Wait(1)

exten => s,n(skip),Set(IVRMSG=custom/menurobot)

exten => s,n(start),Set(TIMEOUT(digit)=3)

exten => s,n,ExecIf($["${IVRMSG}" != ""]?Background(${IVRMSG}))

exten => s,n,WaitExten(20,)

exten => t,1(ivrsel-t),Goto(from-did-direct,137,1)

exten => t,n,Playback(sorry-youre-having-problems)

exten => t,n,Goto(hang,1)

exten => 0,1(ivrsel-0),Goto(ext-fax,500,1)

exten => i,1,Playback(sorry-youre-having-problems)

exten => i,n,Goto(hang,1)

exten => return,1,Set(IVRCONTEXT=${CONTEXT})

exten => return,n,Set(IVRCONTEXT${CONTEXT}=${IVRCONTEXT_${CONTEXT}})

exten => return,n,Set(IVRMSG=custom/menurobot)

exten => return,n,Goto(s,start)

exten => h,1,Hangup

exten => hang,1,Playback(vm-goodbye)

exten => hang,n,Hangup

По идее, Set(TIMEOUT(digit)=3) уже дает время ожидания любой цифры (в т.ч. последней) 3 секунды. Однако, при наборе 10555 переключение на 105 происходит почти мгновенно. В чем дело, почему не срабатывает ожидание ?

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.