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

Rodrigo Pimenta Carvalho pimenta em inatel.br
Quinta Agosto 2 09:53:45 BRT 2007


Olá Moacir.

Novamente, obrigado por sua atenção.

Quando eu disco de 329 para 200 ou vice-versa, direto do softphone, tudo
funciona corretamente, mas só se meu dialplan estiver configurado
corretamente para isso ocorrer. Ou seja, no meu dialplan deve haver um
comando Dial. Mas, no meu caso, com Java, não quero programar isso no
dialplan. O que eu quero é que o AGI faça isso por mim, como você já
entendeu.

Eu também descobri que o problema não está no Java ou na forma de usar o
AGI. Porque eu fiz um telnet para a máquina com meu trixbox e acessei sua
Manager API. Através dessa API eu gerei a Action Originate e consegui fazer
o ramal 329 tocar. Mas, quando ele é atendido, ocorre o mesmo problema de
hung up. Quanto a essa nova dúvida via Telnet, eu abri outra discussão na
nessa lista.

Hoje eu também vi uma discussão nessa lista sobre um link que explica como
fazer ramal remoto funcionar no trixbox. Portanto, se existe algum detalhe
em particular para o trixbox, eu irei investigar do que se trata. Talvez eu
ache alguma pista para o meu problema.

Conclusão, a chamada básica de ramal a ramal, via dialplan, funciona.
Quando a codec, não sou muito bom nessa parte. Você pode me enviar algumas
dicas?

Obrigado.
Abraços.
Rodrio Pimenta Carvalho.
Santa Rita do Sapucaí -MG
============================

-----Mensagem original-----
De: Moacir O. de Souza Junior - Personalsoft Sistemas Ltda.
[mailto:moacir em personalsoft.inf.br] 
Enviada em: quarta-feira, 1 de agosto de 2007 11:00
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: RES: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
manter o canal estabelecido?

Rodrigo, 

Vamos lá. Quando eu respondi para vc, eu parti do principio que conversar
entre os ramais fosse um problema superado. 

Pergunta básica, vc discando do 329 para o 200 (ou vice-versa) pelo
softphone esta normal?

Estou perguntando, porque a principio o seu comando Originate esta correto.
O seu problema de ligação caindo deve ser outra coisa (Eu chuto que seja
configuração de codec). 

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 17:07
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: RES: [AsteriskBrasil] Com asterisk-java, já chamei um ramal. Como
manter o canal estabelecido?

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

_______________________________________________
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


Mais detalhes sobre a lista de discussão AsteriskBrasil