Oi Luis Rei. Muito obrigado pela reposta me ajudou. Mais tenho outra duvida, quando uso AGI da biblioteca asterisk-java para pegar DTMF qual classe da Package org.asteriskjava.fastagi devo usar.
Em 17 de março de 2010 06:03, Luis Reis <luis.r...@singularideas.com.br> escreveu: > opa > > Quando você coloca o agi no /var/lib/asterisk/agi-bin ele é feito em > qualquer linguagem em que ele recebe os comandos em stdin e responde > para o asterisk em stdout. Ele funciona como um shellscrip. > > Quando usamos o asterisk-java, ele executa este mesmo protocolo sò que > em cima de sockets. Isto permite que tenhamos vários asterisk rodando > todos os agis em um mesmo lugar. Outra vantagem de colocar os agi em > outra máquina é que a escala do asterisk não ficaćomprometida pelo > números dos forks dos agi locais. > > Logo: agi local is evil. > > agora, como no exemplo ele dah um streamfile, todos os arquivos fe som > ou arqivos que voce manda gravar o audio ou dtmf serão armazenados > localmente no astwrisk. No meu caso eu tenho uma area comum num > storage para fazer isso e deixar os arquivos disponiveis para todos os > asterisk. > > Espero ter ajudado. > > Em 16/03/10, Wanderson Alves > Rodrigues<wanderson.alves.rodrig...@gmail.com> escreveu: >> 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 >> > > > -- > 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