出于安全原因,我想限制 Asterisk 中每个分机同时拨打的电话数。例如,当用户正在通话时,其他人将无法通过该分机拨打电话。
我怎样才能实现这个目标?
答案1
这个问题没有简单的答案,但许多人提出了解决方案。基本上,您需要自己计算出站渠道,如下所述:
http://www.remiphilippe.fr/2010/05/29/simultaneous-call-limitation-on-asterisk/
将组作为宏启用后,脚本如下所示:
[globals]
MAXCALLS=2
[macro-voipcall]
; Limit the number of outgoing calls
; Set Group
exten => s,1,Set(GROUP()=OUTBOUND_GROUP)
; Are we exceeding the limit?
exten => s,2,GotoIf($[${GROUP_COUNT()} > ${MAXCALLS}]?999)
; No? Then dial
exten => s,3,Dial(${ARG1})
; Yes? Then deny
exten => s,999,Set(DIALSTATUS=CHANUNAVAIL)
- 这是从上面的网站获取的;我不能承担这份荣誉,也没有测试过脚本,但它看起来不错!