Bom dia galera de Under-Linux!
Estou com dificuldades para conseguir tratar as ligações para ramais ocupados no Asterisk 1.6.1 ,estou usando como guia de referencia o livro "Asterisk o futuro da telefonia" e nesse livro é dito que para tratar uma chamada para um ramal ocupado deve-se usar a prioridade n+101 onde n é a prioridade onde o Dial() foi executado, dessa forma montei um plano de discagem para as ligações vindas PSTN, de forma que quando o ramal chamado estiver ocupado a pessoa que está chamando deveria ouvir a mensagem "O ramal encontra-se ocupado", porém não está funcionando.
Meu conexto de entrada é o seguinte:
[entrada] ; Entrada de chamadas pela PSTN
exten => s,1,Answer() ;atende a chamada
exten => s,2,Wait(1) ;reten 1 segundo
exten => s,3,BackGround(entrada) ; Toca o arquivo de som entre () e interrompe a gravação caso algum numero seja discado
exten => s,4,WaitExten(5) ; Aguarda os segundos entre () para o usuario digitar
exten => 3001,1,Dial(IAX2/3001,30,tT) ; Chama os ramal 3001
exten => 3001,2,Hangup() ; deliga a chamada
exten => 3001,102,playback(ocupado) ; toca o arquivo de som entre ()
exten => 3001,103,Hangup() ; desliga a chamada
exten => i,1,playback(ramal_invalido) ; toca o arquivo de som entre () "a extensão i é chamada caso o ramal seja invalido"
exten => i,2,goto(s,3) ; volta pra extensão s na prioridade 3
exten => t,1,playback(ramal_invalido) ; toca o arquivo de som entre () "a extensão t é chamada caso nada seja discado"
exten => t,2,goto(s,3) ; volta para a extensão s na prioridade 3
A saida gerada pela console do asterisk é a seguinte:
VOIP-SC*CLI>
-- Starting simple switch on 'DAHDI/1-1'
[Jan 12 18:39:19] NOTICE[4297]: chan_dahdi.c:7505 ss_thread: Got event 18 (Ring Begin)...
[Jan 12 18:39:19] NOTICE[4297]: chan_dahdi.c:7669 ss_thread: MWI: Channel 1 message waiting!
-- Executing [s@entrada:1] Answer("DAHDI/1-1", "") in new stack
-- Executing [s@entrada:2] Wait("DAHDI/1-1", "1") in new stack
-- Executing [s@entrada:3] BackGround("DAHDI/1-1", "entrada") in new stack
-- <DAHDI/1-1> Playing 'entrada.gsm' (language 'br')
== CDR updated on DAHDI/1-1
-- Executing [3001@entrada:1] Dial("DAHDI/1-1", "IAX2/3001,30,tT") in new stack
-- Called 3001
[Jan 12 18:39:27] WARNING[1825]: chan_iax2.c:9018 socket_process: Call rejected by 192.234.56.220: not found available chan.
-- Hungup 'IAX2/3001-10405'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [3001@entrada:2] Hangup("DAHDI/1-1", "") in new stack
== Spawn extension (entrada, 3001, 2) exited non-zero on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
VOIP-SC*CLI>
Pela console pode-se ver que o ramal estava ocupado e que ao invés do Dial() pular para a prioridade 102 ele vai para a 2 e dá o Hangup.
No asterisk 1.6.1 esse tratamento é feito de forma diferente? Talvês com alguma extensão especial assim como a "i" ou a "t"... procurei bastante na net e não achei nada que fosse diferente do n+101
Espero que alguém possa me ajudar pois pelo que vi isso é o basico para tornar possivel o funcionamento do voicemail.
Valew galera!