[AsteriskBrasil] Detectar fim de chamada
Gilberto Nunes
gilbertonunes em yahoo.com.br
Terça Setembro 4 11:21:20 BRT 2007
BOm dia
Pessoal
Como faço para que o asterisk detecte que o cliente externo se desconectou?
A situação é a seguinte:
Se recebo ligação externa, cai em uma URA que vai para menu de opções.
Desse menu, vai para uma fila que toca os ramais cadastrados na fila.
Acontece que quando ocorre o desligamento da ligação, os ramais continuam a
tocar sem para, até alguém levantar o fone de um dos ramais.
Como posso resolver este problema?
A URA está assim:
; URA
exten => s, 1, Background(toca_menu)
exten => s, 2, Set(CHANNEL(language)=en)
exten => 1, 1, Set(DYNAMIC_FEATURES=pickupexten#blindxfer#atxfer#automon)
exten => 1, 2, Goto(loja,s,1)
exten => i, 3, Playback(invalid)
exten => i, 4, HangUp()
exten => t, 5, Dial(SIP/8024,20,Tt)
exten => 2, 1, Set(DYNAMIC_FEATURES=pickupexten#blindxfer#atxfer#automon)
exten => 2, 2, Goto(assistencia,s,1)
exten => i, 3, Playback(invalid)
exten => i, 4, HangUp()
exten => t, 5, Dial(SIP/8024,20,Tt)
[loja]
exten => s, 1, Queue(8600||||30)
exten => s, 2, Set(CALLFILENAME=${DNID}-${STRFTIME(${EPOCH},,%d-%m-%Y-%H:%M:
%S)})
exten => s, 3, Set(IN=/var/spool/asterisk/entrada)
exten => s, 4, Monitor(wav,${IN}/${CALLFILENAME},m)
exten => s, 5, System(sox /var/lib/asterisk/sounds/bemvindo.wav -r 8000 -c
1 -s -w -v 3 /var/lib/asterisk/sounds/bitmix.gsm)
exten => s, 6, GoToIf($[${DIALSTATUS} = CHANUNAVAIL]?7)
exten => s, 7, Playback(all-circuits-busy-now)
exten => s, 8, GoToIf($[${DIALSTATUS} = BUSY]?9)
exten => s, 9, Playback(all-circuits-busy-now)
exten => s, 10, HangUp
[assistencia]
exten => s, 1, Queue(8500||||30)
exten => s, 2, Set(CALLFILENAME=${DNID}-${STRFTIME(${EPOCH},,%d-%m-%Y-%H:%M:
%S)})
exten => s, 3, Set(IN=/var/spool/asterisk/entrada)
exten => s, 4, Monitor(wav,${IN}/${CALLFILENAME},m)
exten => s, 5, System(sox /var/lib/asterisk/sounds/bemvindo.wav -r 8000 -c
1 -s -w -v 3 /var/lib/asterisk/sounds/bitmix.gsm)
exten => s, 6, GoToIf($[${DIALSTATUS} = CHANUNAVAIL]?7)
exten => s, 7, Playback(all-circuits-busy-now)
exten => s, 8, GoToIf($[${DIALSTATUS} = BUSY]?9)
exten => s, 9, Playback(all-circuits-busy-now)
exten => s, 10, HangUp
Obrigado
Att.
--
Gilberto Nunes
BitMix Tecnologia
Itajaí - SC
Mais detalhes sobre a lista de discussão AsteriskBrasil