Asterisk - Configurando Ramais, Plano de Discagem e URA Simples
Neste artigo realizaremos a criação de ramais no Asterisk utilizando o protocolo SIP. Posteriormente, adicionaremos um plano de discagem abordando o conceito de máscaras ou coringas e por fim, criaremos uma URA simples.
Parte 2: Plano de discagem
Agora iremos realizar a criação do plano de discagem para nossos ramais.
No diretório /etc/asterisk acesse arquivo extensions.conf com seu editor de texto preferido, adicione o código abaixo:
Salve e feche o arquivo.
Acesse a CLI do Asterisk e aplique o comando "dialplan reload".
Pronto, já é possível realizar ligações para 4000 e 4001.
Agora imagine um ambiente onde precisamos criar 200 ramais, programar o plano de discagem da maneira que fizemos mais acima é inviável.
Para otimizar a criação do plano podemos utilizar máscaras ou coringas, onde os valores numéricos são substituídos por letras e cada letra representa um range de numérico, abaixo equivalência do range numérico das letras:
Exemplo de plano de discagem para 500 ramais utilizando o range de 4000 a 4499
Também é possível utilizar coringas para a extensão, exemplo abaixo:
Detalhando o código no arquivo extensions.conf:
No diretório /etc/asterisk acesse arquivo extensions.conf com seu editor de texto preferido, adicione o código abaixo:
[general]
[globals]
[ramais]
exten => 4000,1,Dial(SIP/${EXTEN})
exten => 4000,2,HangUP();
exten => 4001,1,Dial(SIP/${EXTEN})
exten => 4001,2,HangUP();
[globals]
[ramais]
exten => 4000,1,Dial(SIP/${EXTEN})
exten => 4000,2,HangUP();
exten => 4001,1,Dial(SIP/${EXTEN})
exten => 4001,2,HangUP();
Salve e feche o arquivo.
Acesse a CLI do Asterisk e aplique o comando "dialplan reload".
Pronto, já é possível realizar ligações para 4000 e 4001.
Agora imagine um ambiente onde precisamos criar 200 ramais, programar o plano de discagem da maneira que fizemos mais acima é inviável.
Para otimizar a criação do plano podemos utilizar máscaras ou coringas, onde os valores numéricos são substituídos por letras e cada letra representa um range de numérico, abaixo equivalência do range numérico das letras:
- X - pode representar qualquer digito entre 0 e 9
- Z - pode representar qualquer digito entre 1 e 9
- N - pode representar qualquer digito entre 2 e 9
- [2-6] - pode representar qualquer número de 2 a 6
Exemplo de plano de discagem para 500 ramais utilizando o range de 4000 a 4499
exten => _4[0-4]XX,1,Dial(SIP/${EXTEN})
exten => _4[0-4]XX,2,HangUP();
exten => _4[0-4]XX,2,HangUP();
Também é possível utilizar coringas para a extensão, exemplo abaixo:
exten => _4[0-4]XX,1,Dial(SIP/${EXTEN})
same => 2,HangUP();
same => 2,HangUP();
Detalhando o código no arquivo extensions.conf:
- A sessão [globals] declarar variáveis globais dentro do plano de discagem.
- [ramais] é no nome do contexto que criamos para nossos ramais no arquivo sip.conf
- A aplicação "Dial" conecta dois canais de comunicação, sua sintaxe é a seguinte Dial(protocolo/identificação[,timeout,opções]);
- A aplicação "HangUP" encerra um canal de comunicação.
Bem que você podia definir o que é esse serviço, pois tenho certeza que muita gente não sabe do que se trata.
___________________________________________________________