Elastix - Criando Planos de Discagem

Embed Size (px)

DESCRIPTION

Plano de discagem

Citation preview

  • Criando Planos de DiscagemPlano de discagem ou Dialplan O plano de discagem ou Dialplan uma das partes mais importantes da configurao de um Servidor VOIP, pois atravs dele que voc determinar atravs de qual tronco a ligao vai sair, podendo assim, gerar uma economia maiorcom o encaminhamento de ligaes. Por exemplo:Vamos suporte que a Operadora de Telefonia X cujo cdigo para discagem interurbana seja 99 criou um pacote paraligaes interurbanas para DDD 11 cujo valor mais barato que da operadora Y.Por outro lado, a operado Y criou uma promoo para ligaes para o DDD 19 mais barato que a operadora X.Ento vamos criar um plano da seguinte maneira:1 Situao: Quando o DDD do nmero discado for 11, ligue pela operadora X.2 Situao: Quando o DDD do nmero discado for 19, ligue pela operadora Y.Dessa maneira, a cada vez que as promoes mudarem, no preciso comunicar a todos os usurios do sistema VOIPpor qual operadora deve fazer a ligao para economizarem. Ento no teremos problema de um usurio usar aoperadora errada e acabar fazendo uma ligao mais cara. Elementos do Dialplan

    1- Arquivo de configurao.O arquivo de configurao padro do Asterisk o /etc/asterisk/extensions.conf.

    No exemplo usarei o Elastix, e nele, o arquivo a ser editado o extensions_custom.conf. Para edit-lo, acessoo Painel de Administrao do Elastix, e entre em: PBX(01),Tools(02), File Editor(03) e no campo File(04),digite ext(05) e clique em Filtro(06). Clique ento sobre o arquivo extensions_custom.conf(07)

    2- Entendendo a Linguagem do DialplanA configurao de um Dialplan composta por: contexto, extenso e dentro da extenso temos ainda: nome daextenso, prioridade e a aplicao.Contexto: uma diviso dentro do Dialplan. O contexto pode ser nico para cada Ramal ou pode sercompartilhado. Alm do que, a diviso por contextos garante que uma regra de discagem, no interfira numcontexto errado. A forma correta de denomin-los coloc-los dentro de colchetes [ ], por exemplo: [padrao01].Esse nome do contexto o que preenchido no campo Context na criao ou edio de um ramal criado peloPainel de Administrao.Extenso: uma instruo que ser seguida pela Asterisk. A extenso acionada por uma chamada de entradaou por dgitos sendo discados em um canal. Resumindo: as extenses especificam o que acontece s chamasenquanto elas passam pelo dialplan. A sintaxe para a extenso a palavra exten seguida de um sinal de igual maisum sinal de maior, formando uma seta, ficando assim: exten =>.Nome da extenso: pode ser o nmero discado ou que est sendo chamado. Por exemplo, posso criar regraspara nmeros que comecem com 1 e sejam seguidos de 3 nmeros que podem variar de 0 a 9. Ou criar regraspara um nmero especfico.Prioridade: como o nome prprio diz a prioridade em que aquela extenso, ser executada. Logo mais ser melhorentendi.Aplicao: a ao que o Asterisk tomar com aquela ligao, por exemplo: Discar (Dial), Gravar (Mixmonitor)etc...

  • 3- Montando um plano.Como vimos anteriormente, o Dialplan formado por: contexto, extenso, prioridade e aplicao, ficando assim: [nome_do_contexto] exten => extenso,prioridade,aplicao() Exemplo funcional: [padrao01]exten => 123,1,Playback(ola)Explicando: As extenses que fizerem parte do contexto padrao01, ou seja, as extenses que no campo Contextestiver preenchido padrao01, respeitaro essas regras. Continuando, quando essas extenses discarem para onmero 123 ser executada uma mensagem de udio chama ola. Uma funo interessante na montagem de Planos de Discagem, usar a opo de nmeros variantes. Porexemplo: Vamos supor que os ramais do PBXIP sejam do 1000 ao 1999, por exemplo. Seria extremamente chato edifcil criar uma regra pra cada ramal existente no PBXIP, ento o ideal seria falar do ramal A ao B. Para isso bastaapenas as seguintes letras na hora de chamar uma extenso:X Dgitos de 0 a 9;Y Dgitos de 1 a 9;N Dgitos de 2 a 9;Para montar um plano usando esses cdigos, faramos o seguinte: [padrao01] exten => _XXXX,1,Playback(ola) ; ou seja: todo ramal, do 0000 ao 9999 para o qual discarmos, ele executar umamensagem de udio. No caso do exemplo que citei acima do PBXIP com ramais do 1000 ao 1999, poderamos usar a seguinte sintaxe: exten => _1XXX,1,Playback(ola) ; ou seja: do ramal 1000 ao 1999 4 Criando planos funcionais.A funes ou comandos que um plano de discagem pode executar so vrias e vrias. No vou abordar aqui todas,apenas algumas mais simples e funcionais.Dial() Discar para o ramal. Esse talvez seja o comando mais usado pois o que vai executar a ligao em si.Normalmente eu o uso com o completo de uma varivel chamada EXTEN que vai carregada com o nmero quefoi discado. Por exemplo: caso eu disque 1000, o valor dessa varivel passar a ser 1000 ento o comando discar(Dial) para o nmero 1000. A sintaxe fica assim: Dial(SIP/${EXTEN}). O uso do cifro do comando SIP, da barra /e do cifro $ obrigatrio e faz parte da linguagem do Dialplan.Playback() Executa um arquivo de udio existente no PBXIPSayDigits() O PBXIP diz os dgitos que foram digitadosHangup() Desliga a ligaoMixMonitor() grava a ligao No se precipitem e pensem que s jogar esses comandos no final da linha do Dialplan que vai funcionar, pois amaior parte deles depende de complementos e opes que devem ser adicionados dentro dos parnteses () Pois bem, vamos criar um primeiro Dialplan: [padrao01] exten => _1XXX,1,Playback(demo-congrats)exten => _1XXX,2,Dial(SIP/${EXTEN})exten => _1XXX,3,Hangup()Explicando: na primeira linha, executamos um arquivo de udio chamado demo-congrats. Esse arquivo est na pasta/var/lib/asterisk/sounds. Esse arquivo foi usado apenas como exemplo, voc poderia ter gravado um arquivo deudio de apresentao da empresa ou algum arquivo com um aviso. Na segunda linha est o comando Dial queexecutar de fato a ligao, ligando para o nmero que contem na varivel EXTEN, ou seja, o nmero discado. Ena linha 3, um comando para derrubar a ligao, no final dela. Outro exemplo:[padrao01] exten => _ZXXX,1,Saydigits(${EXTEN})exten => _ZXXX,2,Dial(SIP/${EXTEN})exten => _ZXXX,3,Hangup() Agora, nesse plano, essas regras sero aplicadas para ramais que comecem com um dgito de 1 a 9 e que sejam

  • seguidos de 3 digitos de 0 a 9. Na primeira linha, o PBXIP dir os dgitos digitados. Na segunda linha, far a ligaoe na terceira, derrubar a ligao. No Asterisk, depois de criar o Dialplan e salv-lo, necessrio mandar o Asterisk ler novamente o arquivo deconfigurao.No Elastix, para fazer isso, clicamos em PBX (01), Tools (02), e em Asterisk-cli(03) digite reload(04) e clique noboto Execute(05). Executando esse comando, o Asterisk vai ler todos os arquivos de configurao novamente,aplicando as alteraes no extensions_custom.conf.

    At a prxima.