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

Число поступивших в очередь

Добавлено: 17 июн 2016, 07:53
lioncub
Есть 2 транка, один многокальный SIP (№ 2000001), второй DAHDI (№ 2000002).
С SIP'а все звонки попадают в очередь 601. А из неё на номера 101,102,103.
С DAHDI напрямую на номер 101 (в очередь ставить их нельзя, чтобы деньги за ожидание не снимало).
Требуется: если в очереди есть хоть один звонящий, то всем звонящим по DAHDI приходил отбой. Сейчас во время паузы между обзвонами или паузы после того как 101 положит трубку, пробиваются звонки с DAHDI.
Хочу прикрутить на конструкцию GOTOIF (количество_в_очереди = 0).

Как определить количество поступивших звонков в очередь?

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 08:19
virus_net
Так просто не помещайте в очередь второго и все.

Код: Выделить всё

*CLI> core show function GROUP_COUNT
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-= Info about function 'GROUP_COUNT' =-

[Synopsis]
Counts the number of channels in the specified group.

[Description]
Calculates the group count for the specified group, or uses the channel's
current group if not specifed (and non-empty).

[Syntax]
GROUP_COUNT([groupname][@category])

[Arguments]
groupname
Group name.
category
Category name

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 09:37
ded
Можно и без самодеятельности. Есть готовый модуль FreePBX - Приоритет в очередях.
Как раз это и делает.

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 10:11
lioncub
Я и так DAHDI не помещаю в очередь, а на прямую отдаю.
Просто между обзвонами из очереди в этот промежуток может попасть звонок с DAHDI.
А GROUP же на каналы только можно, разве на очередь можно её повешать?

Приоритет в очередях не подходит. DAHDI канал в очередь нельзя ставить (будут капать денюжки на том конце пока не возьмут трубку).

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 11:04
virus_net
GROUP_COUNT нельзя и не надо вешать на очередь.
Вешайте и на свой DAHDI и если GROUP_COUNT > 0, то отбивайте вызов, если GROUP_COUNT = 0, то проверяйте текущее состояние номера 101 и если он занят, то отбивайте вызов.

А вообще вам надо яснее излагать свои мысли:
lioncub писал(а):Требуется: если в очереди есть хоть один звонящий
lioncub писал(а):Я и так DAHDI не помещаю в очередь
По итогу лично я уже не понимаю, что вы хотите, т.к. вариантов уже более одного.

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 11:35
lioncub
Есть 2 транка, один многокальный SIP (№ 2000001), второй DAHDI (№ 2000002).
С SIP'а все звонки попадают в очередь 601. А из неё на номера 101,102,103.
С DAHDI напрямую на номер 101
DAHDI к очереди не имеет отношения, а требуются чтобы он смотрел в чужую очередь если там люди или нет - всё.
Что тут Вам не понятно?
GROUP_COUNT не подходит так как следит за каналом. Следить за DAHDI не имеет смысла, так как это аналог и там либо есть 1 вызов, либо его нет. На SIP нельзя вешать так-как там могут быть 2 звонка (т.е. GROUP_COUNT>0), а в очереди ни одного т.к. они уже разговаривают с агентами.

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 12:20
Wapo
Может это поможет:

Код: Выделить всё

${QUEUE_MEMBER(q1,free)} 
${QUEUE_MEMBER(q1,ready)}
${QUEUE_WAITING_COUNT(q1)} 

Re: Число поступивших в очередь

Добавлено: 17 июн 2016, 12:38
lioncub
Спасибо, действительно:

Код: Выделить всё

QUEUE_WAITING_COUNT   QUEUE_WAITING_COUNT([queuename])     Count number of calls currently waiting in a queue.