[AsteriskBrasil] valor de retorno do script AGI

brunoantognolli em email.com brunoantognolli em email.com
Quarta Dezembro 16 16:47:12 BRST 2009


Aí Rodrigo, em PHP nao posso te ajudar muito pq não conheco.

Mas eu já fiz isso que você está querendo fazer em java...
abaixo vai um exemplo EM JAVA, simples, onde eu defino os feriados para determinadas strings e consulto se a data passada é um feriado ou não...

Classe:

 public void ConsultaFeriado() throws AgiException {
        //Recupera a data do Asterisk
         String dataVerificar = channel.getVariable("DATAATUAL");

        //Feriados Cadastrados
        String anoNovo              = "01/01 ";
        String carnaval1            = "23/02 ";
        String carnaval2            = "24/02 ";
        String aniversarioCidade    = "19/03 ";
        String paixaoCristo         = "10/04 ";
        String tiradentes           = "21/04 ";
        String diaDoTrabalho        = "01/05 ";
        String corpusChristi        = "11/06 ";
        String revolucaoConstitucio = "09/07 ";
        String independenciaBrasil  = "07/09 ";
        String padroeiraBrasil      = "12/10 ";
        String finados              = "02/11 ";
        String proclamacaoRepublica = "15/11 ";
        String natal                = "25/12 ";

        String feriados = anoNovo +  carnaval1 + carnaval2 + aniversarioCidade + paixaoCristo + tiradentes +
                          diaDoTrabalho + corpusChristi + revolucaoConstitucio + independenciaBrasil +
                          padroeiraBrasil + finados + proclamacaoRepublica + natal;
       
        String dataVerificar2 = dataVerificar.substring(0, 5);

        boolean feriado = feriados.contains(dataVerificar2);

        if (feriado == true) {
            channel.setVariable("FERIADO", "1");
        } else {
            channel.setVariable("FERIADO", "0");
        }

    }

Espero que ajude.

Att,
Bruno


-----Original Message-----
From: Rodrigo Lang <rodrigoferreiralang em gmail.com>
To: asteriskbrasil em listas.asteriskbrasil.org
Sent: Wed, Dec 16, 2009 4:29 pm
Subject: [AsteriskBrasil] valor de retorno do script AGI


Boa tarde lista. Estou fazendo um AGI em php e surgiu algumas duvidas, as quais eu não consegui sanar no google. O que eu preciso é manipular o valor de ${AGISTATUS} ou criar uma outra variável no AGI para chamar no extensions. Na pesquisa que fiz encontrei diversos modos, porém nenhum funcionou. Como nunca tive muito contato com o AGI estou com um pouco de dificuldade. O que eu preciso seria mais ou menos isso:

if ( $varivel == "" ) {

fwrite($stdout, "Não deu certo.\n");
fflush($stdout);

}
else {

fwrite($stdout, "Deu certo.\n");

fflush($stdout);

}


Eu preciso que esse trecho retorne algo para eu manipular no extensions. O que eu já tentei sem sucesso foi:
AGI::set_variable('STATUS','deucerto');
$AGI->set_variable('STATUS','deucerto');
return 0;
result = 0;


Agora eu não sei se falta alguma biblioteca no meu script ou alguma dependência. Quando eu coloco as linhas acima ele me retorna sempre o mesmo erro:
"utils.c:1019 ast_carefulwrite: write() returned error: Broken pipe"

Pesquisei em vários livros e em vários sites, porém achei a documentação um pouco precária sobre o assunto. Se alguém puder me ajudar, agradeço desde já.



Ats,
Rodrigo F. Lang
Amd. de Redes em Telecom


_______________________________________________
 Redfone é líder no fornecimento de bridges TDMoE <-> E1
 Valor similar ao de placas E1 PCI;
 Não há problemas de compatibilidade com barramento PCI;
 Possibilitam a construção de soluções de alta disponibilidade(dois  
ervidores compartilham o mesmo E1)
onheça mais sobre este produto em www.red-fone.com
______________________________________________
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/20091216/7e3e6cee/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil