[AsteriskBrasil] AGI de consistência de CPF/CNPJ

Isac Borgert isacborgert em gmail.com
Quinta Dezembro 19 14:32:54 BRST 2013


Agora que vi a tua URA ali embaixo...


Em 19 de dezembro de 2013 14:28, Isac Borgert <isacborgert em gmail.com>escreveu:

> Sou leigo no assunto mas vou tentar opinar...tem que ter o
> require_once "phpagi.php";
> require_once "phpagi-asmanager.php";
>
>
> O teu php roda normal? Ativa o display_errors do php pra ver a linha que
> possa conter erro.
>
> Como é a extensão que vc chama o script?
>
> Você só quer validar ou quer consultar em um baco? Aqui a gente tem algo
> parecido, ele só verifica se tem 11 ou 14 dígitos e consulta no banco se o
> cliente é cadastrado, se for cadastrado chama no ramal do operador que esta
> atendendo o chamado dele, se não é cadastrado chama na atendente geral.
>
>
> Em 19 de dezembro de 2013 11:03, Márcio Luís Günther <
> mgunther em marciogunther.com> escreveu:
>
>> Bom dia pessoal,
>>
>> Criei a URA, com a solicitação de digitação de CPF ou CNPJ, sem problemas.
>> O meu problema está na consistência do CPF ou CNPJ informado.
>> Criei um script AGI em PHP, que aparentemente é executado, retornando o
>> seguinte na console do Asterisk:
>>
>>     -- Launched AGI Script /var/lib/asterisk/agi-bin/san_cpfcnpj.php
>>     -- <DAHDI/28-1>AGI Script san_cpfcnpj.php completed, returning 0
>>
>> Porém, o teste não está sendo realizado dentro do script, pois deveria
>> apresentar mais alguns "prints" na console e atualizar um arquivo de log.
>> O script AGI é o seguinte:
>>
>> ========== INÍCIO DO SCRIPT ==========
>> #!/usr/bin/php -q
>> <?php
>> // Include das classes PHPAGI
>> // require('/var/lib/asterisk/agi-bin/phpagi.php');
>> require('phpagi.php');
>> // Include da classe de validacao de CPF e CNPJ
>> // include('/var/lib/asterisk/agi-bin/class.cpfcnpj.php');
>> require('class.cpfcnpj.php');
>>
>> $_log = true;
>> $_logfile = "/tmp/mlg_agi.log";
>>
>> if($_log) {
>>     $stdlog = fopen($_logfile, "a");
>> }
>>
>> function wlog($line) {
>>     global $_log, $stdlog;
>>     if($_log) {
>>         fputs($stdlog, date("Y-m-d H:i:s").": ".$line."\n");
>>     }
>> }
>>
>> // Inicio do script
>> $agi = new AGI();
>>
>> $v = new validacao();
>>
>> wlog("----------");
>> wlog("Inicio");
>> wlog("Parametro 1: ".$argv[1]);
>>
>> // $agi->conlog("Antes do IF: ".$agi->get_variable("C_OK"));
>> $agi->verbose("Antes do IF: ".$agi->get_variable("C_OK"));
>>
>> // if($v->validaCPF($argv[1]) || $v->validaCNPJ($argv[1])) {
>> if($v->validaCPF($argv[1])) {
>>         // CPF ou CNPJ OK
>>     wlog("CPF ou CNPJ '$argv[1]' OK.");
>>         $agi->set_variable("C_OK", "0");
>> } else {
>>         // CPF ou CNPJ NOK
>>     wlog("CPF ou CNPJ '$argv[1]' NOK.");
>>         $agi->set_variable("C_OK", "1");
>> }
>>
>> $agi->say_number($argv[1]);
>> // $agi->conlog("Depois do IF: ".$agi->get_variable("C_OK"));
>> $agi->verbose("Depois do IF: ".$agi->get_variable("C_OK"));
>> wlog("Fim.");
>> wlog("----------");
>>
>> if($_log) {
>>     fclose($stdlog);
>> }
>>
>> ?>
>> ========== FIM DO SCRIPT ==========
>>
>> A URA que criei para testar o script é:
>>
>> ========== INÍCIO DO SCRIPT ==========
>> [san-ura01-cpf-cnpj-test]
>> exten => s,1,NoOp(-------------------------------------)
>> exten => s,n,NoOp(----- SAN - URA01: Ler CPF/CNPJ -----)
>> exten => s,n,NoOp(-------------------------------------)
>> exten => s,n,Set(C_OK=1)
>> exten => s,n,While($[${C_OK}=1])
>> exten => s,n,Wait(1)
>> exten => s,n,Read(CPFCNPJ,custom/ura01_cpf-cnpj,0)
>> exten => s,n,NoOp(-------------------------------------)
>> exten => s,n,NoOp(----- SAN - URA01: Ler CPF/CNPJ: ${CPFCNPJ} -----)
>> exten => s,n,NoOp(----- C_OK antes AGI: ${C_OK}   -----)
>> exten => s,n,NoOp(-------------------------------------)
>> exten => s,n,AGI(san_cpfcnpj.php,${CPFCNPJ})
>> exten => s,n,NoOp(-------------------------------------)
>> exten => s,n,NoOp(----- C_OK depois AGI: ${C_OK}   -----)
>> exten => s,n,NoOp(-------------------------------------)
>> exten => s,n,ExecIf($[${C_OK} =
>> 1]?Playback(custom/ura01_cpf-ou-cnpj-invalido))
>> exten => s,n,EndWhile()
>> exten => s,n,Return()
>> ========== FIM DO SCRIPT ==========
>>
>> Estou testando em um Asterisk 1.6.2.24.
>> Alguém poderia dar uma luz?
>>
>> []'s
>>
>> Márcio Luís Günther
>>
>>
>> _______________________________________________
>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
>> Intercomunicadores para acesso remoto via rede IP e telefones IP
>> Conheça todo o portfólio em www.Khomp.com
>> _______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20131219/4f00e9ab/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil