Oi Pessoal. Estou com algumas duvida, quando faço um programa tipo aquele exemplo do site asterisk-java:
import net.sf.asterisk.fastagi.AGIChannel; import net.sf.asterisk.fastagi.AGIException; import net.sf.asterisk.fastagi.AGIRequest; import net.sf.asterisk.fastagi.AbstractAGIScript; public class HelloAGIScript extends AbstractAGIScript { public void service(AGIRequest request, AGIChannel channel) throws AGIException { // Answer the channel... answer(channel); // ...say hello... streamFile(channel, "welcome"); // ...and hangup. hangup(channel); } } No meu caso tenho duas maquinas uma rodando o asterisk em um linux, e na maquina onde estou programando em java(outra maquina). Depois de ter configurado o extensions.conf e criado o fastagi-mapping.properties eu copilei o codigo java gerando um .jar. Eu estava lendo em outros sites que esse .jar tem que ir nesse diretorio no asterisk /var/lib/asterisk/agi-bin, isso não compreendi. Esse código quando executado fica como um servidor, esperando a interação com o asterisk. Mais se eu quiser pegar o telefone ou dígitos do dtmf como eu faço, tenho que fazer uma associação entre a classe que herda de AbstractAGIScript é um classe que mostre ou guarde esses valores,será que funcionar?. To meio perdido ainda no funcionamento do AGI java, eu estava tentando usar o Manage API a classe EventDTM, mais essa classe só funciona com asterisk 1.6 eu tenho 1.4. Obrigado pela ajuda.. Em 15 de março de 2010 19:36, Paulo Sigrist <paulo.sigr...@gmail.com> escreveu: > 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 > []´s > Sigrist > > 2010/3/9 Luis Reis <luis.r...@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.rodrig...@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.alexan...@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 <brunoantogno...@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.rodrig...@gmail.com> >>> >> To: AsteriskBrasil@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@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@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@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@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@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@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@listas.asteriskbrasil.org http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil