[AsteriskBrasil] Novas funcionalidades no AGI fixlocalprefix (patch incluido)

Andre Ruiz andre.ruiz em gmail.com
Domingo Agosto 13 23:33:05 BRT 2006


Olá pessoal.

No TrixBox 1.1.1, na tela de Outbound Routes, você pode usar | para
cortar fora números do início da discagem. Na tela de troncos, você
também pode usar | para cortar fora números do início da discagem e
pode usar + para adicionar alguma coisa na frente.

MAS NAO PODE USAR + E | AO MESMO TEMPO.

Isso me deixou irado, pois isso era *necessário* em 2 problemas que eu
tinha pra resolver.

Dessa forma eu implementei um patch (dois, na verdade, e o segundo
depende do primeiro), que arruma essa deficiência. Estou mandando para
a lista para que outras pessoas que tenham o problema possam usar.
Também já enviei ao autor para ver se sai na próxima versão upstream.

Ele permite fazer algo como: 025+0|ZZXXXXXXXX, pegando um número como
"04430251234" e inserindo 25 antes do zero, ficando "0254430251234".
Parece fácil fazer isso cortando o zero nas rotas de saída, mas esta
maneira é mais "limpa" e melhor.

1. http://token.no-ip.com:8000/~andre/temp/fixlocalprefix-removeandadd.patch
2. http://token.no-ip.com:8000/~andre/temp/fixlocalprefix-moreverbose.patch

Fim da história curta. Não precisa ler o resto se você já entendeu pra
que serve.

BTW: a lista aceita anexos no email?

==========================8<--------------------------

História longa

Imaginem o seguinte cenário. Você quer que a pessoa disque 044XXXXXXXX
para discar para maringá, por exemplo. Você quer que ela disque um 0
antes para simular que está "pegando linha", e quer poder incluir a
operadora automaticamente depois, na hora de discar.

Modo antigo de fazer:

Na rota de saída: 00|ZZXXXXXXXX
No tronco: 025+ZZXXXXXXXX

Problemas desse método:
- não fica óbvio porque você está cortando os 2 zeros
- O número que sobra não tem relação com nada... outras regras das
rotas de saída, depois do corte, podem também gerar números de 10
dígitos e na saída eles serem confundidos com interurbano.

Nova maneira de fazer (a que o meu patch implementa):

Na rota de saída: 0|0ZZXXXXXXXX
No tronco: 025+0|ZZXXXXXXXX

Benefícios:
- fica óbvio que você está cortando fora o zero e mandando o resto, na
rota de saída
- no tronco você apenas "troca" o 0 por 025, na verdade "inserindo" 25
antes do zero.

Existem muitas outras vantagens. Eu basicamente estava sofrendo pois
havia uma outra rota que também produzia um número de dez dígitos, mas
era outra coisa, e o tronco estava pegando como se fosse interurbano.
Dessa forma, eu mando para o tronco o número completo, não ficando
dúvidas que que é um interurbano, e *dentro* do tronco eu troco tudo o
que for necessário. Fica muito mais limpo...

Outro problema que consegui resolver com esse método: eu tenho um
VONO, e o número principal dele é em maringá (e eu moro em curitiba).
Ele serve para meus pais me ligarem. Mas, quando eu coloquei ele no
asterisk, me criou um problema: agora, quando eu vou discar
interurbano, tenho que pensar "ao contrário". Pra ligar em maringá eu
disco como local, e pra ligar pra curitiba parece um interurbano. Já
numa outra rota que sai pela brasiltelecom, é do jeito certo (o
contrário daquilo). Minha esposa estava ficando doida... Nunca
lembrava quando usar qual modo.

Dessa forma, eu "converti" o VONO para curitiba. Quando ligo pra
maringá, coloco o 044 normalmente, e ele arruma tudo pra mim. Quando
ligo pra curitiba, apenas disco local, e ele arruma tudo pra mim.

Ficou assim:

Na rotas rotas de saída, na que sai pelo VONO:

0|0ZZZZXXXXXXXX
0|0ZZXXXXXXXX

No tronco do VONO:

0+0ZZ|ZZXXXXXXXX
0ZZ44|XXXXXXXX
044|XXXXXXXX
041+XXXXXXXX

Isso faz várias coisas:
- nas rotas de saída, corta apenas o "zero de pegar linha"
- no tronco, retira a operadora se você discou, já que o vono não
precisa nem permite usar
- retira o 044 se você ligou pra maringa, e coloca 041 se você ligou
local. não muda o resto.
- inclui o caso de você ligar o 0XX44 (com operadora)
- permite que essa rota de saída seja migrada para BrT quando eu
estiver com o vono fora do ar,  *apenas* mudando o tronco na caixa
combo lá em baixo. Pense na dificuldade que seria sem isso: você
estaria cortando a operadora nas rotas de saída... e teria que mexer
lá, pois BrT exige operadora. Dessa forma, eu corto a operadora nos
troncos que interessam, as rotas de saída não precisam saber disso.

É isso aí.

Abraços,
Andre


-- 
Andre Ruiz  <andre.ruiz em gmail.com>
Curitiba, PR, Brasil


Mais detalhes sobre a lista de discussão AsteriskBrasil