Страница 1 из 1

Проверка наличия свободного оператора в очереди. Как?

Добавлено: 24 май 2016, 20:37
Slaysam
Добрый день.
Будьте так добры, наставьте на верный путь.
Дано: есть реализация обратного звонка через коммерческий модуль Virtual Queue (VQ Plus) FreePBX.
В нем можно настроить чтобы при занятости всех операторов в очереди, предлагается заказать обратный звонок.
При заказе обратного звонка, запоминается позиция клиента, и когда его очередь подходит, то в первую очередь происходит вызов клиента, а только после этого звонок можно куда то завернуть, или в очередь или в группу вызовов или еще куда.
Происходит ситуация:
работают 2 оператора, оба общаются. Поступает звонок в очередь, клиент не дожидаясь ответа оператора заказывает обратный звонок. Так как клиент стал в очереди первым, то ему совершается обратный звонок, несмотря на то что оба оператора до сих пор заняты.

Модуль коммерческий, настроек таких там нет, и разработчики только принимают пожелания по изменению функционала в следующих релизах.

Перед обратным звонком клиенту, хотелось бы сделать проверку наличия свободного оператора в очереди, куда этот звонок будет помещен после соединения с клиентом, но не пойму как.

Re: Проверка наличия свободного оператора в очереди. Как?

Добавлено: 25 май 2016, 07:26
Slaysam
В extensions_override_freepbx.conf (сам правил под себя)
в части набора прописано (как пример для направления сотовых)

exten => _9XXXXXXXXX,1,Set(__FORCE_CONFIRM=${CHANNEL})
exten => _9XXXXXXXXX,n,Set(SHARED(ANSWER_STATUS,${FORCE_CONFIRM})=NOANSWER)
exten => _9XXXXXXXXX,n,Set(__ALT_CONFIRM_MSG=vqplus-accept)
exten => _9XXXXXXXXX,n,Dial(SIP/ciscotestrouter/8${EXTEN},30)
exten => _9XXXXXXXXX,n,Set(SHARED(ANSWER_STATUS,${FORCE_CONFIRM})=)
exten => _9XXXXXXXXX,n,Set(__FORCE_CONFIRM=)

Вот перед Dial думается прописать какую то проверку, но не пойму как

Re: Проверка наличия свободного оператора в очереди. Как?

Добавлено: 25 май 2016, 07:46
Vlad1983