Страница 1 из 1
Очередь.
Добавлено: 17 окт 2012, 13:04
Dampire
Доброго дня.
Задача. Есть очередь со статическими агентами. Нужно чтобы абон, позвонивший в очередь во внеурочное время отсылался в IVR-"операторы отдыхают, хотите послушать то, нажмите это". Прописывать время - не вариант, т.к. могут прийти позже, уйти раньше. Сейчас диалплан такой.
Код: Выделить всё
exten=>777,1,Answer()
exten=>777,2,Queue(tester)
exten=>777,3,Hangup()
Выпинывание из очереди делается
joinempty=unavailable
leavewhenemty=unavailable
а вот как поступить со звонком дальше я не знаю.
Re: Очередь.
Добавлено: 17 окт 2012, 14:02
awsswa
Я правильно понял что нельзя ставить по времени я надо отследить когда очередь станет пустой и только потом перекидывать на IVR ?
Вариант - просто поставьте время нахождения в очереди и после окончания на IVR
exten=>777,1,Answer()
exten=>777,n,Queue(tester,t,,,60) ; 60 секунд
exten=>777,n,Playback(время истекло валите нафиг)
exten=>777,n,Hangup()
Сложный вариант - смотрите когда очередь станет пустой и выкидывать из неё
Re: Очередь.
Добавлено: 17 окт 2012, 14:04
Vlad1983
exten=>777,3,Goto(ivr-нужное,нужный-экстен,нужный-приоритет-экстена)
Re: Очередь.
Добавлено: 17 окт 2012, 14:38
Dampire
2awsswa
Про время - я имел ввиду настраивать расписание работы диалпланов (в рабочее время - очередь, ночью и в выходные - IVR).
2Vlad1983
Я в принципе так и предполагал, но не возникнет ли ситуации, что звонок выйдет из очереди каким-нибудь неизвестным мне образом и внезапно звонящий попадет в IVR?
P.S. Интересная ситуация также. Звоню в очередь, пока там сидит один софтофон. Потом отключаю его, соответственно все в очереди unavailable. Но я по прежнему слушаю музыку. Несмотря на параметр leavewhenempty=unavailable. Или я не правильно понимаю смысл параметра?
Re: Очередь.
Добавлено: 17 окт 2012, 14:53
Vlad1983
app Queue выдает в переменную статус выхода его просто надо проверять
Re: Очередь.
Добавлено: 17 окт 2012, 15:45
Dampire
Спасибо за подсказку. Сей конфиг работает.
Код: Выделить всё
exten=>777,1,Answer()
exten=>777,2,Queue(tester)
exten=>777,3,GotoIf($["${QUEUESTATUS}" = "JOINEMPTY"]?4:5)
exten=>777,4,Goto(ivr,s,1)
exten=>777,5,Hangup()
Но.... Почему-то не работает leavewhenempty
Конфиг очереди
Код: Выделить всё
[tester]
strategy=ringall
joinempty=unavailable
leavewhenempty=unavailable
member=>SIP/test1
member=>SIP/test2