[AsteriskBrasil] como buscar o DTMF e passar pro Java?

Paulo Sigrist paulo.sigrist em gmail.com
Segunda Março 15 19:36:22 BRT 2010


Opa!

Pra quem quiser saber da ajuda que o Luis me deu, aqui vai a Thread

http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/2010-February/038699.html

<http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/2010-February/038699.html>
[]´s
Sigrist

2010/3/9 Luis Reis <luis.reis em singularideas.com.br>

> Pessoal
>
> Capturar DTMF pelo Asterisk-JAVA é mais confiavel utilizar um
> BaseAgiScript.
>
> Eu auxiliei um amigo aqui pela lista no início de fevereiro .. dá uma
> pesquisada no histórico .. eu passei um exemplo pra ele.
>
> Aqui nos usamos assim e funciona perfeitamente.
>
> []'s
>
> Em 8 de março de 2010 22:32, Wanderson Alves Rodrigues <
> wanderson.alves.rodrigues em gmail.com> escreveu:
>
> Boa noite pessoal.
>>
>> Tenho uma duvida no funcionamento dos eventos do asterisk-java.
>>
>> Nesse exemplo eu consigo pegar o evento de conecção que meu programa
>> realiza com o asterisk.
>>
>> import java.io.IOException;
>>
>> import org.asteriskjava.manager.AuthenticationFailedException;
>> import org.asteriskjava.manager.ManagerConnection;
>> import org.asteriskjava.manager.ManagerConnectionFactory;
>> import org.asteriskjava.manager.ManagerEventListener;
>> import org.asteriskjava.manager.TimeoutException;
>> import org.asteriskjava.manager.event.ConnectEvent;
>> import org.asteriskjava.manager.event.ManagerEvent;
>>
>> public class HelloEvents implements ManagerEventListener
>> {
>>
>>    private ManagerConnection managerConnection;
>>
>>
>>    public HelloEvents() throws IOException
>>    {
>>
>>        ManagerConnectionFactory factory = new ManagerConnectionFactory(
>>        "192.168.40.66", "admin", "digi");
>>        this.managerConnection = factory.createManagerConnection();
>>
>>    }
>>    public void run() throws IOException, AuthenticationFailedException,
>>    TimeoutException, InterruptedException
>>    {
>>
>>        // register for events
>>        managerConnection.addEventListener(this);
>>        // connect to Asterisk and log in
>>        managerConnection.login();
>>        // and finally log off and disconnect
>>        managerConnection.logoff();
>>
>>    }
>>
>>    public void onManagerEvent(ManagerEvent event)
>>    {
>>       if (event instanceof ConnectEvent)
>>       {
>>            ConnectEvent conect = (ConnectEvent) event;
>>
>>            System.out.println("versão do protocolo : "
>> +conect.getProtocolIdentifier());
>>
>>        }
>>
>>
>>    }
>>
>>    public static void main(String[] args) throws Exception
>>    {
>>
>>        HelloEvents helloEvents;
>>        helloEvents = new HelloEvents();
>>        helloEvents.run();
>>
>>    }
>>
>> }
>>
>> ###########################################################################
>> Beleza isso é fácil, mais por exemplo se eu quiser pegar os dígitos do
>> dtmf de um celular por exemplo como usar a classe DtmfEvent.
>> Claro que vou ter que configurar os extensions e sip, mais se eu fizer
>> por exemplo.
>>
>> import java.io.IOException;
>>
>> import org.asteriskjava.manager.AuthenticationFailedException;
>> import org.asteriskjava.manager.ManagerConnection;
>> import org.asteriskjava.manager.ManagerConnectionFactory;
>> import org.asteriskjava.manager.ManagerEventListener;
>> import org.asteriskjava.manager.TimeoutException;
>> import org.asteriskjava.manager.event.DtmfEvent;
>> import org.asteriskjava.manager.event.ManagerEvent;
>>
>> public class HelloEvents implements ManagerEventListener
>> {
>>
>>    private ManagerConnection managerConnection;
>>
>>
>>    public HelloEvents() throws IOException
>>    {
>>
>>        ManagerConnectionFactory factory = new ManagerConnectionFactory(
>>        "192.168.40.66", "admin", "digi");
>>        this.managerConnection = factory.createManagerConnection();
>>
>>    }
>>    public void run() throws IOException, AuthenticationFailedException,
>>    TimeoutException, InterruptedException
>>    {
>>
>>        // register for events
>>        managerConnection.addEventListener(this);
>>        // connect to Asterisk and log in
>>        managerConnection.login();
>>        // and finally log off and disconnect
>>        managerConnection.logoff();
>>
>>    }
>>
>>    public void onManagerEvent(ManagerEvent event)
>>    {
>>      if (event instanceof DtmfEvent) {
>>            DtmfEvent dtmf = (DtmfEvent) event;
>>
>>            System.out.println("Digit  : " +dtmf.getDigit());
>>            System.out.println("Source : " + dtmf.getSource());
>>            System.out.println("Channel: " +dtmf.getChannel());
>>
>>            System.out.println(dtmf);
>>        }
>>
>>
>>
>>    }
>>
>>    public static void main(String[] args) throws Exception
>>    {
>>
>>        HelloEvents helloEvents;
>>        helloEvents = new HelloEvents();
>>        helloEvents.run();
>>
>>    }
>>
>> }
>>
>>
>> Só isso não garante que eu possa usar os dígitos dtmf, no caso exibir.
>>
>> To quebrando a cabeça, por favo me de uma luz. Existe uma maneira de
>> usar essa classe DtmfEvent(como essa classe funciona). Caso eu ligue
>> para um canal da placa VB0408 que tenho, o asterisk faria a gerencia
>> do atendimento mais se eu tecla em um numero como garantir que a
>> classe DtmfEvent saiba que ocorreu um evento dtmf.
>>
>> Muito obrigado..
>>
>>
>> Em 8 de março de 2010 17:21, jefferson alexandre
>> <jefferson.alexandre em gmail.com> escreveu:
>>  > Já tentou usar " AGI get data"?
>> > Aqui tem um exemplo em PHP que talvez lhe ajude.
>> >
>> http://phpagi.sourceforge.net/phpagi2/docs/__examplesource/exsource__root_phpagi-2.14_examples_dtmf.php_9f0d08538805cb50bb0f290606fe78d3.html
>> >
>> > 2010/3/8 <brunoantognolli em email.com>
>> >>
>> >> Boa tarde Wanderson,
>> >>
>> >> Eu precisei utilizar "comparações de som" com o Asterisk-Java e não
>> >> consegui inicialmente, e não tive a oportunidade de tentar outra vez.
>> >>
>> >> Imagino que você possa gravar o DMTF e após isso comparar as ondas de
>> som,
>> >> a partir daí poderia saber qual número foi digitado.
>> >>
>> >> Talvez esse link ajude um pouco:
>> >>
>> >>
>> http://blogs.reucon.com/asterisk-java/2009/04/03/speech_recognition_with_asterisk_java.html
>> >>
>> >>
>> >>
>> >> Se você conseguir dar continuidade no assunto e resolver o problema
>> posta
>> >> aí...
>> >> Att,
>> >> Bruno
>> >>
>> >>
>> >>
>> >> -----Original Message-----
>> >> From: Wanderson Alves Rodrigues <wanderson.alves.rodrigues em gmail.com>
>> >> To: AsteriskBrasil em listas.asteriskbrasil.org
>> >> Sent: Mon, Mar 8, 2010 3:23 pm
>> >> Subject: [AsteriskBrasil] como buscar o DTMF e passar pro Java?
>> >>
>> >> Caros, esta é a primeira vez que preciso de um Help da lista.
>> >> Preciso buscar o DTMF de um dos oito canais de uma placa VB0408 e
>> >> passar para um programa Java.
>> >>
>> >> Já consigo buscar os eventos de conexão (embora não saiba o que
>> >> significam os numeros que aparecem).
>> >>
>> >> O servidor está 100% operacional, drivers devidamente compilados e
>> >> placa funcionando corretamente. Uso um Trixbox.
>> >>
>> >> Optei por Asterisk-Java por ter facilidade com a linguagem.
>> >> O case final é o seguinte:
>> >>
>> >> Preciso que meu programa seja capaz de buscar simultaneamente os DTMFs
>> >> de cada canal da VB0408 e exiba o número pressionado no celular (após
>> >> capturar o DTMF) na tela, para cada canal.
>> >>
>> >> Alguém sabe se usando a Menager API somente, eu consigo obter os DTMFs?
>> >> Qualquer exemplo será muito bem vindo!
>> >>
>> >> Grande abraço a todos!
>> >>
>> >> Wanderson.
>> >> _______________________________________________
>> >> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
>> >> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
>> >> - Suporte técnico local qualificado e gratuito
>> >> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
>> >> _______________________________________________
>> >> Lista de discussões AsteriskBrasil.org
>> >> AsteriskBrasil em listas.asteriskbrasil.org
>> >> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>> >>
>> >> _______________________________________________
>> >> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
>> >> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
>> >> - Suporte técnico local qualificado e gratuito
>> >> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
>> >> _______________________________________________
>> >> Lista de discussões AsteriskBrasil.org
>> >> AsteriskBrasil em listas.asteriskbrasil.org
>> >> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>> >
>> >
>> > _______________________________________________
>> > KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
>> > - Hardware com alta disponibilidade de recursos e qualidade KHOMP
>> > - Suporte técnico local qualificado e gratuito
>> > Conheça a linha completa de produtos KHOMP em www.khomp.com.br
>> > _______________________________________________
>> > Lista de discussões AsteriskBrasil.org
>> > AsteriskBrasil em listas.asteriskbrasil.org
>> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>> >
>> _______________________________________________
>> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
>> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
>> - Suporte técnico local qualificado e gratuito
>> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> Luis Machado Reis
> Analista de Sistemas
> www.singularideas.com.br
>
> _______________________________________________
> KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
> - Hardware com alta disponibilidade de recursos e qualidade KHOMP
> - Suporte técnico local qualificado e gratuito
> Conheça a linha completa de produtos KHOMP em www.khomp.com.br
> _______________________________________________
> 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/20100315/34577131/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil