限制Asterisk中每个用户的同时呼叫

为了安全起见,我想限制Asterisk中每个分机的同时呼叫。 例如,当用户正在通话时,其他人不能通过该分机进行呼叫。

我怎样才能做到这一点?

这不是一个简单的答案,但一些人提出了解决scheme。 基本上,您需要自己计算出站渠道,如下所示:

http://www.remiphilippe.fr/2010/05/29/simultaneous-call-limitation-on-asterisk/

这个脚本看起来像这样,在组被激活为macros后:

[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) 
  • 这是从上面的网站采取的; 我不能赞扬它,并没有testing脚本,但似乎听起来!