セキュリティ上の理由から、Asteriskの内線番号ごとの同時通話を制限したいと思います。たとえば、ユーザーが通話中の場合、他の誰もその内線番号で電話をかけることはできません。
どうすればこれを達成できますか?
これに対する簡単な答えはありませんが、多くの人々が解決策を提案しています。基本的に、ここで提案されているように、アウトバウンドチャネルを自分でカウントする必要があります。
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)