Asterisk: Ограничение по количеству одновременных линий

Иногда случается, что нужно ограничить одновременное количество линий. На помощь придёт следующая конструкция:
exten => s,1,Set(GROUP()=ac_group)
exten => s,n,Set(ac_calls=${GROUP_
COUNT(ac_group)})
exten => s,n,NoOp(${ac_calls})
exten => s,n,ExecIf($[ ${ac_calls} > 1 ]?Goto(dwork_alfacenter,s,1))


Объясню, что мы сделали
1.  Объединяем вызовы в группу
2.  Считаем количество вызовов в  группе
3.  Выводим в консоль счетчик
4.  Если вызовов больше 1 перводим в другой контекст

Комментарии

Популярные сообщения из этого блога

FreeBSD: gpart — пример работы с дисками

Linux: GRUB: Аварийный запуск системы из командной строки GRUB