Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

AsteriskNOW (aster 11) как правильнее выбор в IVR в переменн

Обо всем касательно TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модератор: april22

AsteriskNOW (aster 11) как правильнее выбор в IVR в переменн

Сообщение svd » 23 май 2018, 20:08

Дня доброго.

Существует 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] ==--;


код этот хранится в extension_additional.conf а значит будет перезаписан при случае ;-)
править тут смысла нет.
а так бы кусочек кода
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:
клиент передумывает что-то и записывает нове голосовое приветсвие и нумерация вариантов меню меняется, а куски кода продолжают показывать неправильные уже на сейчас цифры.

Может я какого варианта грамотного не знаю? подскажите куда идтить
svd
 
Сообщений: 161
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск

Re: AsteriskNOW (aster 11) как правильнее выбор в IVR в пере

Сообщение ded » 23 май 2018, 20:29

Если вариант 1 для вас годный (а название IVR - вставить что то типа
exten => s,n, Set(__PRESS=${EXTEN})
exten => s,n, Set(__IVRCHOSEN=Buhaya-buhgalerija)
или ещё как-то, обратитесь к справочнику переменных), то весь контекст ivr-1 целиком заваливаете в extensions_override_freepbx.conf
- и вуа ля! Работает он, а не тот что в _additional.

Издержки:
svd писал(а):клиент передумывает что-то и записывает нове голосовое приветствие и нумерация вариантов меню меняется, а куски кода продолжают показывать неправильные уже на сейчас цифры.
svd писал(а): те кто придёт "опосля нас" не увидят, не найдут, спахабят
ded
 
Сообщений: 13178
Зарегистрирован: 26 авг 2010, 19:00

Re: AsteriskNOW (aster 11) как правильнее выбор в IVR в пере

Сообщение april22 » 23 май 2018, 23:13

Исправить код диалплана, в freepbx, не для слабонервных.
Своими вопросами , вы загоняете меня в ГУГЛЬ.
april22
 
Сообщений: 1968
Зарегистрирован: 09 июл 2012, 09:47

Re: AsteriskNOW (aster 11) как правильнее выбор в IVR в пере

Сообщение Kroteg » 24 май 2018, 08:53

ИМХО раз так сильно надо - напиши свое меню полностью в extension_custom.conf
затем с помощью Custom Destination вставь в веб-интерфейс и установи в качестве направления IVR по таймауту (таймаут 1-2 сек).
вариант 2, написать меню целиком в рукопашную... те кто придёт "опосля нас" не увидят, не найдут, спахабят

это уже их проблемы - да и разобраться не так сложно будет при малейшей логике

вариант 3, создать misc-destination-ов 5+ штук и маршрутить по нажатию в IVR не сразу в очередя, а в в эти дестинейшены, которые и написать в рукопашную. содержать будут 2 строки, запись переменной, переход далее в нужную очередь.

что смущает в варианте 3:
клиент передумывает что-то и записывает нове голосовое приветсвие и нумерация вариантов меню меняется, а куски кода продолжают показывать неправильные уже на сейчас цифры.

так и пусть разбирается и делает тот, кто будет ответственен за это
Изображение
Аватар пользователя
Kroteg
 
Сообщений: 66
Зарегистрирован: 11 янв 2018, 14:51
Откуда: Opck


Вернуться в Готовые VoIP дистрибутивы

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

© 2008 — 2018 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH