AGI para consulta da portabilidade Atualizado em 26/04
Transcrição
AGI para consulta da portabilidade Atualizado em 26/04
AGI para consulta da portabilidade Atualizado em 26/04/2012 Obs.: Está em fase final Para se criar um contexto personalizado é necessário que os módulos Mic Aplication e Custom Destinations estejam instalados, no caso de Elastix já vem por padrão no tribox não. A partir desse momento todo procedimento é igual para as duas distribuições 1 - criar um "Custom Destinations": Na aba "Tools" vá em "Custom Destinations" como segue a figura abaixo. No item “Custom Destinations” coloque custon-port,s,1 isto quer dizer que vai chamar o contexto com o nome custon-port na extensão 's' na prioriadade 1. No item “Description” coloque Telein-Portabilidade isto é só um nome para a descrição 2 – Criar um Misc Aplications Na aba “Setup” vá em “Misc Aplications” No item “Description” coloque Telein-Portabilidade isto é só uma descrição No item “Feature Code” coloque _NXXXXXXX isto significa que só será permitido 8 digitos. No item “Destination” escolha “Custom Destinations” e ao lado Telein-Portabilidade Obs.: Este procedimento terá que ser repetido duas vezes pois temos que colocar duas condições, uma com 8 dígitos e outra com 10 dígitos. _NXNXXXXXXX _NXXXXXXX 3 – Editando o Extensions_custom.conf No caso do Elastix, volte a tela do Elastix e vá na aba “Tools” como segue a figura abaixo: clique no arquivo extensions_custom.conf para editá-lo e adicione o sequinte linha no final do arquivo: [custon-port] exten => s,1,NoOp(#######################################) exten => s,n,NoOp(############### Telein ##################) exten => s,n,NoOp(#######################################) exten => s,n,AGI(port.php) Crie um arquivo chamado port.php dentro do diretório /var/lib/asterisk/agi-bin/ com o conteudo abaixo: #!/usr/bin/php <? //dont' forget this import require_once ('phpagi.php'); //require_once ('include/phpagi/phpagi-asmanager.php'); $agi = new AGI(); $agi->verbose("CALLER ID: " . $agi->request[agi_callerid]); $callerid = $agi->request["agi_callerid"]; $agi->verbose("EXTENSION: " . $agi->request[agi_extension]); $extension = $agi->request["agi_dnid"]; $ddd = 81; //Defino qual o ddd do cliente if (strlen($extension)==8){ // Se digitou só 8 digitos acrescento o ddd $extension= $ddd.$extension; } $consulta = exec("php /var/lib/asterisk/agi-bin/consulta.php $extension"); $operadora = explode("#", $consulta); switch ($operadora[0]) { case 41: $agi->verbose("Operadora TIM"); $agi->exec('Dial', "SIP/tronco/$consulta"); break; case 31: $agi->verbose("Operadora OI"); $agi->exec('Dial', "SIP/tronco/$consulta"); break; case 21: $agi->verbose("Operadora Claro"); $agi->exec('Dial', "SIP/tronco/$consulta"); break; case 20: $agi->verbose("Operadora Vivo"); $agi->exec('Dial', "SIP/tronco/$consulta"); break; case 98: $agi->verbose("Tefefone Fixo"); $agi->exec('Dial', "SIP/tronco/$consulta"); break; default: //código se var1 não for nenhum dos casos anteriores 21.break; } $agi->verbose("Numero digitado: " . $consulta); $agi->hangup(); exit(); ?> Crie outro arquivo chamado consulta.php dentro do diretório /var/lib/asterisk/agi-bin/ com o conteudo abaixo: <?php //$chave = 'senhasite'; $numero = $argv[1]; $url = "http://consultanumero.telein.com.br/sistema/consulta_numero.php?numero=$numero&chave=senh asite"; $texto_resposta = file_get_contents($url); //$array_resposta = explode('#', $texto_resposta); echo $texto_resposta; ############# ?>
Documentos relacionados
Tutorial AGI com SNEP
$agi->verbose("CALLER ID: " . $agi->request[agi_callerid]); $callerid = $agi->request["agi_callerid"]; $agi->verbose("EXTENSION: " . $agi->request[agi_extension]); $extension = $agi->request[agi_ex...
Leia maisTutorial AGI para Asterisk
No mesmo diretório que foi criado o consulta.php crie o port.php copiando o código abaixo: #!/usr/bin/php verbose("CALLER ID: " ....
Leia mais