1 | изначальная версия редактировать | |
Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на 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
2 | No.2 Revision редактировать |
Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на 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
3 | No.3 Revision редактировать |
Приветствую всех!
В нашей компании девять филиалов. В каждом из них работает офисная АТС на 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
4 | No.4 Revision редактировать |
Приветствую всех! В нашей компании девять филиалов. В каждом из них работает офисная АТС на 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.