[AsteriskBrasil] AGI
Eder Souza
eder.souza em bsd.com.br
Sexta Fevereiro 5 12:23:00 BRST 2010
Bruno coitado do Wendell vai envenenar o kra com Java huahua !!
Conselho, Java para que?? se vc faz isso em outra linguegem com 3 vezes
menos trabalho nao entendo huahua !!
Em 5 de fevereiro de 2010 12:12, <brunoantognolli em email.com> escreveu:
> Então blz, vamos lá...
>
> Para fazer a integração asterisk-java é necessário 2 coisas... um dialplan
> para chamar o agi e o próprio agi, abaixo coloquei um dialplan chamando uma
> classe java, veja:
>
> *Dialplan:*
> exten => 001,n,NoOp(*** Chamando AGI ***)
> exten =>
> 001,n,Agi(agi://localhost/validacao.agi?op=validarEntradaSemAsterisco)
> exten => 001,n,NoOp(*** Valor Valido? ${VALORVALIDO} ***)
>
>
> *Java:*
> **
> import org.apache.log4j.Logger;
> import org.asteriskjava.fastagi.AgiChannel;
> import org.asteriskjava.fastagi.AgiException;
> import org.asteriskjava.fastagi.AgiRequest;
> import org.asteriskjava.fastagi.BaseAgiScript;
> **
> /**
> *
> * @author bruno.antognolli
> */
>
> *public class Validacao extends BaseAgiScript {*
> private AgiChannel channel = null;
> private org.apache.log4j.Logger log =
> Logger.getLogger(Validacao.class);
> public void service(AgiRequest request, AgiChannel channel) throws
> AgiException {
>
> log.info("Executando Service da Classe: " +
> this.getClass().getSimpleName());
> // Define o objeto channel como atributo de classe
> this.channel = channel;
>
> // Recupera a operação solicitada no canal
> String op = request.getParameter("op");
>
> // Executa validarEntradaSemAsterisco
> if (op.equalsIgnoreCase("validarEntradaSemAsterisco")) {
> validarEntradaSemAsterisco();
> }
>
> if (op == null || op.equalsIgnoreCase("")) {
> throw new AgiException("O método informado não
> existe!");
> }
>
>
> *public void validarEntradaSemAsterisco() throws AgiException {*
> //Logando a Operação de Validação
> log.info("Executando Método: validarEntrada");
>
> //Recuperando valores do Asterisk
> String valorVariavel = channel.getVariable("ARG1");
>
> //Verifica se é número.
> if (isNumber(valorVariavel) == true) { //Aqui eh uma funcao que eu
> criei para validar numeros, nem coloquei no email a funcao
> //Se o usuário digitou valores diferentes de 0, valor válido
> //ex: 0000001*
>
> if ( ((Long.parseLong(valorVariavel) + 0) != 0 )){
> log.info("[Validacao.java] -> Valor valido: '" +
> valorVariavel + "'");
>
> //Devolvendo valores para o ASTERISK
> channel.setVariable("VALORVALIDO", "1");
>
> } else {//if ( ((Integer.parseInt(valorFormatado) + 0) != 0 ))
> // Registrando erro no arquivo de log
> log.error("[Validacao.java] -> Erro de validacao, valor
> invalido: '" + valorVariavel + "'");
> channel.setVariable("VALORVALIDO", "0");
> }
>
> } else { //if (isNumber(valorFormatado) == true)
> // Registrando erro no arquivo de log
> log.error("[Validacao.java] -> Erro de validacao, valor
> invalido: '" + valorVariavel + "'");
> channel.setVariable("VALORVALIDO", "0");
>
> }
> }
>
>
> *OBS: O que é importante saber sobre a classe java:*
> Para pegar um valor vindo do Asterisk e usar no Java vc utiliza:
> channel.getVariable("ARG1");
>
> Onde: ARG1 é a variável vinda do Asterisk
>
>
> Para pegar um valor "processado" pelo Java e devolver ao Asterisk vc
> utiliza:
> channel.setVariable("VALORVALIDO", "0");
>
> Onde: VALORVALIDO é o nome da variável que o Asterisk guardará o resultado
> e 0 é o valor da variável VALORVALIDO.
>
> *OBS 2:*
> Para a integração Asterisk-Java funcionar, é necessário vc pegar o .jar do
> seu projeto Java (dentro da pasta dist) e jogar dentro da pasta:
>
> /var/lib/asterisk/agi-bin
>
> Após fazer isso é necessário startar o java no asterisk, dar um nome para o
> seu agi no arquivo fastagi-mapping.properties e pronto!
>
> Espero ter ajudado!!! :)
>
> Att,
> Bruno
> **
>
>
>
> -----Original Message-----
> From: Wendell Silva <wendbandeira em gmail.com>
> To: asteriskbrasil em listas.asteriskbrasil.org
> Sent: Fri, Feb 5, 2010 11:28 am
> Subject: Re: [AsteriskBrasil] AGI
>
> Pode ser sim.
>
> Em 5 de fevereiro de 2010 11:05, <brunoantognolli em email.com> escreveu:
>
>> Wendel, pode ser um AGI em java?
>>
>> Se for, posso ajudar sim! ;)
>>
>> Att.
>> Bruno
>>
>>
>>
>> -----Original Message-----
>> From: Wendell Silva <wendbandeira em gmail.com>
>> To: asteriskbrasil em listas.asteriskbrasil.org
>> Sent: Fri, Feb 5, 2010 10:21 am
>> Subject: [AsteriskBrasil] AGI
>>
>> Alguém tem um exemplo claro de AGI pra mim passar, com dialplan e
>> scripit.agi. ?
>>
>>
>> Att.
>>
>> Wendell Silva Bandeira
>>
>> _______________________________________________
>> 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.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://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.orgAsteriskBrasil em listas.asteriskbrasil.orghttp://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
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20100205/946be195/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil