Re: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como manter o canal estabelecido?

Guilherme Góes glwgoes em gmail.com
Sexta Agosto 3 08:47:04 BRT 2007


Rodrigo,

Um jeito tosquinho de fazer isso é fazer dois OriginateAction com o
destino uma mesma sala de MeetMe, existem discadores que utilizam essa
filosofia, coloca o agente numa sala e as ligações feitas são
conectadas com esta sala. Não é exatamente a solução mais bonita do
mundo, mas ...

O pessoal do asterisk-java recomenda usar a API live, que para quem
não conhece muito de Asterisk cria mais uma camada de abstração, acho
que no seu caso vale a pena, dá uma olhada em

http://asterisk-java.org/development/tutorial.html

É deveras bacana, ainda não domino por completo o asterisk-java (
longe disso ), mas no que eu puder ajudar, estamos ai =)

On 8/2/07, Rodrigo Pimenta Carvalho <pimenta em inatel.br> wrote:
> Olá Guilherme,
>
>
> Utilizando somente o dial(), eu já consegui fazer a coisa funcionar.
> Mas, o que eu quero é ter um AGI parametrizado. Ou seja, ao chamar o AGI eu
> passarei o número do ramal a ser chamado. Porque, na verdade, é só o usuário
> final que decidirá qual ramal será chamado. Caso contrário , eu teria que
> definir todos os ramais da minha rede no dialplan, certo?
> Esta idéia minha faz sentido?
>
> Obrigado pela ajuda.
> Abraços.
> Rodrigo Pimenta Carvalho.
> =============================
>
> -----Mensagem original-----
> De: Guilherme Góes [mailto:glwgoes em gmail.com]
> Enviada em: quarta-feira, 1 de agosto de 2007 08:47
> Para: asteriskbrasil em listas.asteriskbrasil.org
> Assunto: Re: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
> manter o canal estabelecido?
>
> Rodrigo,
>
> Você fará a bridge entre os dois canais pelo dialplan do asterisk,
> atravês de um comando dial() dentro do extensions.conf.
>
> On 7/31/07, Rodrigo Pimenta Carvalho <pimenta em inatel.br> wrote:
> > Olá Moacir.
> >
> > Realmente eu estou usando Java, da API Asterisk-JAVA. Seguindo suas
> > instruções, meu código ficou da seguinte forma:
> >
> >           OriginateAction originateAction;
> >         ManagerResponse originateResponse;
> >
> >         originateAction = new OriginateAction();
> >         originateAction.setChannel("SIP/329");
> >         originateAction.setContext("default");
> >         originateAction.setActionId("teste de action ID");
> >         originateAction.setAsync(true);
> >         originateAction.setExten("200");
> >         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);
> >
> >
> > Quando eu executo esse código, o ramal 329 é chamado corretamente.
> > Mas, o meu ramal não dá aquele som de "chamando" outro ramal. Ele fica sem
> > som. Daí já percebo que há um problema para colocar meu ramal na conversa.
> > Quando o ramal 329 é atendido, a conexão fica estabelecida 11 segundos,
> mas
> > os sons das conversas não fluem de um ramal a outro. Depois de 11 segundos
> > ocorre um hangup e a ligação cai. Estou usando softphones com SIP.
> >
> > Existe algo mais que devo configurar no extensions.conf ou no zapata.conf
> ou
> > no sip.conf??
> >
> > Qualquer nova dica será de grande utilidade.
> > Obrigado.
> > Abraços.
> > Rodrigo Pimenta Carvalho.
> > ===========================
> >
> >
> > ================================================================
> >
> > -----Mensagem original-----
> > De: Moacir O. de Souza Junior - Personalsoft Sistemas Ltda.
> > [mailto:moacir em personalsoft.inf.br]
> > Enviada em: terça-feira, 31 de julho de 2007 14:53
> > Para: asteriskbrasil em listas.asteriskbrasil.org
> > Assunto: RES: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
> > manter o canal estabelecido?
> >
> > Rodrigo,
> >
> > Acredito que vc esteja usando a API Java para enviar um comando ORIGINATE
> > para o Asterisk. Para isso vejo o exemplo abaixo:
> >
> > Action: Originate
> > ActionID: 1BVSB2wI_#Ps20070628061655
> > Channel: Local/RAMAL_A
> > Exten: RAMAL_B
> > Context: ramais
> > Priority: 1
> > Async: True
> >
> > Explicando:
> >
> >
> > O ORIGINATE faz uma ligação para uma ponta (A) espera esta pontar ser
> > atendida e depois faz o link com a outra ponta (B). No exemplo acima,
> > primeiro ele vai ligar para o RAMAL_A e depois para o RAMAL_B.
> >
> > 1) Local/RAMAL_A
> >
> >         Ramal_A significa o numero do ramal que vc quer discar primeiro,
> > esse numero deve ser o mesmo que vc discaria no seu softfone. Se o seu
> ramal
> > é o 101 então ficaria: LOCAL/101
> >         Aqui, caso você queira, é possível colocar o contexto, da seguinte
> > forma: LOCAL/101 em ContextoFilialBH.
> >
> > 2) Exten: RAMAL_B
> >    Context: ramais
> >
> >         Aqui voce informa para onde o Asterisk deve ligar depois da ponta
> A
> > atender. RAMAL_B significa a extensão e "ramais" significa o contexto para
> > procurar esta extensão.
> >
> > Acredito q isso resolvera seu problema.
> >
> > Qualquer coisa volte a perguntar.
> >
> > []'s
> >
> > Cordialmente,
> >
> > Moacir O. de Souza Junior
> > Belo Horizonte - Minas Gerais - Brasil
> >
> >
> >
> >
> > -----Mensagem original-----
> > De: asteriskbrasil-bounces em listas.asteriskbrasil.org
> > [mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
> Rodrigo
> > Pimenta Carvalho
> > Enviada em: terça-feira, 31 de julho de 2007 11:41
> > Para: asteriskbrasil em listas.asteriskbrasil.org
> > Assunto: RES: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
> > manter o canal estabelecido?
> >
> >
> > Olá Guilherme.
> > Obrigado pela atenção.
> >
> > Essa "bridge" entre dois canais será feita no meu AGI (asterisk java) ? Se
> > sim, você tem exemplos de códigos?
> >
> > Esse cadastro de extensão em contexto default é feita em qual arquivo?
> >
> > Abraços.
> >
> > Rodrigo Pimenta Carvalho.
> > =============================
> >
> > -----Mensagem original-----
> > De: Guilherme Góes [mailto:glwgoes em gmail.com]
> > Enviada em: segunda-feira, 30 de julho de 2007 22:23
> > Para: asteriskbrasil em listas.asteriskbrasil.org
> > Assunto: Re: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
> > manter o canal estabelecido?
> >
> > Rodrigo,
> >
> > Você ter alguma extensão XYZ cadstrada no seu contexto default. Para
> > que a partir do plano de discagem você faça o bridge entre os dois
> > canais.
> >
> > On 7/30/07, Rodrigo Pimenta Carvalho <pimenta em inatel.br> wrote:
> > >  te
> > >
> > >
> > >
> > >  Bom dia lista.
> > >
> > >
> > >
> > > Prezados amigos, venho trabalhando com asterisk e asterisk-java há 2
> > meses.
> > > Esta API Java para o asterisk é muito útil e relativamente fácil de
> usar.
> > > Por exemplo, eu já consegui fazer um código Java que chama um ramal XYZ
> > > corretamente. Mas, quando o ramal XYZ é atendido, a ligação cai. Então,
> eu
> > > gostaria de saber se falta alguma coisa no meu código. Seguem mais
> > detalhes:
> > >
> > >
> > >
> > > No meu projeto há um dialplan que chama um AGI. Tal AGI é feito com
> > > asterisk-java e muita coisa já funciona corretamente. Eu estou usando um
> > > softphone (X-Lite) no lugar de ramal convencional. Mas, dá para testar o
> > > código Java muito bem. Veja abaixo a passagem que chama o ramal XYZ:
> > >
> > >
> > >
> > > .
> > >
> > > .
> > >
> > > .
> > >
> > >   OriginateAction originateAction;
> > >
> > >         ManagerResponse originateResponse;
> > >
> > >
> > >
> > >         originateAction = new OriginateAction();
> > >
> > >         originateAction.setChannel("SIP/XYZ");
> > >
> > >         originateAction.setContext("default");
> > >
> > >         originateAction.setExten("XYZ");
> > >
> > >         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);
> > >
> > >
> > >
> > >
> > >
> > >         // print out whether the originate succeeded or not
> > >
> > >         System.out.println("SAIDA = " +
> originateResponse.getResponse());
> > > //imprime:  SAIDA = SUCCESS.
> > >
> > >
> > >
> > >         // and finally log off and disconnect
> > >
> > >         managerConnection.logoff();
> > >
> > >
> > >
> > > .
> > >
> > > .
> > >
> > > .
> > >
> > >
> > >
> > > Este exemplo chama o X-Lite que é o ramal XYZ. Quando este ramal é
> > atendido,
> > > ocorre hangup imediatamente em tal ramal. Ou seja, a ligação cai.
> > >
> > > Falta algo no código acima?
> > >
> > > Se alguém já usou o asterisk-java para fazer chamadas, mande-me alguma
> > dica
> > > , por favor.
> > >
> > >
> > >
> > > Este exemplo eu peguei na Internet. Depois disso eu já estudei a API
> > > Asterisk-Java, já pesquisei no Google, mas nada mais indica o que fazer
> > além
> > > disso.
> > >
> > > Qualquer dica será de grande ajuda.
> > >
> > >
> > >
> > > Muito obrigado.
> > >
> > >
> > >
> > > Rodrigo Pimenta Carvalho.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Compre uma camiseta da AsteriskBrasil.org!
> > >             http://www.voipmania.com.br
> > >                 == VoIPMania.com.br ==
> > >
> > > _______________________________________________
> > > LIsta de discussões AsteriskBrasil.org
> > > AsteriskBrasil em listas.asteriskbrasil.org
> > > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> > >
> >
> >
> > --
> > Guilherme Loch Góes
> >
> > MSN:glwgoes em gmail.com
> > (48) 99115299
> > _______________________________________________
> > Compre uma camiseta da AsteriskBrasil.org!
> >             http://www.voipmania.com.br
> >                 == VoIPMania.com.br ==
> >
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> > _______________________________________________
> > Compre uma camiseta da AsteriskBrasil.org!
> >             http://www.voipmania.com.br
> >                 == VoIPMania.com.br ==
> >
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> > _______________________________________________
> > Compre uma camiseta da AsteriskBrasil.org!
> >             http://www.voipmania.com.br
> >                 == VoIPMania.com.br ==
> >
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> > _______________________________________________
> > Compre uma camiseta da AsteriskBrasil.org!
> >             http://www.voipmania.com.br
> >                 == VoIPMania.com.br ==
> >
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
>
>
> --
> Guilherme Loch Góes
>
> MSN:glwgoes em gmail.com
> (48) 99115299
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
>             http://www.voipmania.com.br
>                 == VoIPMania.com.br ==
>
> _______________________________________________
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
>             http://www.voipmania.com.br
>                 == VoIPMania.com.br ==
>
> _______________________________________________
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>


-- 
Guilherme Loch Góes

MSN:glwgoes em gmail.com
(48) 99115299


Mais detalhes sobre a lista de discussão AsteriskBrasil