Implementação de Asterisk com FreePBX

Definitivamente o Asterisk tem figurado como principal servidor PBX IP do mercado de telefonia mundial. Mais de 90% das aplicações e telefones SIP dão suporte ao uso dele. Na prática, ele funciona como um gateway de telefones analógicos (para tal é preciso o uso de uma placa de telefonia) e SIP Phones, direcionando as ligações para “tunks” analógicos ou digitais.

 

Utilizar telefonia por IP traz diversas vantagens para o consumidor final, tais como:

  • Geração de relatórios de ligações;
  • Criação de políticas personalizadas de discagem, como por exemplo força o uso de uma determinada operadora para discagens para DDD e outra operadora em discagens para DDI (os chamados dialplans);
  • Redundância de troncos de telefonia analógicos ou digitais;
  • Criação de URAs (Unidade de Resposta Audível) personalizadas, etc.

Este laboratório tem como objetivo configurar de forma básica um servidor PBX IP para SIP Phones.

Descrição do laboratório:

  • Servidor Linux com a distro FreePBX 2.7.0.0;
  • Asterisk 1.6;
  • Uso de um link VONO (da GVT) como tunk;
  • Uso de Software Ekiga Phone como cliente SIP Phone.
INSTALAÇÃO DO FreePBX:
Primeiramente, o ideal é baixa a versão mais estável diretamente do link http://www.freepbx.org/download-freepbx. Feito isso, mãos à obra:
Escolha para instalação, a versão 1.6 do Asterisk:

Particionar o disco:

 

Prosseguir com todo o processo normal de instalação Linux.

Após a instalação,  fazer o login no terminal do servidor e verificar a existência dos bancos asterisk e asteriskcdrdb, que são respectivamente o banco de dados das configurações do Asterisk e o banco de registros de chamadas.

Agora, de uma estação remota, acesse o endereço do servidor via Browser:

Após escolher o modo de administração, fazer login com o usuário admin e senha admin.

Agora, vamos à criação do “trunk”, que é propriamente dito o link que comunica o servidor à rede de telefonia externa. Vamos criar um tronco SIP, que é o tipo de tronco para contas de aplicações SIP de clientes.

É importante obedecer alguns padrões como fornecer os dados de conexão com o seu link externo. Os cados utilizados aqui serão:

Usuário: tux

Senha: [email protected]

Host: vono.net.br

Domain: vono.net.br

*Obs: usuário e senha fictícios, é claro!

É importante também inserir o string da conexão, que é a linha de registro deste tronco do seu Asterisk com o host externo. Essa string deve seguir o padrão LOGIN:[email protected]:PORTA/LOGIN .  Essa configuração deve ser inserida no campo Register String da página de configuração do tronco SIP.

No nosso caso, fica assim esta linha:  tux:[email protected]@vono.net.br/tux.

A configuração então fica assim:

 

As Dial Rules são as regras de discagem que serão processadas pelo tronco quando ele receber o número da rota. Alguns meta caracteres importantes para a construção dessas regras são:

X  – números de 0 a 9;

Z  – números de 1 a 9;

N  – números de 2 a 9;

.  – qualquer posição;

| – ignorar número que o usuário discou;

+ – adicionar um número que o usuário não discou mas que o tronco exige;

[num1-num20] – intervalo entre num1 e num20.

[num1num20] – num1 e num20.

Exemplo:

Na regra 0+ZZXXXXXXXXXX, o tronco diz que qualquer número que chegar até ele começando com números de 1 a 9 (prefixos das cidades) e vier acompanhado de mais 8 números de 0 a 9, sairá para o link externo com 0 (zero) na frente. No nosso caso é extremamente importante, pois o VONO usa a regra um zero antes de qualquer número digitado como regra de discagem obrigatória.

 

Após criado o tronco, vamos às rotas de saída (Outbound Routes):

As rotas de saída dizem exatamente para qual tronco cada tipo de ligação vai. Essas rotas também contam com regras de discagem que devem contemplar todos os formatos possíveis válidos para o usuário digitar.

Exemplo:

Na regra 0|ZZ[2-5]XXXXXXX  a rota diz que o zero que o usuário digitar antes do prefixo da cidade será removido antes de ser entregue ao tronco. Nesta mesma regra, esta rota entende apenas números que iniciem com 0 (mesmo que seja removido), que tenha 2 números de 1 a 9 (prefixos) após e mais o grupo de 8 números (grupo este que deverá iniciar com número de 2 a 5 para serem processados por esta rota).

É importante também verificar se o tronco foi registrado com sucesso no servidor. Para tal, execute o comando ‘asterisk -rvv’ no servidor e execute a linha de comando ‘sip show registry’ para exibir todos os tunks SIP registrados.

Abaixo vou demonstrar um exemplo real de registro SIP:

 

Criação das rotas

A rota acima é apenas de ligações para DDD fixo e está configurada para sair preferencialmente pelo tronco VONO e, caso este esteja inoperante, utilizar o tronco analógico, que pode ser um link analógico da operadora conectado à uma placa de E1 ou mesmo a uma placa analógica de telefonia.

Rota para celulares locais:

 

Rota para ligações fixas interurbanas:

 

Rota de ligações para celulares interurbanos:

 

Nunca podemos esquecer que, além de salvar as configurações, temos que aplicá-las, o que vai implicar em recarregar o serviço do Asterisk.

 

Hora de criar as contas SIP:

Vamos criar um usuário com o login 1980:

O campo ‘secret’ se refere à senha do usuário.

Outro detalhe é o campo ‘context’. Ele diz exatamente para quais rotas o usuário pode ligar. Por hora, vamos utilizar o padrão do FreePBX, que é o ‘from-internal’, que permite o uso de qualquer rota.

É importante também ativar a tecnologia GSM e o codec G722:

 

Agora é só testar ligando de um aplicativo SIP, como o Ekiga Phone por exemplo. Para tal, a configuração no cliente deve ficar da seguinte forma:

Usuário: 1980

Senha: [email protected]

Servidor: <IP_do_servidor_FreePBX>

Domínio: <IP_do_servidor_FreePBX>

 

Antes de fazer a primeira chamada, faça login via ssh no servidor e acesse o console do Asterisk com o seguinte comando: ‘asterisk -rvv’, em seguida. faça alguma ligação e verá o ‘verbose’ da ligação, como no modelo abaixo:

Eu disquei do meu aplicativo SIP cliente o número 88249623 mas o Asterisk converteu para 02188249623, pois, segundo  uma das regras de discagem do tronco VONO, toda vez que receber um número qualquer com 8 dígitos apenas, ele adiciona 021 a este.

1 Comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.