[AsteriskBrasil] script phpagi portabilidade
Danilo Almeida
danilo.almeida em g1telecom.com.br
Segunda Agosto 20 16:35:37 BRT 2012
Bom galera, depois de tanta luta com o agiphp, fiz um script bem simples
para consultar portabilidade em php.
Utilizo como servidor de consulta, o servidor Magnus solution que o Amigo
disponibilizou para a galera da lista.
Esse fiz somente para ver se daria certo. Para questão de somente consulta,
funcionou perfeitamente.
Utilizei algumas informações de alguns posts anteriores.
Extensions .conf
exten => _0XX[6-9]XXXXXXX,1,NoOp(---> DE ${CALLERID(num)} PARA ${EXTEN} <--)
exten => _0XX[6-9]XXXXXXX,n,AGI(portabilidade.php,${EXTEN:1})
exten => _0XX[6-9]XXXXXXX,n,NoOp(---> A OPERADORA DISCADA E: ${OPERADORA}
<---)
exten => _0XX[6-9]XXXXXXX,n,Hangup()
portabilidade.php
#!/usr/bin/php -q
<?php
include("phpagi.php");
//version: Danilo Almeida
//package: AGI Portabilidade PHP
//copyright: Copyright (C) Open Source.
//license: GNU/GPL, see LICENSE.php
//Agi para consulta de operadora para celulares portados
//Acesso ao banco de dados fornecido por http://magnussolution.com
//Contato: danilo.almeida em g1telecom.com.br
$agi = new AGI(); //instanciando objeto
$numero = $argv[1]; //pegando numero discado no extensions.conf
$numero = "55".$numero; //acrescentando 55 para enviar formato E164
$url="http://magnussolution.com/portabilidade.php?seache_number=$numero";
$chave = file_get_contents($url);
//$array_resposta = explode('#', $texto_resposta);
switch($chave){
case 5312 :
$operadora = 'CTBC CELULAR S.A' ;
break;
case 55314 :
$operadora = 'BRASIL TELECOM CELULAR' ;
break;
case 55320 :
$operadora = 'VIVO' ;
break;
case 55321 :
$operadora = 'AMERICEL' ;
break;
case 55323 :
$operadora = 'TELEMIG CELULAR' ;
break;
case 55324 :
$operadora = 'AMAZONIA CELULAR' ;
break;
case 55331 :
$operadora = 'TNL PCS' ;
break;
case 55337 :
$operadora = 'UNICEL DO BRASIL' ;
break;
case 55341 :
$operadora = 'TIM CELULAR' ;
break;
case 55343 :
$operadora = 'SERCOMTEL CELULAR' ;
break;
case 55349 :
$operadora = 'OPTIONS COMP' ;
break;
case 55377 :
$operadora = 'MCS (Nextel)' ;
break;
case 55390 :
$operadora = 'TELCOM TELECOMUNICACOES DO BRASIL' ;
break;
case 55391 :
$operadora = 'FALKLAND TECNOLOGIA' ;
break;
case 55392 :
$operadora = 'IRIDIUM' ;
break;
case 55393 :
$operadora = 'GLOBALSTAR DO BRASIL' ;
break;
}
$agi->set_variable("OPERADORA", $operadora);
exit();
?>
Retorno CLI
-- Executing [91538563 em contexto-ramais-voip:1] NoOp("SIP/5001-0000011d",
"---> DE 5001 PARA 91538563 <--") in new stack
-- Executing [91538563 em contexto-ramais-voip:2] AGI("SIP/5001-0000011d",
"portabilidade.php,4391538563") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/portabilidade.php
-- <SIP/5001-0000011d>AGI Script portabilidade.php completed, returning
0
-- Executing [91538563 em contexto-ramais-voip:3] NoOp("SIP/5001-0000011d",
"---> A OPERADORA DISCADA E: VIVO <---") in new stack
att
Danilo Ricardo de Almeida
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20120820/3d44deb3/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil