Существует AsteriskNOW (aster 11).
Звонки на входе попадают в IVR (одноуровневую, но всё же) оттуда 5 путей в разные очереди
необходимо записать выбор сделанный пользователем в IVR в переменную канала.
IVR создана при помощи ВЭБ-интерфейса
Код: Выделить всё
[ivr-1] ; WH-Hello
include => ivr-1-custom
include => from-ivr-directory-Выключено
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => s,1,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,GotoIf($["${CHANNEL(state)}" = "Up"]?skip)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(skip),Set(IVR_MSG=custom/wh_1)
exten => s,n(start),Set(TIMEOUT(digit)=3)
exten => s,n,ExecIf($["${IVR_MSG}" != ""]?Background(${IVR_MSG}))
exten => s,n,WaitExten(3,)
exten => 1,1(ivrsel-1),Goto(ext-queues,11,1)
exten => 2,1(ivrsel-2),Goto(ext-queues,21,1)
exten => 3,1(ivrsel-3),Goto(ext-queues,31,1)
exten => 4,1(ivrsel-4),Goto(ext-queues,41,1)
exten => 5,1(ivrsel-5),Goto(ext-queues,10,1)
exten => i,1(final),Playback(no-valid-responce-transfering)
exten => i,n,Goto(ext-queues,10,1)
exten => t,1(final),Playback(no-valid-responce-transfering)
exten => t,n,Goto(ext-queues,10,1)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Set(IVR_MSG=custom/Renovacio_1)
exten => return,n,Goto(s,start)
exten => h,1,Hangup
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
;--== end of [ivr-1] ==--;
править тут смысла нет.
а так бы кусочек кода
exten => s,n,WaitExten(3,)
сюда бы вставить что то типа exten => s,n, Set(__PRESS=${EXTEN}) (ну или не только выбор кнопки, а ещё и название IVR)
exten => 1,1(ivrsel-1),Goto(ext-queues,11,1)
дальше работаю с этой переменной как хочу
но самое "не клёвое" в этом то что перезапишется этот конфиг, назовём это вариантом 1 и заодно отвергнем.
вариант 2, написать меню целиком в рукопашную... те кто придёт "опосля нас" не увидят, не найдут, спахабят
вариант 3, создать misc-destination-ов 5+ штук и маршрутить по нажатию в IVR не сразу в очередя, а в в эти дестинейшены, которые и написать в рукопашную. содержать будут 2 строки, запись переменной, переход далее в нужную очередь.
что смущает в варианте 3:
клиент передумывает что-то и записывает нове голосовое приветсвие и нумерация вариантов меню меняется, а куски кода продолжают показывать неправильные уже на сейчас цифры.
Может я какого варианта грамотного не знаю? подскажите куда идтить