[AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode ajudar?

Eder Souza eder.souza em bsd.com.br
Segunda Novembro 16 17:39:48 BRST 2009


Para executar os comandos usa o CommandAction para isso olha só como q faz

import java.util.Iterator;
import net.sf.asterisk.manager.ManagerConnection;
import net.sf.asterisk.manager.ManagerConnectionFactory;
import net.sf.asterisk.manager.action.CommandAction;
import net.sf.asterisk.manager.response.CommandResponse;
public class Manager
{
    private ManagerConnection c;
    public Manager() throws Exception
    {
        c = new ManagerConnectionFactory().getManagerConnection("host",
                "user", "pass");
    }
    public void run() throws Exception
    {
        c.login();
        CommandAction action;
        CommandResponse response;
        Iterator lineIterator;
        action = new CommandAction();
        action.setCommand("core show channels verbose");
        response = (CommandResponse) c.sendAction(action);
        lineIterator = response.getResult().iterator();
        while (lineIterator.hasNext())
        {
            System.out.println(lineIterator.next());
        }

        c.logoff();
    }
    public static void main(String[] args) throws Exception
    {
        new Manager().run();
    }
}


olha essa linha action.setCommand("core show channels verbose");

muda o core show channels verbose por dgv send sms g1 (telefone) '(msg)'

[]'s


Eng Eder de Souza


2009/11/16 Eder Souza <eder.souza em bsd.com.br>

> Tava procurando aqui nos meus Backups de anos atraz e achei como eu
> compilava isso no Windows olha ae
>
> java -cp .;asterisk-java-0.2.jar net.sf.asterisk.fastagi.DefaultAGIServer
>
>   2009/11/16 <brunoantognolli em email.com>
>
>> PROBLEMA DAS BIBLIOTECAS RESOLVIDO.
>>
>> Nos exemplos da internet a versão da biblioteca era a verão antiga
>> asterisk-java-0.1.jar;
>> entao o import funcionava assim:
>>  import net.sf.asterisk.manager.TimeoutException;
>> agora com a biblioteca atualizada o import deve ficar assim por ex:
>> import org.asteriskjava.manager.response.ManagerResponse;
>>
>> Note a mudança no inicio, a antiga era
>> net.sf.asterisk.manager
>> e a nova ficou
>> org.asteriskjava.manager
>>
>> Apesar de ter resolvido o problema de import, a dificuldade de fazer o
>> java executar o comando para envio de sms ainda continua... =)
>>
>> Att
>> Bruno
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: brunoantognolli em email.com
>> To: asteriskbrasil em listas.asteriskbrasil.org
>>  Sent: Mon, Nov 16, 2009 4:30 pm
>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode
>> ajudar?
>>
>>   Eu estou utilizando o NetBeans6.7.1 para compilar...
>>
>> Mas antes de compilar o NetBeans avisa que dá erro nos imports, então não
>> chego nem a compilar.
>>
>> =)
>>
>> Att
>> Bruno
>>
>>
>> -----Original Message-----
>> From: Eder Souza <eder.souza em bsd.com.br>
>> To: asteriskbrasil em listas.asteriskbrasil.org
>> Sent: Mon, Nov 16, 2009 4:25 pm
>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode
>> ajudar?
>>
>> kra como q vc ta compilando isso eu lembro q usava uma string bem
>> complicada para compilar e vc como ta fazendo ?
>>
>> 2009/11/16 <brunoantognolli em email.com>
>>
>>> Pra ser sincero gostaria de uma ajuda sim! hahah
>>>
>>> *Eu estou utilizando o exemplo:*
>>>     public void run() throws IOException, AuthenticationFailedException,
>>>             TimeoutException
>>>     {
>>>         OriginateAction originateAction;
>>>         ManagerResponse originateResponse;
>>>
>>>         originateAction = new OriginateAction();
>>>         originateAction.setChannel("SIP/John");
>>>         originateAction.setContext("default");
>>>         originateAction.setExten("1300");
>>>         originateAction.setPriority(new Integer(1));
>>>         originateAction.setTimeout(new Integer(30000));
>>>
>>>         // connect to Asterisk and log in
>>>         managerConnection.login();
>>>
>>>         // 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(originateResponse.getResponse());
>>>
>>>         // and finally log off and disconnect
>>>         managerConnection.logoff();
>>>
>>> http://asterisk-java.org/0.2/tutorial.html
>>>
>>>
>>> Neste exemplo, é setado o Contexto/Regra/Prioridade/Timeout, depois faz
>>> um login executa uma ação dá um print e desconecta.
>>>
>>> Apesar de não ter nada a ver com o que preciso fazer (envio de sms) nem
>>> esse exemplo consegui fazer, mesmo após configurar o manager.conf.
>>>
>>> O java nao consegue encontrar os imports:
>>> import net.sf.asterisk.manager.AuthenticationFailedException;
>>> import net.sf.asterisk.manager.ManagerConnection;
>>> import net.sf.asterisk.manager.ManagerConnectionFactory;
>>> import net.sf.asterisk.manager.TimeoutException;
>>> import net.sf.asterisk.manager.action.OriginateAction;
>>> import net.sf.asterisk.manager.response.ManagerResponse;
>>>
>>> Agora eu não sei o porque ele não encontra os imports, seria uma outra
>>> biblioteca? estou utilizando a biblioteca q vc passou errado?
>>> Enfim, preciso de uma ajuda sim... hehehe
>>>
>>>  Att
>>>
>>>
>>> -----Original Message-----
>>> From: Eder Souza <eder.souza em bsd.com.br>
>>>  To: brunoantognolli em email.com
>>> Sent: Mon, Nov 16, 2009 4:08 pm
>>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode
>>> ajudar?
>>>
>>>   Perfeitamente Possivel simm
>>>
>>> Se fosse em perl faria em coisa de 30 min agora em java to meio
>>> enferrujadao rsrs mas tam como fazer sim kra quer ajuda ae rsrs?
>>>
>>> 2009/11/16 <brunoantognolli em email.com>
>>>
>>>> Entao Eder, hhahah sobre a empresa programar só em Java concordo com vc,
>>>> devemos programar no que for mais fácil, o problema aqui é que todo mundo ou
>>>> é certificado .net ou java, entao foi afunilando os conhecimentos nessa
>>>> linguagem ahahaha!!!
>>>>
>>>> Sobre o meu problema, é o seguinte...
>>>>
>>>> Hoje eu consigo enviar de sms atraves do asterisk conectando no
>>>> rasterisk e digitando:
>>>> dgv send sms g1 (telefone) ('mgs')
>>>>
>>>> Só que como serão milhares de sms por dia, a idéia foi criar 1 W,S, para
>>>> que nossa outra aplicação consiga consumir esse serviço passando o numero do
>>>> telefone e a msg para o destinatario.
>>>>
>>>> Para nao ter que acessar o rasterisk toda hora e ficar digitando o
>>>> comando acima, pensei em fazer o JAVA executar esse comando, seria possivel?
>>>>
>>>> Att
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Eder Souza <eder.souza em bsd.com.br>
>>>> To: asteriskbrasil em listas.asteriskbrasil.org
>>>>  Sent: Mon, Nov 16, 2009 3:51 pm
>>>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode
>>>> ajudar?
>>>>
>>>>   kkk ta ferrado entao nao entendo isso de ficar preso em uma linguagem
>>>> seus chefes tem cabeça pequena PQP !!!
>>>>
>>>> Pra min não existe isso de ter q programar especificadamente em uma
>>>> linguagem eu vejo sempre o que melhor se adapta, tem coisas q as vezes é
>>>> mais fácil de fazer em perl entao faço em perl outras melhores de se fazer
>>>> em shell script outras mais robustas em C etc etc.
>>>>
>>>> O que importa e a aplicação rodando e sanando suas necessidades, não em
>>>> q liguangem ela roda, essa empresa q vc trabalha só pode ta de brincadeira
>>>> rsrsrs !!!
>>>>
>>>>
>>>> Outra coisa o Neimar falou algumas coisas q estão erradas. A porta 4569
>>>> é a porta do protocolo IAX2
>>>>
>>>> outra coisa no Exemplo do Neimar ae "exten = 3000,n,Agi(agi://
>>>> 192.9.20.5/criacao.agi)" isso nao é um AGI puro e sim um FastAgi sendo
>>>> chamado para um server java rodando da sua classe, funciona como um cliete
>>>> servidor !!!
>>>>
>>>> []'s
>>>>
>>>>
>>>> Eng Eder de Souza
>>>>
>>>>
>>>>
>>>>
>>>> 2009/11/16 <brunoantognolli em email.com>
>>>>
>>>>>
>>>>> Sim cara, tem de ser em Java é regra da empresa que trabalho. hehehe
>>>>>
>>>>> Vlw
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Eder Souza <eder.souza em bsd.com.br>
>>>>> To: asteriskbrasil em listas.asteriskbrasil.org
>>>>>  Sent: Mon, Nov 16, 2009 3:26 pm
>>>>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém pode
>>>>> ajudar?
>>>>>
>>>>>   kra esse agi nao precisa sem em java pq para mim java é igual a dor
>>>>> de cabeça para fazer um só Hellow Word já é embaçado rsrsrs
>>>>>
>>>>> kra faz isso em perl, python ou php ja fiz varios agis em java mas isso
>>>>> já faz uns 3 anos atraz e te digo isso é atrazo de vida ...
>>>>>
>>>>> Entao pense tem q ser em java ?
>>>>>
>>>>> 2009/11/16 <brunoantognolli em email.com>
>>>>>
>>>>>> Olá...
>>>>>> Eu baixei a classe, compilei, copiei o exemplo do site abaixo mas não
>>>>>> deu certo, a classe roda e tudo mais, mas eu tenho q copiar o jar gerado
>>>>>> pelo projeto java para a pasta agi-bin ?
>>>>>>
>>>>>> Como faço para ver se está funcionando um comando simples, posso usar
>>>>>> o rasterisk (verbose 255)?
>>>>>>
>>>>>> Eu estou tentando passar um comando para o "rasterisk" o comando que
>>>>>> quero passar para o asterisk é o
>>>>>> dgv send sms g1 (telefone) '(msg)'.
>>>>>>
>>>>>> Alguém sabe como fazer? Estou tentando com o exemplo que o Eder
>>>>>> passou(com API) e nao estou conseguindo.
>>>>>>
>>>>>> Agradeço pela ajuda.
>>>>>>
>>>>>> Att
>>>>>> Bruno
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Eder Souza <eder.souza em bsd.com.br>
>>>>>> To: asteriskbrasil em listas.asteriskbrasil.org
>>>>>> Sent: Mon, Nov 16, 2009 12:04 pm
>>>>>> Subject: Re: [AsteriskBrasil] Asterisk + Java + API + SMS - Alguém
>>>>>> pode ajudar?
>>>>>>
>>>>>>   aqui baixa ele
>>>>>>
>>>>>> http://sourceforge.net/projects/asterisk-java/
>>>>>>
>>>>>> para conectar no manager olha aqui tem um exemplo básico
>>>>>>
>>>>>>
>>>>>> http://www.voip-info.org/wiki/view/Asterisk+manager+Example:+Java
>>>>>>
>>>>>> Att,
>>>>>>
>>>>>>
>>>>>> Eng Eder de Souza
>>>>>>
>>>>>> 2009/11/16 <brunoantognolli em email.com>
>>>>>>
>>>>>>> Bom dia caros amigos.
>>>>>>>
>>>>>>> Sou desenvolvedor Java que iniciei as atividades no asterisk há uns 2
>>>>>>> meses.
>>>>>>>
>>>>>>> Tenho que integrar um sistema ao Asterisk.
>>>>>>>
>>>>>>> O sistema que deverá ser integrado ao Asterisk envia SMS por um
>>>>>>> Serviço Canadense (senão me engano).
>>>>>>>
>>>>>>> A minha tarefa é construir um Web Service em Java, no qual o sistema
>>>>>>> informe o Nº do Telefone com a Mensagem a ser enviada.
>>>>>>>
>>>>>>> Eu sei que devo configurar o manager.conf para que o java consiga
>>>>>>> enviar comandos ao Asterisk, mas como fazer isso?
>>>>>>>
>>>>>>> Já criei um "usuario" no manager.conf para que o java consiga se
>>>>>>> conectar no asterisk.
>>>>>>> Abaixo como ficou meu manager...
>>>>>>> [manager]
>>>>>>> secret=teste
>>>>>>> permit=0.0.0.0
>>>>>>> read=system,call,log,verbose,agent,command,user
>>>>>>> write=read=system,call,log,verbose,agent,command,user
>>>>>>>
>>>>>>> Agora também sei que devo baixar alguma biblioteca java para fazer a
>>>>>>> conecxao com o Asterisk, alguém sabe me dizer qual biblioteca preciso? Aonde
>>>>>>> encontro para download e se possível sua documentação?
>>>>>>>
>>>>>>> Estou utilizando as seguintes referencias:
>>>>>>> http://asterisk-java.org/0.2/tutorial.html
>>>>>>> http://www.voip-info.org/wiki/view/Asterisk+manager+API
>>>>>>> http://www.voip-info.org/wiki/view/LibgAMI
>>>>>>> http://www.voip-info.org/wiki/view/asterisk+manager+events
>>>>>>>
>>>>>>> Att
>>>>>>> Bruno
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>>         http://www.voipmania.com.br
>>>>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>>>>>         Promoção por tempo limitado!
>>>>>>> _______________________________________________
>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>>          http://www.voipmania.com.br
>>>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>>>>          Promoção por tempo limitado!
>>>>>> _______________________________________________
>>>>>> Lista de discussões AsteriskBrasil.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>>         http://www.voipmania.com.br
>>>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>>>>         Promoção por tempo limitado!
>>>>>> _______________________________________________
>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>>          http://www.voipmania.com.br
>>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>>>          Promoção por tempo limitado!
>>>>> _______________________________________________
>>>>> Lista de discussões AsteriskBrasil.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>
>>>>>
>>>> _______________________________________________
>>>>          http://www.voipmania.com.br
>>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>>          Promoção por tempo limitado!
>>>> _______________________________________________
>>>> Lista de discussões AsteriskBrasil.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>>
>>>
>>> _______________________________________________
>>>         http://www.voipmania.com.br
>>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>>         Promoção por tempo limitado!
>>> _______________________________________________
>>> Lista de discussões AsteriskBrasil.org
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>
>> _______________________________________________
>>          http://www.voipmania.com.br
>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>          Promoção por tempo limitado!
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>>
>> _______________________________________________
>>         http://www.voipmania.com.br
>> Telefone IP sem fio Gigaset A580IP por 6 x R$59,90.
>>         Promoção por tempo limitado!
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091116/84ad2aca/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil