[AsteriskBrasil] AGI

brunoantognolli em email.com brunoantognolli em email.com
Sexta Fevereiro 5 12:34:00 BRST 2010


HAHAHAHA... é verdade....

Para essa validacaozinha babaca, o Java é como utilizar um tanque de guerra para matar uma formiga! hahahahaha

Mas temos alguns processos bem ignorantes aqui, que eu acho q o Java ajuda mto!!!

Mas com toda certeza, poderia ser em Java, Pascal, .Net, Phython, Aramaico, Hieróglifos, etc, hahahahah






-----Original Message-----
From: Eder Souza <eder.souza em bsd.com.br>
To: asteriskbrasil em listas.asteriskbrasil.org
Sent: Fri, Feb 5, 2010 12:23 pm
Subject: Re: [AsteriskBrasil] AGI


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



_______________________________________________
HOMP: 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 
onheça a linha completa de produtos KHOMP em www.khomp.com.br
______________________________________________
ista de discussões AsteriskBrasil.org
steriskBrasil em listas.asteriskbrasil.org
ttp://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




_______________________________________________
HOMP: 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 
onheça a linha completa de produtos KHOMP em www.khomp.com.br
______________________________________________
ista de discussões AsteriskBrasil.org
steriskBrasil em listas.asteriskbrasil.org
ttp://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




_______________________________________________
HOMP: 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 
onheça a linha completa de produtos KHOMP em www.khomp.com.br
______________________________________________
ista de discussões AsteriskBrasil.org
steriskBrasil em listas.asteriskbrasil.org
ttp://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20100205/4763e730/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil