Não há uma resposta fácil para isso, mas várias pessoas sugeriram soluções. Basicamente, você precisa contar os canais externos, como sugerido aqui:
O script fica assim, depois que os grupos foram ativados como uma macro:
[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)
- Isto é retirado do site acima; Eu não posso levar o crédito por isso, e não testei o roteiro, mas parece bom!