Bom
galera, algum tempo atrás postei um script de portabilidade de operadoras de celular na lista asteriskBrasil usando a classe agiphp, esse script é bem simples, porém, com um pouco de imaginação da pra ir além.
Utilizo
como servidor de consulta a DRA Telecom, basta contratar um dos planos para ter acesso a URL de consulta, o usuário neste exemplo é demo e permite somente 20 consultas diária.
Utilizei
algumas informações de alguns posts encontrados na lista.
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://dratelecom.com.br
//Contato: daniloricalmeida@gmail.com
$agi
= new AGI(); //instanciando objeto
$numero
= $argv[1]; //pegando numero discado no extensions.conf
$numero
= $numero; //DDD+NUMERO
$url="http://portabilidade.dratelecom.com.br/consulta.php?number=$numero&user=demo&pass=demo";
$chave = file_get_contents($url);
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 = 'AMERICEL' ;
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@contexto-ramais-voip:1] NoOp("SIP/5001-0000011d",
"---> DE 5001 PARA 91538563 <--") in new stack
-- Executing [91538563@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@contexto-ramais-voip:3] NoOp("SIP/5001-0000011d",
"---> A OPERADORA DISCADA E: VIVO <---") in new stack
Lembrando que estou utilizando a classe agiphp, a mesma deve estar no diretório /var/lib/asterisk/agi-bin/ juntamente com o arquivo portabilidade.php.
Deve-se também dar permissão de execução nos arquivos para que o asterisk possa executar o mesmo.
qualquer dúvida estou a disposição, devida a correria acabo fazendo os tutoriais correndo e pode ser que fique alguma coisa para trás..rsrs
abraço galera e até a próxima.
Danilo Almeida
E a questão das rotas?
ResponderExcluirVocê já fez?
depende do que estiver usando (gateway e placa).
Excluirtenho rodando em um EBS da khomp, funciona legal.
Amigo.. sou novato em asterisk.. estou criando um server elastix.. me interessei em colocar para funcionar esta AGI.. preciso de uma ajuda.. poderia adicionar vc no msn.?...
ResponderExcluiropa, pode sim... msn ta morrendo, me add no skype: danilo.almeida33
ExcluirEste comentário foi removido pelo autor.
ResponderExcluir