=> arquivo extensions.conf
[contexto-portabilidade]
;Ligacoes para celular local
exten => _[6-9]XXXXXXX,1,NoOp(---> DE ${CALLERID(num)} PARA ${EXTEN} <--)
exten => _[6-9]XXXXXXX,n,AGI(portabilidade.php,12${EXTEN})
exten => _[6-9]XXXXXXX,n,NoOp(---> A OPERADORA DISCADA E: ${OPERADORA} <---)
exten => _[6-9]XXXXXXX,n,Macro(portabilidade,)
exten => _[6-9]XXXXXXX,n,Dial(${PORTAGSM}/${EXTEN},40,tgr)
;exten => _[6-9]XXXXXXX,n,Dial(${PORTAGSM2}/${EXTEN},40,tgr)
exten => _[6-9]XXXXXXX,n,Hangup()
;ligacoes para celular DDD
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,Macro(portabilidade,)
exten => _0XX[6-9]XXXXXXX,n,Dial(${PORTAGSM}/0${GSMDDD}${EXTEN:1},40,tgr)
;exten => _0XX[6-9]XXXXXXX,n,Dial(${PORTAGSM2}/0${GSMDDD}${EXTEN:1},40,tgr)
exten => _0XX[6-9]XXXXXXX,n,Hangup()
;Ligacoes para sao paulo (nono digito)
exten => _0XX9[4-9]XXXXXXX,1,NoOp(---> DE ${CALLERID(num)} PARA ${EXTEN} <--)
exten => _0XX9[4-9]XXXXXXX,n,AGI(portabilidade.php,${EXTEN:1})
exten => _0XX9[4-9]XXXXXXX,n,NoOp(---> A OPERADORA DISCADA E: ${OPERADORA} <---)
exten => _0XX9[4-9]XXXXXXX,n,Macro(portabilidade,)
exten => _0XX9[4-9]XXXXXXX,n,Dial(${PORTAGSM}/0${GSMDDD}${EXTEN:1},40,tgr)
;exten => _0XX9[4-9]XXXXXXX,n,Dial(${PORTAGSM2}0/${EXTEN:1},40,tgr)
exten => _0XX9[4-9]XXXXXXX,n,Hangup()
[macro-portabilidade]
; --- VERIFICA SE O RAMAL DE DESTINO OU DE ORIGEM DEVE SER GRAVADO
exten => s,1,Noop(---> VERIFICANDO QUAL OPERADORA DISCADA = (${OPERADORA})<---)
exten => s,n,GotoIf($["${OPERADORA}" = "TIM CELULAR"]?tim)
exten => s,n,GotoIf($["${OPERADORA}" = "VIVO"]?vivo)
exten => s,n,GotoIf($["${OPERADORA}" = "CLARO"]?claro)
exten => s,n,GotoIf($["${OPERADORA}" = "TNL PCS"]?tlnpcs)
exten => s,n,GotoIf($["${OPERADORA}" = "MCS (Nextel)"]?nextel)
exten => s,n,GotoIf($["${OPERADORA}" = "AMERICEL"]?americel)
exten => s,n,GotoIf($["${OPERADORA}" = "TELEMIG CELULAR"]?telemig)
exten => s,n,GotoIf($["${OPERADORA}" = "CTBC CELULAR S.A"]?ctbc)
exten => s,n,GotoIf($["${OPERADORA}" = "BRASIL TELECOM CELULAR"]?btelecom)
exten => s,n,GotoIf($["${OPERADORA}" = "AMAZONIA CELULAR"]?amazonia)
exten => s,n,GotoIf($["${OPERADORA}" = "UNICEL DO BRASIL"]?unicel)
exten => s,n,GotoIf($["${OPERADORA}" = "SERCOMTEL CELULAR"]?sercomtel)
exten => s,n,GotoIf($["${OPERADORA}" = "OPTIONS COMP"]?options)
exten => s,n,GotoIf($["${OPERADORA}" = "TELCOM TELECOMUNICACOES DO BRASIL"]?telecom)
exten => s,n,GotoIf($["${OPERADORA}" = "FALKLAND TECNOLOGIA"]?falkland)
exten => s,n,GotoIf($["${OPERADORA}" = "IRIDIUM"]?iridium)
exten => s,n,GotoIf($["${OPERADORA}" = "GLOBALSTAR DO BRASIL"]?globalstar)
exten => s,n,MacroExit
exten => s,n(tlnpcs),Noop(---> TNL PCS <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g5)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(vivo),Noop(---> Operadora VIVO <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g5)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(tim),Noop(---> Operadora TIM <---)
exten => s,n,Set(PORTAGSM=DGV/g6)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=41)
exten => s,n,MacroExit
exten => s,n(claro),Noop(---> Operadora CLARO <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g5/2)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(nextel),Noop(---> Operadora NEXTEL <---)
exten => s,n,Set(PORTAGSM=DGV/g6)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
;exten => s,n,Set(GSMDDD=21)
exten => s,n,MacroExit
exten => s,n(americel),Noop(---> Operadora AMERICEL <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(telemig),Noop(---> Operadora TELEMIG CELULAR <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(ctbc),Noop(---> Operadora CTBC <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(btelecom),Noop(---> Operadora BRASIL TELECOM <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(amazonia),Noop(---> Operadora AMAZONIA CELULAR <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(unicel),Noop(---> Operadora UNICEL DO BRASIL<---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(sercontel),Noop(---> Operadora SERCONTEL CELULAR <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(options),Noop(---> Operadora OPTIONS COMP <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(telecom),Noop(---> Operadora TELCOM TELECOMUNICACOES DO BRASIL <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(falkland),Noop(---> Operadora FALKLAND TECNOLOGIA <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(iridium),Noop(---> Operadora IRIDIUM <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
exten => s,n(globalstar),Noop(---> Operadora GLOBALSTAR DO BRASIL <---)
exten => s,n,Set(PORTAGSM=DGV/g5)
;exten => s,n,Set(PORTAGSM2=DGV/g6)
exten => s,n,Set(GSMDDD=15)
exten => s,n,MacroExit
=> arquivo portabilidade.php /var/lib/asterisk/agi-bin /
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.
#!/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);
<?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);
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();
?>
?>
Nenhum comentário:
Postar um comentário