Функция диалплана Asterisk: QUEUE_VARIABLES
Функция Asterisk QUEUE_VARIABLES возвращает предустановленные переменные с информацией о состоянии очереди.
Описание
Доступны перечисленные ниже переменные.
Возвращает '0' если очередь найдена и setqueuevar определена, '-1' в противном случае.
Синтаксис
QUEUE_VARIABLES(queuename)
Аргументы
- queuename
- variables:
- QUEUEMAX - Максимально разрешенное кол-во вызовов в очереди.
- QUEUESTRATEGY - Стратегия очереди.
- QUEUECALLS - Кол-во вызовов в очереди в данный момент.
- QUEUEHOLDTIME - Среднее время ожидания в очереди на данный момент.
- QUEUECOMPLETED - Кол-во отвеченных вызовов.
- QUEUEABANDONED - Кол-во отвергнутых (неотвеченных) вызовов.
- QUEUESRVLEVEL - Заданный уровень обслуживания очереди.
- QUEUESRVLEVELPERF - Текущий уровень обслуживания очереди.
Пример:
Запишем в БД текущее состояние очереди при поступлении нового вызова в очередь.
Ключи Fc команды QUEUE велят продолжить выполнения диалплана,
если вызывающий или вызываемый, соответственно, завершают вызов.
exten => _488X,1,Queue(${EXTEN},Fc) same => n,set(QUEUE_VARIABLES(${EXTEN})) same => n,Goto(queue-variables,s,1) [queue-variables] exten => s,1,Noop() same => n,set(REALTIME(queue_adv,queue,${queue},queuesrvlevelperf)=${QUEUESRVLEVELPERF}) same => n,set(REALTIME(queue_adv,queue,${queue},queueabandoned)=${QUEUEABANDONED}) same => n,set(REALTIME(queue_adv,queue,${queue},queuecompleted)=${QUEUECOMPLETED}) same => n,set(REALTIME(queue_adv,queue,${queue},queueholdtime)=${QUEUEHOLDTIME}) same => n,set(REALTIME(queue_adv,queue,${queue},queuecalls)=${QUEUECALLS}) same => n,hangup
запись в БД
select * from queuelog_adv; +-------+------------+---------------+----------------+----------------+-------------------+ | queue | queuecalls | queueholdtime | queuecompleted | queueabandoned | queuesrvlevelperf | +-------+------------+---------------+----------------+----------------+-------------------+ | 4884 | 0 | 8 | 12 | 1 | 33.3 | +-------+------------+---------------+----------------+----------------+-------------------+ 1 row in set (0.00 sec)
~~socialite~~