<div>Bruno coitado do Wendell vai envenenar o kra com Java huahua !!</div>
<div> </div>
<div>Conselho, Java para que?? se vc faz isso em outra linguegem com 3 vezes menos trabalho nao entendo huahua !!<br><br></div>
<div class="gmail_quote">Em 5 de fevereiro de 2010 12:12, <span dir="ltr">&lt;<a href="mailto:brunoantognolli@email.com">brunoantognolli@email.com</a>&gt;</span> escreveu:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote"><font color="black" size="2" face="arial">
<div><font face="Arial, Helvetica, sans-serif">Então blz, vamos lá...</font></div>
<div> </div>
<div>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:</div>
<div> </div>
<div><strong>Dialplan:</strong></div>
<div>exten =&gt; 001,n,NoOp(*** Chamando AGI ***)<br>exten =&gt; 001,n,Agi(agi://localhost/validacao.agi?op=validarEntradaSemAsterisco)<br>exten =&gt; 001,n,NoOp(*** Valor Valido? ${VALORVALIDO} ***)</div>
<div><br> </div>
<div><strong>Java:</strong></div>
<div><strong></strong> </div>
<div>import org.apache.log4j.Logger;<br>import org.asteriskjava.fastagi.AgiChannel;<br>import org.asteriskjava.fastagi.AgiException;<br>import org.asteriskjava.fastagi.AgiRequest;<br>import org.asteriskjava.fastagi.BaseAgiScript;</div>

<div><strong></strong> </div>
<div>/**<br> *<br> * @author bruno.antognolli<br> */</div>
<div><br><strong>public class Validacao extends BaseAgiScript {</strong></div>
<div>    private AgiChannel channel = null;<br>    private org.apache.log4j.Logger log = Logger.getLogger(Validacao.class);</div>
<div>    public void service(AgiRequest request, AgiChannel channel) throws AgiException {</div>
<div> </div>
<div>        <a href="http://log.info/" target="_blank">log.info</a>(&quot;Executando Service da Classe: &quot; + this.getClass().getSimpleName());</div>
<div>        // Define o objeto channel como atributo de classe<br>        this.channel = channel;</div>
<div> </div>
<div>        // Recupera a operação solicitada no canal      </div>
<div>        String op = request.getParameter(&quot;op&quot;);</div>
<div> </div>
<div>        // Executa validarEntradaSemAsterisco<br>        if (op.equalsIgnoreCase(&quot;validarEntradaSemAsterisco&quot;)) {<br>            validarEntradaSemAsterisco();<br>        }</div>
<div> </div>
<div>        if (op == null || op.equalsIgnoreCase(&quot;&quot;)) {<br>            throw new AgiException(&quot;O método informado não existe!&quot;);       <br>         }</div>
<div> </div>
<div> </div>
<div><strong>public void validarEntradaSemAsterisco() throws AgiException {</strong></div>
<div>        //Logando a Operação de Validação<br>        <a href="http://log.info/" target="_blank">log.info</a>(&quot;Executando Método: validarEntrada&quot;);</div>
<div> </div>
<div>        //Recuperando valores do Asterisk<br>        String valorVariavel =  channel.getVariable(&quot;ARG1&quot;);</div>
<div>        </div>
<div>        //Verifica se é número.<br>        if (isNumber(valorVariavel) == true) { //Aqui eh uma funcao que eu criei para validar numeros, nem coloquei no email a funcao</div>
<div>            //Se o usuário digitou valores diferentes de 0, valor válido<br>            //ex: 0000001*<br>        </div>
<div>            if ( ((Long.parseLong(valorVariavel) + 0) != 0 )){<br>                <a href="http://log.info/" target="_blank">log.info</a>(&quot;[Validacao.java] -&gt; Valor valido: &#39;&quot; + valorVariavel + &quot;&#39;&quot;);</div>

<div>           </div>
<div>                //Devolvendo valores para o ASTERISK<br>                channel.setVariable(&quot;VALORVALIDO&quot;, &quot;1&quot;);</div>
<div> </div>
<div>            } else {//if ( ((Integer.parseInt(valorFormatado) + 0) != 0 ))<br>                // Registrando erro no arquivo de log<br>                log.error(&quot;[Validacao.java] -&gt; Erro de validacao, valor invalido: &#39;&quot; + valorVariavel + &quot;&#39;&quot;);</div>

<div>                channel.setVariable(&quot;VALORVALIDO&quot;, &quot;0&quot;);<br>            }</div>
<div> </div>
<div>        } else { //if (isNumber(valorFormatado) == true)<br></div>
<div>            // Registrando erro no arquivo de log<br>            log.error(&quot;[Validacao.java] -&gt; Erro de validacao, valor invalido: &#39;&quot; + valorVariavel + &quot;&#39;&quot;);</div>
<div>            channel.setVariable(&quot;VALORVALIDO&quot;, &quot;0&quot;);</div>
<div><br>        }</div>
<div>}</div>
<div><br><br><strong>OBS: O que é importante saber sobre a classe java:</strong></div>
<div>Para pegar um valor vindo do Asterisk e usar no Java vc utiliza:</div>
<div>channel.getVariable(&quot;ARG1&quot;);</div>
<div> </div>
<div>Onde: ARG1 é a variável vinda do Asterisk</div>
<div> </div>
<div> </div>
<div>Para pegar um valor &quot;processado&quot; pelo Java e devolver ao Asterisk vc utiliza:</div>
<div>channel.setVariable(&quot;VALORVALIDO&quot;, &quot;0&quot;);</div>
<div> </div>
<div>Onde: VALORVALIDO é o nome da variável que o Asterisk guardará o resultado e 0 é o valor da variável VALORVALIDO.</div>
<div> </div>
<div><strong>OBS 2:</strong></div>
<div>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:</div>
<div> </div>
<div>/var/lib/asterisk/agi-bin</div>
<div> </div>
<div>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!</div>
<div> </div>
<div>Espero ter ajudado!!! :)</div>
<div> </div>
<div>Att,</div>
<div>Bruno</div>
<div><strong></strong> </div>
<div><br></div>
<div style="CLEAR: both"></div><br><br>
<div style="FONT-FAMILY: arial, helvetica; COLOR: black; FONT-SIZE: 10pt">
<div class="im">-----Original Message-----<br>From: Wendell Silva &lt;<a href="mailto:wendbandeira@gmail.com" target="_blank">wendbandeira@gmail.com</a>&gt;<br>To: <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
</div>
<div class="im">Sent: Fri, Feb 5, 2010 11:28 am<br>Subject: Re: [AsteriskBrasil] AGI<br><br></div>
<div>
<div></div>
<div class="h5">
<div>Pode ser sim. <br><br>
<div class="gmail_quote">Em 5 de fevereiro de 2010 11:05, <span dir="ltr">&lt;<a href="mailto:brunoantognolli@email.com" target="_blank">brunoantognolli@email.com</a>&gt;</span> escreveu:<br>
<blockquote style="BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote"><font color="black" size="2" face="arial">
<div>Wendel, pode ser um AGI em java?</div>
<div> </div>
<div>Se for, posso ajudar sim! ;)</div>
<div> </div>
<div>Att.</div>
<div>Bruno<br><br></div>
<div style="CLEAR: both"></div><br><br>
<div style="FONT-FAMILY: arial, helvetica; COLOR: black; FONT-SIZE: 10pt">
<div>-----Original Message-----<br>From: Wendell Silva &lt;<a href="mailto:wendbandeira@gmail.com" target="_blank">wendbandeira@gmail.com</a>&gt;<br>To: <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
</div>
<div>
<div></div>
<div>Sent: Fri, Feb 5, 2010 10:21 am<br>Subject: [AsteriskBrasil] AGI<br><br>
<div>Alguém tem um exemplo claro de AGI pra mim passar, com dialplan e scripit.agi. ? <br><br><br>Att.<br><br>Wendell Silva Bandeira<br></div></div></div>
<div>
<div style="BACKGROUND-COLOR: rgb(255,255,255); MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: rgb(0,0,0); FONT-SIZE: 12px"><pre style="FONT-SIZE: 9pt"><tt>_______________________________________________
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 <a href="http://www.khomp.com.br/" target="_blank">www.khomp.com.br</a>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>
</tt></pre></div></div></div></font><br>_______________________________________________<br>KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.<br>- Hardware com alta disponibilidade de recursos e qualidade KHOMP<br>
- Suporte técnico local qualificado e gratuito<br>Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br/" target="_blank">www.khomp.com.br</a><br>_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</blockquote></div><br></div>
<div style="BACKGROUND-COLOR: #fff; MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: #000; FONT-SIZE: 12px"><pre style="FONT-SIZE: 9pt"><tt>_______________________________________________
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 <a href="http://www.khomp.com.br/" target="_blank">www.khomp.com.br</a>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a>
</tt></pre></div></div></div></div></font><br>_______________________________________________<br>KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.<br>- Hardware com alta disponibilidade de recursos e qualidade KHOMP<br>
- Suporte técnico local qualificado e gratuito<br>Conheça a linha completa de produtos KHOMP em <a href="http://www.khomp.com.br/" target="_blank">www.khomp.com.br</a><br>_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</blockquote></div><br>