[AsteriskBrasil] cache dos resultados de consulta de portabilidade

Thiago Coutinho root em thiagoc.net
Segunda Maio 11 10:54:57 BRT 2015


É mais ou menos isso aí mesmo, Anivaldo. Eu mudaria 2 coisas se fosse
implantar essa sua implementação em um ambiente de alto tráfego:

1. Em vez de usar o DB_EXISTS eu usaria o DB e verificaria se a variável
está vazia, assim eu já teria a operadora caso exista, consultando apenas
uma vez o banco ao invés de duas.

2. Não sei como você está fazendo a consulta no seu AGI, mas em ambiente de
alto tráfego eu faria a consulta usando SIP (caso o serviço contratado
ofereça este tipo de consulta) ou importaria a base da portabilidade em um
banco local.

Em 9 de maio de 2015 02:16, Anivaldo <w.nelson em ig.com.br> escreveu:

>  Boa noite pessoal
>
> Estou eu aqui voltando pra dar feedback e deixar o registro na lista para
> futuras consultas.
> Obrigado a todos pela ajuda.
> Consegui até uma conta no servidor do Everton pra fazer consultas grátis.
> Obrigado cara!
> Eu preferi seguir a sugestão do Thiago Coutinho e usar o banco do asterisk
> (AstDB) para que fique o mais simples possível.
>
> Meu extensions.conf ficou assim:
>
> exten => _X.,1,NoOp(--> DE ${CALLERID(num)} PARA ${EXTEN} <--)
>  same => n,Set(OPERADORA=${DB_EXISTS(portabilidade/${EXTEN})})
>  same => n,GoToIf($["${OPERADORA}" = "1"]?consultado,${EXTEN},1:novo)
>  same => n(novo),Noop( --> NUMERO NOVO <-- )
>  same => n,AGI(consulta_op.php,${EXTEN})
>  same => n,NoOp(--> ${OPERADORA} <--)
>  same => n,Set(CDR(userfield)=${OPERADORA})
>  same => n,Set(DB(portabilidade/${EXTEN})=${OPERADORA})
>  same => .... continuação para sair pelo chan_dongle...
>  same => n,HangUp()
>
> Caso já tenha havido consulta, vai para o contexto [consultado]
>
> [consultado]
> exten => _X.,1,Noop( ---> CONSULTADO <--- )
>  same => n,Set(OPERADORA=${DB(portabilidade/${EXTEN})})
>  same => n,Set(CDR(userfield)=${OPERADORA})
>  same => n,NoOp(--> ${OPERADORA} <--)
>  same => ... continuação para sair pelo chan_dongle
>  same => n,HangUp()
>
> No final do dia posso colocar o comando asterisk -x 'database deltree
> portabilidade' na cron pra apagar a family portabilidade e, com isso, zerar
> tudo para re-começar no dia seguinte.
>
> E ai ? Tá bom ??  Aceito sugestões.
>
> Obrigado novamente pela colaboração dos colegas de lista
>
> Anivaldo
>
> _______________________________________________
> WORKOFFEE KHOMP: em Junho serão 2 edições do workshop
> gratuito da Khomp:  dia 11 em Brasília, e dia 18 em Curitiba
> Aproveite e conheça os lançamentos: EBS Server PRO e UMG 100
> Garanta sua vaga e saiba mais em: www.workoffee.com.br
> _______________________________________________
> DIGIVOICE: Fabricante pioneiro em Banco de Canais e Placas E1, GSM, FXO e
> FXS para Asterisk e Elastix. Temos Cursos de Telefonia IP e Asterisk.
> Construa soluções de PABX IP com produtos DigiVoice - visite
> www.digivoice.com.br
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>



-- 
Thiago Coutinho

"O povo não deveria temer o governo. O governo é quem deveria temer o povo."
V de Vingança
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20150511/c44ef0a2/attachment.html>


Mais detalhes sobre a lista de discussão AsteriskBrasil