Além da dica nosso amigo você pode
fazer também através de contexto.
Quando voce cadastra seu ramal, na opcao context em vez de
"from-internal" voce coloca por exemplo, so para ramal interno
"from-bloqueado"
"from-bloqueado" é o nome do contexto que você criou ou outro nome
que você escolher.
Estes contexto sao criado no "extensions_custom.conf" em
/etc/asterisk/extensions_custom.conf
Só faz ligação para ramal interno
[from-bloqueado] ;; cadastrei este contexto nos ramais
include => from-internal-additional-custom
include => ext-meetme
include => app-dialvm
include => app-vmmain
include => app-dnd-off
include => app-dnd-on
include => app-speeddial
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-calltrace
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => ext-queues
include => app-daynight
include => app-blacklist
include => ext-group
include => grps
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => ext-findmefollow
include => fmgrps
include => app-recordings
include => app-pickup
include => app-chanspy
include => ext-test
include => ext-local
exten => h,1,Hangup
Só faz ligação para ramal interno e local e 0800
[from-local]
include => from-internal-additional-custom
include => ext-meetme
include => app-dialvm
include => app-vmmain
include => app-dnd-off
include => app-dnd-on
include => app-speeddial
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-calltrace
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => ext-queues
include => app-daynight
include => app-blacklist
include => ext-group
include => grps
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => ext-findmefollow
include => fmgrps
include => app-recordings
include => app-pickup
include => app-chanspy
include => ext-test
include => ext-local
exten => _[2-5]XXXXXXX,1,Macro(dialout-trunk,3,${EXTEN},,)
exten => _[2-5]XXXXXXX,n,Macro(outisbusy,)
exten => _0800.,1,Macro(dialout-trunk,3,${EXTEN},,)
exten => _0800.,n,Macro(outisbusy,)
exten => _2XX,1,Macro(dialout-trunk,4,${EXTEN},,)
exten => _2XX,n,Macro(outisbusy,)
Faz ligação para ramal interno e local 0800 e celular
[from-celular]
include => from-local
exten => _[7-9]XXXXXXX,1,Macro(dialout-trunk,2,${EXTEN},,)
exten => _[7-9]XXXXXXX,n,Macro(dialout-trunk,1,${EXTEN},,)
exten => _[7-9]XXXXXXX,n,Macro(outisbusy,)
Faz ligação para ramal interno e local, 0800 e celular e DDD
telefone Fixo
[from-local-ddd]
include => from-local
exten => _0XX[2-5].,1,Macro(dialout-trunk,3,025${EXTEN:1},,)
exten => _0XX[2-5].,n,Macro(outisbusy,)
exten => _0XX[7-9].,1,Macro(dialout-trunk,2,${EXTEN},,)
exten => _0XX[7-9].,n,Macro(dialout-trunk,1,${EXTEN},,)
exten => _0XX[7-9].,n,Macro(outisbusy,)
você também pode usar o no modulo freePBX o Custom Contexts. Por
padrão ele não vem instalado.
Vai em
"Administração de Módulos"
"Procurar por atualizações online"
"Custom Contexts"
Instale que nos ramas vão aparece a opção para você personalizar
seus contexto via interface web.