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

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 mais

Tutorial AGI para Asterisk

Tutorial 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