function 'GROUP_COUNT'

Функция диалплана Asterisk GROUP_COUNT.
Считать кол-во вызовов в заданной группе.

Описание

Подсчитывает кол-во вызовов в заданной группе или, если группа не назначена, в текущей

синтаксис

GROUP_COUNT([groupname][@category])

аргументы
  • groupname - имя группы.
  • category - название категории.
пример

Ограничение количества одновременных вызовов по набранному номеру (call limit).

Контекст

  • Набирается номер 810ХХХХХХХ, в консоль выводится сообщение: набираем 810ХХХХХХХ
  • функция GROUP() назначает вызовы в группу long
  • В консоль выводится сообщение: кол-во одновременных вызовов - ${GROUP_COUNT(long)}, где ${GROUP_COUNT(long) = порядковый номер вызова.
  • Проверяется условие, если количество одновременных вызовов больше 1, вызов направляется в екстеншен over и разъединяется с выводом в консоль:

лимит превышен на - […] вызова.

  • Если вызов первый, номер набирается через SIP транк provider.
exten => _810.,1,Verbose(*** набираем - ${EXTEN} ***)
   same => n,Set(GROUP()=long)
   same => n,Verbose(*** кол-во одновременных вызовов -  ${GROUP_COUNT(long)} ***)
   same => n,GotoIf($[${GROUP_COUNT(long)} > 1]?over)
   same => n,Dial(PJSIP/${EXTEN}@siptrunk,,)
   same => n(over),Verbose(*** лимит превышен на - ${MATH(${GROUP_COUNT(long)}-1)} вызова ***)
   same => n,Set(DIALSTATUS=CHANUNAVAIL)

Asterisk Dialplan advanced (Диалплан расширенный)

 

см. также

function 'GROUP'

Asterisk: функции диалплана

  • asterisk/func/group_count.txt
  • Последние изменения: 2019/12/27