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 перводим в другой контекст
exten => s,1,Set(GROUP()=ac_group)
exten => s,n,Set(ac_calls=${GROUP_
exten => s,n,NoOp(${ac_calls})
exten => s,n,ExecIf($[ ${ac_calls} > 1 ]?Goto(dwork_alfacenter,s,1))
Объясню, что мы сделали
1. Объединяем вызовы в группу
2. Считаем количество вызовов в группе
3. Выводим в консоль счетчик
4. Если вызовов больше 1 перводим в другой контекст
Комментарии
Отправить комментарий