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

Моментальный вызов агента при добавлении его в очередь

Добавлено: 03 июл 2021, 10:50
andrew-khv
Здравствуйте.
При поступлении вызова с клиентского устройства нужно организовать одновременный вызов группы агентов. При этом агенты в ходе вызова могут динамически подключаться к серверу.
На данный момент тестирую вариант с очередями realtime + strategy = ringall. Здесь главная проблема - если агент к моменту начала вызова
уже подключен и находится в очереди, на него уходит вызов, как и должно быть. Но если дополнительный агент был добавлен в очередь после начала вызова, то он остается в состоянии "Not in use" до окончания времени timeout и только потом на него наравне с другими агентами уходит вызов.
Версия Astrisk - 16.1.1
Настройки очереди:
+---------+-------------+---------+-----------+-------+----------+-----------+----------+-----------------------------+-----------------------------+
| name | musiconhold | timeout | ringinuse | retry | autofill | autopause | strategy | joinempty | leavewhenempty |
+---------+-------------+---------+-----------+-------+----------+-----------+----------+-----------------------------+-----------------------------+
| 0158_48 | default | 40 | no | 0 | yes | no | ringall | unavailable,invalid,unknown | unavailable,invalid,unknown |
+---------+-------------+---------+-----------+-------+----------+-----------+----------+-----------------------------+-----------------------------+
Может кто-то сталкивался с подобной проблемой? Нужно звонить на агента сразу с момента его присоединения к очереди (авторизации на сервере), даже если это произошло во время звонка.
Возможно есть другое решение? Функционал очередей asterisk, в принципе, не нужен. Нужно просто одновременно звонить группе агентов и далее соединять клиента с первым ответившим.

Re: Моментальный вызов агента при добавлении его в очередь

Добавлено: 05 июл 2021, 09:49
Wapo
Не думаю что ЭТО реально: в момент начала вызова астер уже формирует стратегию, в которой в тот момент нет новичка (не путать :D ). Далее таймаут и повторное формирование уже с новым агентом.

Re: Моментальный вызов агента при добавлении его в очередь

Добавлено: 06 июл 2021, 10:31
andrew-khv
Хорошо, а может есть возможность перегрузки очереди. Чтобы не дожидаясь таймаута начать вызов актуального списка агентов. queue reload members пробовал, не помогает.

Re: Моментальный вызов агента при добавлении его в очередь

Добавлено: 06 июл 2021, 13:06
BorisTheBlade
Есть способ для особо извращенных извращенцев :D
К очереди локальных каналов прицепить(штук 5-10), которые второй ногой в Ringing засунуть. В базу засунуть триггер который по залогиниванию будет дергать скрипт, который в свою очередь будет бриджить 2 ногу локал ченела из пула и реального агента, (предварительно проверив, а нет ли уже вызова).

Re: Моментальный вызов агента при добавлении его в очередь

Добавлено: 07 июл 2021, 09:11
Zavr2008
Верно, функционал очередей для этой задачи явно излишен.
Вероятно правильнее делать просто на AGI или ARI эмуляцию данной динамической Ring группы.
Там в скрипте уже сами решаете кому и сколько звонить, в своей же базе и диспозицию кто подключился, кто отключился.
Задача не особо сложная, но требует кодинг.

Re: Моментальный вызов агента при добавлении его в очередь

Добавлено: 07 июл 2021, 11:08
andrew-khv
Да, думаю придется так. Надеялся обойтись штатным функционалом.... Спасибо.