[AsteriskBrasil] RES: RES2: *Ramal atendido causa "Event: Hangup"	.	Porque?*
    Rodrigo Pimenta Carvalho 
    pimenta em inatel.br
       
    Quinta Agosto  2 17:31:35 BRT 2007
    
    
  
 
Prezado Diógenes.
 
Eu finalmente consegui estabelecer a conexão entre os ramais, seguindo suas
explicações. Obrigado.
Acontece que quando eu uso o X-Lite (ramal 200) para chamar o ramal 329, o
outro X-Lite (ramal 329) toca corretamente. Mas, o X-Lite (200) não dá som
de chamando, como num telefone comum. O 200 não dá qualquer som. Aí, quando
o 329 é atendido, o 200 começa a tocar e eu atendo o 200. Nesse ponto, a
conexão é estabelecida. Há alguma forma de fazer somente o 329 ter que ser
atendido? Ou seja, quando o 329 for atendido a conexão já é estabelecida com
o 200, como em telefones comuns? Estou perguntando isso , porque da forma
como está o meu projeto, está esquisito, já que o próprio x-lite que origina
a chamada também tem que atender.
 
O meu plano de discagem contem:
 
[internal]
exten=>123,1,Agi(agi://localhost/rodrigo.agi)
exten=>321,1,Dial(SIP/200)
 
O meu AGI contem o seguinte código:
 
            OriginateAction originateAction;
        ManagerResponse originateResponse;
 
        originateAction = new OriginateAction();
        originateAction.setChannel("SIP/329");
        originateAction.setContext("internal");
        originateAction.setActionId("teste de action ID");
        originateAction.setAsync(true);    
        originateAction.setExten("321");
        originateAction.setPriority(new Integer(1));
        originateAction.setTimeout(new Long(30000));
 
 
        
        // send the originate action and wait for a maximum of 30 seconds
for Asterisk
        // to send a reply
        originateResponse = managerConnection.sendAction(originateAction,
30000*10);
 
Portanto, no x-lite (ramal 200) eu apenas disco 123.
 
Abaixo segue a saída no CLI do asterisk.
 
   -- Executing AGI("SIP/200-0885cb60", "agi://localhost/rodrigo.agi") in
new stack
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'manager' logged on from 127.0.0.1
  == Manager 'manager' logged off from 127.0.0.1
  agi://localhost/rodrigo.agi:  FIM DOS TESTES DO MÃDULO  * CALL *
    -- AGI Script agi://localhost/rodrigo.agi completed, returning 0
    -- Executing Dial("SIP/329-08863370", "SIP/200") in new stack
    -- Called 200
    -- SIP/200-088688b0 is ringing
    -- SIP/200-088688b0 answered SIP/329-08863370
    -- Attempting native bridge of SIP/329-08863370 and SIP/200-088688b0
  == Spawn extension (internal, 321, 1) exited non-zero on
'SIP/329-08863370'
 
 
Considerando a fórmula "_XXX,1,Dial(SIP/${EXTEN})" que você me passou
anteriormente , estaria correto substituir as linhas do meu dialplan por ?:
 
exten=>123,1,Agi(agi://localhost/rodrigo.agi)
exten=>_123,2,Dial(SIP/${EXTEN})
 
Ou basta fazer ? :
 
exten=>123,1,Agi(agi://localhost/rodrigo.agi)
exten=>_XXX,1,Dial(SIP/${EXTEN})
 
Qualquer dica adicional será super útil.
Muito obrigado por sua colaboração.
Abraços.
Rodrigo Pimenta Carvalho.
==============================
 
 
 
  _____  
De: Dio Makibara [mailto:dioedu em yahoo.com.br] 
Enviada em: quinta-feira, 2 de agosto de 2007 17:01
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: Ramal atendido causa "Event: Hangup".
Porqu e?
 
Rodrigo,
Rodrigo Pimenta Carvalho <pimenta em inatel.br> escreveu:
Prezado Diógenes,
 
Realmente eu também acho que ainda não entendi bem como funciona a ação
Originate. Na verdade, eu entendi como chamar o ramal do destinatário e isso
funciona. Mas, eu ainda não entendi como conectar o ramal chamado 329 ao
chamador 200. Mas, agora com a sua dica, estou desconfiado então que deve
haver algo mais programado no dialplan, exatamente como você está sugerindo.
Acabei de dar uma olhada no meu dialplan (plano de discagem) e vi mesmo que
falta lá o que você sugere. Ou seja, no meu dialplan não existe uma extensão
200. 
 
Ok. Eu vou tentar o que você está sugerindo e retorno se tive sucesso.
 
Agora, estou com uma nova dúvida de lógica:
De acordo com o que você está dizendo, isso significa que o ramal chamador
sempre deverá estar configurado no meu dialplan?? Se sim , entendo isso como
um problema, porque estou fazendo uma aplicação onde o usuário final irá
definir seus ramais, mas sem editar o dialplan. Seria tudo via AGI o máximo
possível. Esta idéia minha é incoerente?
Se no contexto default (e se seus ramais tiverem 3 digitos), voce tiver uma
extensão do tipo _XXX,1,Dial(SIP/${EXTEN}) voce vai conseguir ligar para
todos os ramais que quiser.
Não ?
Diógenes Eduardo Makibara
  Alertas do Yahoo! Mail em seu celular. Saiba
<http://br.mobile.yahoo.com/mailalertas/>  mais. 
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20070802/87d8b7d1/attachment-0001.html
    
    
Mais detalhes sobre a lista de discussão AsteriskBrasil