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

Wanderson Alves Rodrigues wanderson.alves.rodrigues em gmail.com
Segunda Março 22 13:31:46 BRT 2010


Boa tarde..

Muito obrigado para todos que me ajudaram nesse tópico.

Eu consegui resolver o meu problema de pegar dtmf, eu usei a
biblioteca  manager do asterisk-java, nessa biblioteca tem classes que
capturam eventos de dtmf entre outros.

Obs. Para poder usar essa biblioteca principalmente a classe DTMFEvent
tem que usar o asterisk 1.6.



Em 19 de março de 2010 09:46, Wanderson Alves Rodrigues
<wanderson.alves.rodrigues em gmail.com> escreveu:
> OI Luis Reis. Bom Dia.
>
> Sim eu estava olhando o tutorial do site asterisk-java.
> import org.asteriskjava.fastagi.AgiChannel;
> import org.asteriskjava.fastagi.AgiException;
> import org.asteriskjava.fastagi.AgiRequest;
> import org.asteriskjava.fastagi.BaseAgiScript;
>
> public class HelloAgiScript extends BaseAgiScript
> {
>    public void service(AgiRequest request, AgiChannel channel)
>            throws AgiException
>    {
>        // Answer the channel...
>        answer();
>
>        // ...say hello...
>        streamFile("welcome");
>
>        // ...and hangup.
>        hangup();
>    }
> }
>
> Nesse exemplo ele herda de BaseAgiScript, para a construção de um
> script para o asterisk. Mais como ficaria para pegar o numero do
> telefone que ligou ou o dtmf, to lendo vários tutoriais e até textos
> do asteriskBrasil, mais o AGI não ficou tão claro como o Manager.
>
> Eu não compreendi a comunicação como é feita entre o programa feito
> usando AGI como o asterisk é por socket?
>
> Esse exemplo do site ficar rodando muito parecido como um servidor
> feito em socket.
>
> Esse AGI é um pouco complexo de entender.
>
> Se você tiver um exemplo mais explicativo tem como me mandar, to
> ficando louco para tentar compreender esse tal de AGI.
>
> Muito Obrigado, as repostas então me ajudando a entender melhor.
>
> Em 19 de março de 2010 06:10, Luis Reis
> <luis.reis em singularideas.com.br> escreveu:
>> você usa a baseagiscript como no exemplo do site.
>>
>> Em 18/03/10, Wanderson Alves
>> Rodrigues<wanderson.alves.rodrigues em gmail.com> escreveu:
>>> 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.reis em 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.rodrigues em 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.sigrist em 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.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
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>> _______________________________________________
>>> 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
>


Mais detalhes sobre a lista de discussão AsteriskBrasil