Entendendo e configurando Dial Plan em ATA VoIP - Ubuntu "4us"
Texto do Link: Entendendo e configurando Dial Plan em ATA VoIP
Recentemente escrevi um tutorial explicando como configurar o ATA VoIP PAP2 da Linksys com o Gizmo, e recebi algumas dúvidas de pessoas querendo uma forma mais simples de discar para telefones de operadoras convencionais. Eu também durante a instalação do ATA achei ruim ter que discar toda vez 0115561 para falar com um número da minha cidade. Nesse tutorial vou explicar não apenas como conseguir se livrar desses códigos "a mais" como explicar o que é e como funciona um Dial Plan(Plano de Discagem). Depois de ler esse post você conseguirá facilmente alterar o dialplan do seu ATA.Segundo a RFC 2705 de 1999 a sintaxe dos dialplan é baseada na sintaxe do que é uma versão do grep, uma das ferramentas de linha de comando mais conhecidas do UNIX. Vou explicar o que julgo ser suficiente para fazer a configuração que precisamos caso queira se aprofundar aí sim vale a pena consultar a RFC, o manual do seu ATA é sempre bom dar uma olhada antes de modificar o dial plan.
Um dialplan serve para definir as possíveis seqüências de números que poderão ser discadas, ele é um texto semelhante a ( *xx [3469]11 0 00 [2-9]xxxxxx ) composto por números,*,#,[,],(,),,- e .
Os parênteses limitam o dial plan e dentro deles será feito uma busca. O conteúdo dentro dos parênteses são seqüencias de dígitos separados pelo caracter , é esse caracter que separa as possíveis seqüencias, ou seja, no dial plan citado aí encima tem 5 possibilidades(tipos de ligações). A medida que vamos discando os números no telefone o ATA vai tentando encontrar qual das 5 seqüencias é a que estamos utilizando. Para que a ligação seja completada precisamos obrigatoriamente discar uma seqüencia de números que seja valido no dial plan.
Além dos parênteses e da barra podemos ter:• Caracteres individuais '0', '1', '2' . . . '9', '*', '#'.• A letra 'x' representa um algarismo ('0' .. '9')• Um subconjunto de caracteres dentro de colchetes (permitindo faixas): '[' conjunto ']' (ex. [389] representa '3' ou '8' ou '9') - Faixas numéricas são permitidas dentro de colchetes: digito '-' digito (ex. [2-9] representa '2' ou '3' ou … ou '9') - Faixas podem ser combinadas com outros caracteres: ex. [235-8*] representa '2' ou '3' ou '5' ou '6' ou '7' ou '8' ou '*'.
Temos alguns caracteres especiais que são:. - o ponto significa zero ou mais vezes. ex. 01 representa "0", "01", "011", "0111", … etc, um zero seguido de infinitos 1. - o menor dois pontos maior é usado para se criar aliás, onde a parte que vem antes dos dois pontos será substituída pela parte que vem depois dos dois pontos. ex. significa que quando eu discar o 0 ele será substituído pelo 0115561, lembre-se que isso será colocado dentro de um contexto, eu não vou usar apenas esse pedaço e não serão substituídos todos os zeros por 0115561.
Vou aqui dar alguns exemplos para ficar mais claro o que você deve colocar no seu dial plan.(x.) - com isso eu posso discar 44444444 e o ATA irá discar para 011556144444444(x.) - com isso eu conseguiria discar para qualquer número do Brasil discando apenas 0 + código do estado + número do telefone.(x.) - Supondo que o número do bombeiro da minha região é 44444444, quando eu discar 193 o ATA irá discar para o corpo de bombeiros da minha região.
Para finalizar, um dial plan que contemplasse esses exemplos ficaria assim:(x.x.x.)
Boa sorte e aproveite para colocar um comentário aqui, um blog vive de comentários, só assim os posts podem melhorar.
Update1: Como sei que alguns vão ficar curiosos vou colocar aqui meu dial plan atual no PAP2 ([2-9]xx[2-9]xxxxxxx.011xx.1[2-9]xx[2-9]xxxxxx)