Как проверить и ограничить одновременные звонки на номер в asterisk php agi?

У нас есть портал, где клиент устанавливает максимальное количество одновременных переадресаций на номер. Сначала поступают звонки на наш IP, затем мы переадресовываем эти звонки на некоторые номера (для них устанавливается клиентом). Мы должны убедиться, что переадресованные звонки меньше или равны установленному максимальному пределу одновременных звонков на номер. Мы используем звездочку в качестве программного обеспечения для телефонии и phpagi в качестве библиотеки agi.

Как я могу найти количество одновременных вызовов на этом номере, прежде чем переадресовать на него новый вызов через мой сценарий agi.

Пожалуйста, предложите правильный способ сделать это.

Есть ли какой-либо встроенный способ, который будет автоматически ограничивать дальнейшую переадресацию, когда определенное количество одновременных вызовов (уже установлено для него) уже достигнуто?

1 ответ

Вы можете использовать функции абонентской группы GROUP и GROUP_COUNT.

В AGI вы можете сделать это через

$agi->set_full_variable("new_var",'${GROUP_COUNT(group_name)}')

pro-sip*CLI> core show function GROUP

  -= Info about function 'GROUP' =- 

[Synopsis]
Gets or sets the channel group. 

[Description]
<category> can be employed for more fine grained group management. Each channel
can only be member of exactly one group per <category>.

[Syntax]
GROUP([category])

[Arguments]
category
    Category name.

[See Also]
Not available



pro-sip*CLI> core show function GROUP_COUNT 

  -= 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

[See Also]
Not available

https://www.voip-info.org/wiki/view/Asterisk+func+group

Другие вопросы по тегам