[AsteriskBrasil] AGI
dioedu@yahoo.com.br
dioedu em yahoo.com.br
Terça Dezembro 13 22:07:34 BRT 2005
Valeu Caio,
Mas entenda o meu problema:
Se eu utilizar o DeadAGI, o asterisk não informa que o canal foi desligado
(Hangup) então não tenho como saber de jeito nenhum. Pelo menos de acordo com
os testes que realizei. Ele informa Hangup apenas depois de executar o
script.
Se eu utilizar o AGI, ao desligar o canal, o script pára de ser executado
automaticamente. E ao entrar em outro AGI que esteja para ser executado no
contexto h (hangup), devo identificar qual chamada que desligou para poder
tratar as informações que quero. Isto vai dar um trabalho, acredito eu,
grande se tratando de 120 ligações que podem ocorrer simultâneas.
A melhor forma de tratar isto, pelo que estou vendo, será verificar a resposta
após o comando AGI, que devolve -1 para hangup e 0 para script executado até
o final. Mas você sabe como eu pego este retorno no extensions.conf ?
Abraços,
Diógenes
On Monday 12 December 2005 04:14, Caio Begotti wrote:
> On Friday 09 December 2005 22:46, dioedu em yahoo.com.br wrote:
> > Uma possibilidade, que não é a mais atrativa, é utilizando o comando AGI
> > no extensions.conf. Com esse comando, o script é executado até o fim ou
> > até o chamador desligar. E depois chamar outro script quando a chamada
> > for desligada. Neste caso, perco todas as minhas variáveis setadas no
> > primeiro script. Vai ficar um pouco mais difícil de administrar, se
> > pensando em 120 canais.
>
> Você pode declarar variáveis em qualquer AGI e lê-las em qualquer outro
> lugar, só dependendo de como declarar elas (SetGlobalVar pra globais no
> Asterisk e SetEnv pra de sistema). Teu script não é de sistema? Então...
> :-) e você pode ver o código de saída do script pra saber se houve um
> hangup também, caso o DeadAGI não funcione igualmentemente pro seu caso.
>
> Isso não resolve?
Mais detalhes sobre a lista de discussão AsteriskBrasil