Asterisk - Muito mais que um PBX IP - Estudo de Caso

49
Universidade Federal Fluminense Escola de Engenharia Departamento de Telecomunicações Trabalho Final do Curso de Engenharia de Telecomunicações ASTERISK: MUITO MAIS QUE UM PBX IP - UM ESTUDO DE CASO - Aluno Alex Galhano Robertson Orientador Marcos Tadeu Von Lutzow

description

Estudo de caso de aplicação do software de telefonia Asterisk. O trabalho foi realizado quando ainda não havia tantos textos nem tantas variedades de interfaces de configuração do Asterisk. Defesa de fim de curso (Engenharia de Telecomunicações).

Transcript of Asterisk - Muito mais que um PBX IP - Estudo de Caso

Page 1: Asterisk - Muito mais que um PBX IP - Estudo de Caso

Universidade Federal Fluminense Escola de Engenharia Departamento de Telecomunicações

Trabalho Final do Curso de Engenharia de Telecomunicações

ASTERISK: MUITO MAIS QUE UM PBX IP

- UM ESTUDO DE CASO -

Aluno

Alex Galhano Robertson

Orientador Marcos Tadeu Von Lutzow

Page 2: Asterisk - Muito mais que um PBX IP - Estudo de Caso

ASTERISK: MUITO MAIS QUE UM PBX IP

- UM ESTUDO DE CASO -

Aluno Alex Galhano Robertson

Orientador

Marcos Tadeu Von Lutzow

Page 3: Asterisk - Muito mais que um PBX IP - Estudo de Caso

Dedico este trabalho final de curso a todas as pessoas que me apoiaram e me ajudaram

a seguir em frente nesta dura jornada: meu pai, minha mãe, minhas sogras e principalmente

minha esposa e minha filha. Sem essas pessoas seria impossível.

Page 4: Asterisk - Muito mais que um PBX IP - Estudo de Caso

Agradeço a ajuda inestimável de Marcio Pinheiro Gomes que, além de ajudar com as compilações mirabolantes, me encorajou e me concedeu o direito de expor o projeto realizado

em sua empresa. Obrigado.

Page 5: Asterisk - Muito mais que um PBX IP - Estudo de Caso

ÍNDICE

1. APRESENTAÇÃO.....................................................................................................................1

MAIS UM DOCUMENTO SOBRE VOIP ? ...............................................................................................1

2. INTRODUÇÃO..........................................................................................................................2

ASTERISK: MUITO MAIS QUE UM PBX IP...........................................................................................3

Arquitetura...................................................................................................................................4

A questão comercial.....................................................................................................................6

3. O PROJETO...............................................................................................................................7

METODOLOGIA .................................................................................................................................9

FASE 0 – PLANEJAMENTO..................................................................................................................9

A pesquisa ....................................................................................................................................9

Características do projeto .........................................................................................................11

FASE 1 – PRÉ-CONFIGURAÇÃO ........................................................................................................13

Som.............................................................................................................................................13

Rede............................................................................................................................................14

FASE 2 – INSTALAÇÃO.....................................................................................................................15

FASE 3 – CONFIGURAÇÃO ...............................................................................................................17

Sintaxe........................................................................................................................................18

Configuração geral ....................................................................................................................19

Configuração de clientes e protocolos.......................................................................................21

Configuração de facilidades ......................................................................................................23

Configuração de encaminhamentos...........................................................................................24

REDE CELULAR...............................................................................................................................25

Tronco Celular...........................................................................................................................25

Page 6: Asterisk - Muito mais que um PBX IP - Estudo de Caso

Callback .....................................................................................................................................26

Roteamento.................................................................................................................................27

OUTRAS CONSIDERAÇÕES ...............................................................................................................28

4. ALGUMAS CARACTERÍSTICAS E INFORMAÇÕES IMPORTANTES......................29

O AMBIENTE DE REDE .....................................................................................................................29

SOBRE O IAX..................................................................................................................................29

CODECS ........................................................................................................................................30

PREÇO .............................................................................................................................................31

5. DIFICULDADES ENCONTRADAS .....................................................................................34

GATEWAY H.323 ............................................................................................................................34

PLACA-MÃE....................................................................................................................................36

SINCRONISMO .................................................................................................................................36

DOCUMENTAÇÃO DO SOFTWARE.....................................................................................................37

Outras referências......................................................................................................................37

6. CONCLUSÃO ..........................................................................................................................39

7. REFERÊNCIAS.......................................................................................................................41

Page 7: Asterisk - Muito mais que um PBX IP - Estudo de Caso

ÍNDICE DE FIGURAS

FIG. 2.1 - ARQUITETURA INTERNA DO ASTERISK ................................................................................................................5

FIG. 2.2 - ASTERISK BUSINESS EDITION..............................................................................................................................6

FIG. 3.1 ESTRUTURA DE TESTES..........................................................................................................................................8

FIG. 3.2 ESQUEMA GERAL DA REDE DE VOZ ......................................................................................................................12

FIG. 3.3 TRONCO CELULAR ...............................................................................................................................................26

FIG. 5.1 AMBIENTE DE TESTE H.323 .................................................................................................................................34

FIG. 5.2 SOLUÇÃO FINAL DO PROBLEMA H.323 ................................................................................................................35

FIG. 6.1 REDE COMPLETA EM FUNCIONAMENTO ...............................................................................................................40

ÍNDICE DE TABELAS

TABELA 4.1 PRINCIPAIS CODECS.....................................................................................................................................31

Page 8: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

1

1. Apresentação

Mais um documento sobre VoIP ?

VoIP é o assunto do momento. Na internet, existe uma infinidade de documentos que tratam

de voz sobre IP. Eles explicam tudo o que se precisa saber sobre esta tecnologia. Basta um pouco de

paciência e alguma sensibilidade para fazer a busca correta e conseguir garimpar as informações

desejadas.

Entretanto, esta é uma situação especial, pois fui o responsável pelo projeto de implantação

de um PBX IP open source em uma empresa de médio porte. Isto me criou uma oportunidade sem

igual de: 1) aprimorar meus conhecimentos sobre redes de dados; 2) ter um primeiro contato muito

produtivo com a rede de voz e; 3) realizar a integração destas duas redes de naturezas distintas. Era

tudo que eu precisava para desenvolver um trabalho final de curso, pois participei ativamente de

todas as etapas do projeto.

Portanto, respondendo a pergunta do subtítulo, este trabalho não pretende ser apenas mais

um documento sobre Voz sobre IP. Pelo contrário, pouco ou quase nenhuma teoria de VoIP será

apresentada já que há muitos documentos disponíveis sobre este assunto.

Neste trabalho, é descrito um projeto e a implementação de um PABX para solução

completa de voz de uma empresa. A pesquisa, os conceitos básicos do software, os procedimentos

de instalação e configuração e as dificuldades encontradas são os pontos onde me concentrei para

escrever este documento.

Logicamente, alguns dados como nome da empresa, números de telefones e outras

informações de caráter sigiloso que porventura venham aparecer no decorrer do texto estarão

trocados para valores fictícios.

Page 9: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

2

2. Introdução

Desde o início dos tempos, a comunicação foi essencial para o progresso cultural e

econômico da humanidade. Todas as formas de comunicação (do sinal de fumaça ao "torpedo"

SMS) deram, e ainda dão, sua contribuição para o desenvolvimento do homem. A escrita, por sua

vez, aparece como uma forma de perpetuar o conhecimento, transferindo para o papel (ou

computador, palmtops, e outros) tudo o que falamos e pensamos.

Entretanto, nada substitui a voz. Alguém até poderia argumentar dizendo que um indivíduo

com deficiência auditiva se comunica por meio de sinais feitos com as mãos. Mas, e quando se

precisa ou se quer falar enquanto se executa outras tarefas como segurar um copo, digitar ou

martelar um prego? Comunicar-se apenas por gestos está longe de ser ideal. Se a voz não fosse

importante, a humanidade teria ficado com o telégrafo e não se desenvolveria o telefone. Esta

necessidade e o avanço tecnológico fez com que hoje a rede telefônica tenha alcance mundial,

conectando pontos de um extremo a outro do planeta.

Mas e quanto à comunicação de dados? Hoje, esta rede também cobre praticamente todo o

planeta. Ela conecta os pontos utilizando-se de uma tecnologia que torna mais barato, em relação a

telefonia convencional, o custo para ligar dois ou mais pontos.

Já se pode perceber que há uma grande economia quando se associa telefone convencional

com a rede de dados, uma vez que ambas possuem uma grande abrangência. Outra possibilidade

seria substituir trechos da rede telefônica por outro trecho da rede de dados. Ainda temos uma

infinidade de possibilidades de uso dessa interconexão de redes de duas naturezas diferentes.

A rede de dados que vem sendo amplamente utilizada é a rede IP. Sua arquitetura permite

que ela tenha um custo relativamente baixo, que seja de grande flexibilidade e que tenha um bom

grau de penetração nas residências. Esta tecnologia de rede vem sendo aprimorada cada vez mais

para que seja possível integrar voz e dados. A esta integração da voz trafegando em uma rede de

Page 10: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

3

dados - mais precisamente na rede IP – dá-se o nome de VoIP (Voice over Internet Protocol), ou

Voz sobre IP.

Este trabalho trata exatamente desta integração entre as redes e alguns outros serviços

possíveis de maneira muito prática e particular. Não serão abordas aqui as teorias pertinentes a

tecnologia de voz sobre IP nem serão apresentadas fórmulas mágicas do tipo “Siga os passos tenha

seu PABX IP funcionando em algumas horas.”

Aqui, serão citadas as características básicas do software utilizado e alguma informação

adicional sobre softwares e hardwares auxiliares para que seja possível o entendimento do objetivo

maior que é a instalação de um PABX implementado via software, instalado em um PC rodando o

sistema operacional Linux. Este PABX será capaz de fazer muito mais que um PABX

convencional, por um preço incomparavelmente menor. Mais precisamente, este trabalho será um

estudo de caso e descreverá alguns procedimentos adotados e as dificuldades encontradas durante

todo o processo, da pesquisa à sua efetiva implementação.

Asterisk: muito mais que um PBX IP

No último período letivo, houve a oportunidade de acompanhar um trabalho final [1] que

apresentava o Asterisk [2], inclusive com uma demonstração onde dois soft-phones se

comunicavam via SIP utilizando o PABX. Este software será, mais uma vez, alvo de estudo e

assunto de um projeto final. E, apesar de existir um trabalho sobre ele, faz-se necessário uma breve

reapresentação para que não haja dúvidas sobre o tema e para que se possa acompanhar a exposição

sem maiores dificuldades.

O Asterisk é um PABX implementado por software, desenhado para rodar em um

Computador Pessoal (PC). A princípio, pode ser instalado em qualquer sistema de código aberto,

mas com amplo suporte para Linux. Os sistemas operacionais baseados em BSD, apesar de

apresentar algumas dificuldades, também suportam o Asterisk.

Page 11: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

4

O Asterisk é capaz de interconectar telefones convencionais e telefones IP, sejam eles desk-

phones (hard-phones) ou soft-phones. Ele se integra facilmente ao sistema convencional de PABX

pré-existente ou, se for o caso, é capaz de substituí-lo. Também implementa várias facilidades como

Unidade de Resposta Automática (URA), Discagem Direta para Ramal (DDR), filas de espera,

estacionamento de chamadas, música na espera, encaminhamento pela rota de menor custo,

encaminhamento de acordo com o número chamador ou com o número discado, interação com

banco de dados e ainda faz muito mais do que um PABX convencional é capaz.

Descrevendo-o resumidamente utilizando termos mais técnicos, pode-se dizer que o

Asterisk é:

• Um gateway VoIP – SIP, H.323, MGCP, SCCO e IAX;

• Um gateway de telefonia – RDSI, MFC, R2D, SS7, E&M, etc;

• Um gateway de CODECs – G.711, G.723, G.729, GSM, iLBC, etc;

• Unidade de Resposta Automática;

• Sistema de mensagens de voz;

• PABX

Uma lista completa de todas as funcionalidades e características do Asterisk pode ser

encontrada na sua página na Internet, na seção ‘Features’ [3].

Arquitetura

O Asterisk foi desenhado para permitir a maior flexibilidade possível. APIs específicas

foram definidas em torno do núcleo central do sistema de PBX. Elas possibilitam uma grande

abstração do hardware, do software e de protocolos facilitando assim a programação de novos

objetos, sejam comandos, canais de comunicação, CODECs1 ou formato de arquivo. Por exemplo,

1 Um CODEC é a parte do sistema que COdifica e DECodifica a informação a ser transportada, neste caso, a voz. A explicação mais detalhada é fornecida no capítulo 4.

Page 12: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

5

novos comandos2 podem ser incorporados facilmente ao software. Um programador C com

conhecimento razoável é capaz de adicionar estas funcionalidades.

O núcleo do Asterisk trata internamente as funções de comutação, tradução de CODECs,

execução de aplicações, escalonamento e gerenciamento de Entrada/Saída.

Para os módulos carregáveis, o Asterisk oferece quatro tipos de APIs diferentes. API de

canais, API de aplicações, API para tradução de CODECs e API de formato de arquivos.

Fig. 2.1 - Arquitetura interna do Asterisk

A integração do Asterisk com o sistema de dados é feita de forma muito simplificada através

de uma facilidade denominada AGI (Asterisk Gateway Interface). Na prática, AGI é um programa

em C, Python, PHP, bash script, perl script, ou qualquer outra linguagem que o administrador se

sinta confortável. Foi necessário escrever alguns scripts para implementar algumas funções do

projeto em questão.

2 Os comandos, no Asterisk, são chamados de Aplicações (Applications). Elas dizem qual ação deverá ser tomada nas diversas situações.

Page 13: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

6

O Asterisk foi desenhado para facilitar a implementação de novas funcionalidades e

pretende ser um PBX independente de qualquer fabricante de software ou hardware, a não ser no

que se diz respeito a Digium [4]. Maiores detalhes sobre esta exceção na próxima seção.

A questão comercial

A questão comercial foge bastante do assunto deste trabalho, mas vale a pena citar que,

Mark Spencer, da Digium, o autor da maior parte do código do Asterisk é detentor dos direitos de

cópia de partes do código fonte do Asterisk.

Apesar disso, o Asterisk está licenciado segundo a GPL [5] (General Public License ou

Licença Pública Geral), portanto pode ser utilizado e modificado livremente por qualquer pessoa

que assim desejar, desde que seja distribuído juntamente com o código fonte e as modificações que

tenham sido efetuadas.

A Digium é o principal patrocinador do projeto Asterisk. Ela aprova (ou rejeita) as

contribuições da comunidade para o Asterisk; Ela hospeda a lista de discussão oficial, servidores,

bugtracking, etc. A Digium também fabrica os hardwares TDM3 para o Asterisk. Assim, o Asterisk

é a grande “vitrine” dos produtos da Digium tendo como um dos objetivos “vender” estas placas.

Recentemente, a Digium lançou uma versão comercial [6] do Asterisk, o Asterisk Business

Edition. Ela também teve seu site totalmente reformulado ultimamente, tendo ganhado um design

muito mais profissional e com forte apelo comercial.

Fig. 2.2 - Asterisk Business Edition

3 Entende-se por placas TDM como aquelas utilizadas para se comunicar com o sistema de telefonia convencional, utilizando Time Division Multiplexing, ou seja, Multiplexação por Divisão do Tempo.

Page 14: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

7

3. O projeto

A empresa XPTO decidiu que precisava de uma solução de baixo custo para comunicação

interna e para sua central de atendimento. Para esta solução, deveria ser possível a implementação

de mais de uma fila de atendimento, com reconhecimento do número chamador, discagem direta

para ramal, encaminhamento pela rota de menor custo e, principalmente, que suportasse voz sobre

IP realizando a integração dos serviços de telefonia convencional, telefonia IP e telefonia celular.

Também era necessário que a nova solução apresentasse alguma interação com o sistema de banco

de dados existente.

Já no início das pesquisas, o Asterisk surgiu como o favorito e logo foi adotado como a

solução perfeita, pois ele atendeu todas as necessidades da empresa e por se mostrar uma solução

extremamente flexível e de fácil integração com outros serviços. Agora faltava criar e executar um

plano de ação.

Contudo, na realidade não existiu um planejamento propriamente dito. As ações estavam

sendo tomadas quando aparecia a necessidade. Desta forma, o cronograma foi se apresentando de

forma natural.

Nesta etapa, ainda se fazia necessário estudar o software que ainda não passava de uma

promessa de sucesso. Passou-se muito tempo enquanto se estudava o Asterisk. Foi feita uma

instalação experimental do software, ainda sem nenhuma placa TDM. O objetivo deste primeiro

teste foi a familiarização com o ambiente de configuração. Apesar de ter sido utilizada a

configuração de exemplo com algumas poucas modificações, a experiência foi válida e muito

proveitosa. Um ramal IP, através de um softphone instalado em um PC rodando Linux, “falou” com

alguém fora da empresa. Foi o ápice. Conseguiu-se estabelecer contato com o suporte técnico da

Digium, nos Estados Unidos, via IP pela internet, sem gastar nenhum centavo.

Apesar de simples, o diálogo reproduzido abaixo foi um marco no desenvolvimento da

solução.

Page 15: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

8

Digium: - Hello.

XPTO: - Hello. Can you hear me?

Digium: - Yes. Can I help you?

XPTO: - I´m just testing! It works!

Digium: - Yes, it works! Bye.

Logo depois, montou-se uma estrutura de testes que aproveitava um ramal do PABX

convencional existente na empresa. Assim poderíamos realizar ligações entre softphones IP e

ramais convencionais ou até mesmo realizar ligações para fora da empresa. Também, ligações

entrantes para o ramal utilizado poderiam ser atendidas pelo softphone.

Uma vantagem observada nesta implementação é que seria possível utilizar tantos telefones

IP quantos fossem desejados. Por exemplo, já era possível implementar a comunicação interna de

algum setor, utilizando apenas telefones IP instalados nas estações de trabalho, reaproveitando a

rede IP existente. O inconveniente desta “solução” é que existia apenas um canal de entrada/saída

de ligações.

Esta integração do Asterisk em teste com o PABX convencional se deu por meio da

utilização de uma placa de fax-modem com chipset Intel Ambient MD-3200, ou seja, uma placa

clone da Digium funcionando como FXO ligado em uma posição de ramal, FXS, do outro PABX.

Um desenho esquemático desta ligação pode ser visto abaixo.

Fig. 3.1 Estrutura de testes

Page 16: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

9

Com o passar do tempo, progressos cada vez mais significativos foram alcançados, até que

se pode efetivamente criar pelo menos uma ordem cronológica para implementação do PABX.

Assim, apesar de simples, estabeleceu-se um planejamento lógico a ser seguido.

Metodologia

Para facilitar o entendimento do processo de implantação, neste trabalho a instalação do

PBX IP foi subdivida em quatro etapas – Planejamento, Pré-configuração, Instalação e

Configuração – cada uma com objetivos bem definidos.

Fase 0 – Planejamento

Nesta fase são definidos todos os serviços e facilidades que serão implementados. Qual o

perfil dos usuários4 do sistema, que CODECS e protocolos de transporte e sessão serão utilizados e

o plano de numeração. Também deve ser decidido se será utilizada interface gráfica de gerência e

configuração e, caso positivo, qual será a interface.

Nesta fase, também está presente a pesquisa de material e soluções, onde se decide qual a

necessidade, que funções devem ser implementadas e como elas devem ser implementadas.

A pesquisa

Para que se conheça toda a capacidade do conjunto de software e hardware que se tem à

disposição e ser capaz de especificar o que é – e o que não é – possível implementar é preciso

pesquisar e ler muito. A documentação do oficial disponibilizada no site do Asterisk, um rascunho

da apostila [7], além de desatualizada, está longe de ser suficiente, e para adquirir este

conhecimento foi necessário realizar muitas pesquisas na internet. O site de buscas ‘Google’

Page 17: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

10

<http://www.google.com.br> sempre é um ótimo ponto de partida. A cada pesquisa, é necessário

seguir alguns links para filtrar o que realmente é informação válida ou apenas lixo. Os links que

foram aproveitados neste trabalho estão em uma seção do capítulo de Referências.

Dentre as dezenas de páginas visitadas, recomenda-se, principalmente, a leitura das páginas

referentes ao Asterisk do site VOIP-info.org [8]. Este site é um wiki5 muito rico em informações e é

atualizado constantemente por membros da comunidade que desenvolve e utiliza o Asterisk. Além

de resultados de pesquisas e experiências práticas, há também vários links com referências a outros

sites que também dão suporte à voz sobre IP e telefonia em geral.

Para informações em português pode-se tentar o site AsteriskBrasil.org [9]. Infelizmente,

esta foi uma tentativa frustrada de fazer um site em português com o mesmo assunto, o software

Asterisk. Basicamente, as poucas informações técnicas que se encontram neste site são uma cópia

do primeiro, VOIP-info, em inglês. O site nacional é mais útil para quem não sabe nada do assunto

e deseja alguma informação básica para utilizar o serviço de Voz sobre IP e para quem está

procurando alguma empresa ou profissional para ajudá-lo.

Outras fontes de pesquisa muito valiosas são as listas de discussão que existem em torno do

Asterisk. A lista oficial do Asterisk, Asterisk-Users [10], de tão movimentada faz com que fique

difícil acompanhar as discussões, mas por isso mesmo, é uma ótima fonte de informação. Outra

lista recomendada é a do site AsteriskBrasil.org [11], em português. Todas as duas têm muita

informação repetida, mas isto não as torna ruim.

Outros sites muito úteis para quem pesquisa, desenvolve e aplica soluções de Voz sobre IP,

incluindo o Asterisk, estão na seção de referências deste documento. Muitos deles também se

encontram espalhados pelo wiki VOIP-info.

4 Os usuários, neste caso, são os funcionários que iriam utilizar o sistema e, principalmente, os atendentes do call-center. 5 WIKI é a abreviação de “What I Know Is...”, em portugês, “O que eu sei é...”. É um conceito amplamente utilizado em redes colaborativas. Essencialmente, é o anarquismo da Web; sua auto-regulação. É um projeto de documentação feito pela comunidade.

Page 18: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

11

Características do projeto

Neste caso, a máquina onde o Asterisk seria instalado contava com duas placas de rede (uma

on-board e outra PCI), som on-board full duplex, vídeo AGP, uma placa Digium TE405p (4x

E1/T1) e duas placas de fax/modem com chipset Intel Ambient-MD3200. A empresa já possuía

equipamentos de telefonia IP, que eram um par de gateways da Planet, VIP-400, com duas FXSs e

duas FXOs, cada um. Originalmente, eles faziam a interconexão filial-matriz através de um enlace

de 2Mbps, dividindo espaço com tráfego de dados. Estes gateways utilizam protocolo H.323 e os

CODECs G.711 (PCM – Lei-A e Lei-µ) e G.723. Também foram adquiridos dois bancos de canais

Adtran-750, equipados com 24 FXSs, unidade de controle e unidade de energia com gerador de

campainha. A interface do banco de canais com o Asterisk é feita através de uma T1.

A conectividade com a operadora telefônica é feita através de uma interface E1 por uma

PRI (Primary Rate ISDN).

Esta solução deveria atender a pelo menos 24 ramais convencionais e mais alguns ramais IP.

Não havia um número exato de ramais IP, mas sabia-se que esta quantidade, a princípio, ficaria

entre 1 e 10 ramais. Foi adotado o SIP como protocolo a ser utilizado nos telefones IP. Troncos

entre Asterisk utilizariam o protocolo proprietário IAX do Asterisk. Todos os ramais estariam

separados em grupos. Cada grupo possuiria suas facilidades individuais. As permissões para

realizar determinado tipo de ligação também seriam especificadas de acordo com o grupo.

O SIP [12] foi escolhido como protocolo padrão para conexão de telefones IP por se mostrar

flexível e apresentar inúmeras vantagens já reconhecidas sobre o padrão da ITU6, H.323. Além

disso, pode-se dizer que o SIP já foi adotado como padrão para aplicativos de comunicação no

ambiente da Internet.

O IAX [13] foi escolhido para implementação dos troncos entre os PABX Asterisk porque

traz grandes vantagens no que diz respeito à utilização otimizada da banda utilizada para

6 A ITU – International Telecommunication Union (União Internacional de Telecomunicações), além de outras atribuições, é o órgão responsável pelas padronizações no meio das telecomunicações.

Page 19: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

12

comunicação reduzindo o overhead do protocolo IP. A eficiência na utilização da banda pode

chegar a 200% em alguns casos. Também é capaz de criptografar a comunicação e utiliza o mesmo

canal para controle e para transmissão da voz. Outra grande vantagem é ser transparente a

implementações de NAT.

Algumas facilidades do PABX, como o callback e interação com um banco de dados

externo, não são pré-definidas no software. Felizmente, o Asterisk é muito flexível e algumas

opções desejadas que não eram nativas puderam ser construídas através de AGIs.

Resumidamente, era necessário ter uma rede de voz que interligasse filial-matriz com dois

ramais convencionais na filial, duas linhas telefônicas convencionais na filial, 24 ramais

convencionais na matriz, ligação com a rede RDSI através de uma PRI na matriz, possibilidade para

interligação de tantos telefones IP quantos forem necessários, interligação com rede de telefonia

celular e interligação com banco de dados existentes.

Fig. 3.2 Esquema geral da rede de voz

Page 20: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

13

O planejamento inicial (figura 3.2) mostra que o esquema de interligação entre filial e matriz

seria realizada utilizando um gateway VIP-400, da Planet, utilizando protocolo H.323, mas como

veremos no decorrer do trabalho, infelizmente não foi possível realizar tal configuração.

Fase 1 – Pré-configuração

É quando ocorre toda a preparação do ambiente a ser instalado o PABX. Aqui se estabelece

toda a configuração de som, rede, placas TDM e do computador em si, tanto fisicamente como a

preparação do sistema operacional [14]. Para o caso da necessidade de outros hardwares, as

configurações destes equipamentos também se enquadram nesta fase. No caso estudado, havia um

banco de canais que ficou com a configuração padrão.

Som

A configuração do som é necessária para que se possa utilizar a facilidade de Music on Hold

ou Música em espera. Depende muito da plataforma em que o asterisk está instalado. Por vezes, é

tão simples que o rc.hotplug7 consegue configurar a placa de som automaticamente. Outras vezes

pode ser tão complicado que seria capaz de fazer um administrador menos experiente desistir e

modificar a plataforma.

Para placas mais comuns, normalmente não se encontra grande problema. Um cuidado

importante é evitar placas que, de tão novas, ainda não possuem um driver disponível para Linux.

Outro ponto que se deve prestar atenção é a versão do programa utilizado para tocar as

músicas. No projeto em questão, foi utilizado o ‘mpg123’ [15]. Em algumas versões mais novas do

Slackware8, este programa é um link para sua versão mais nova, o ‘mpg321’, que não funciona com

o Asterisk. Portanto, deve-se ficar atento às versões e distribuições encontradas em sua plataforma.

7 /etc/rc.d/rc.hotplug é um dos arquivos de inicialização do slackware. Sua função é semelhante a do plug and play do Windows, mas pode causar alguma instabilidade no sistema. 8 Slackware <http://www.slackware.org> é uma distribuição Linux. Ela foi escolhida para a instalação do PABX simplesmente por conta da familiaridade do programador com ela.

Page 21: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

14

Para resolver este problema, foi preciso fazer um downgrade do aplicativo em questão e apagar o

link simbólico.

Rede

Logicamente, as funções básicas de rede como roteamento, endereço IP, etc devem estar

disponíveis. Afinal, este é um PABX IP!

Adicionalmente, é recomendável a configuração de firewall para que a segurança do

servidor não fique comprometida. Também é interessante a aplicação de QoS para a rede. Apesar de

opcionais, estes dois itens são muito importantes para manter o sistema e a rede saudáveis.

Para este projeto, foi utilizado como firewall, o ‘iptables’, do Linux, abrindo-se apenas as

portas necessárias para comunicação de determinadas máquinas. Todas as outras formas de

comunicação foram vedadas, mesmo para máquinas conhecidas. Máquinas que não são conhecidas,

ou seja, não têm seu endereço IP cadastrado são impedidas de se comunicar com o PABX. É

preciso ter grande atenção com a questão da segurança. O próprio software para tocar as músicas

em espera está vulnerável e com sérios problemas de segurança [15].

Além disso, pode-se marcar os pacotes de voz para priorizá-los nos roteadores da rede. Esta

opção não foi adotada no projeto.

Outra medida com relação à aplicação de regas de QoS [16] na rede é priorizar determinado

tipo de tráfego utilizando o pacote ‘iproute2’ através do comando ‘tc’. O propósito é priorizar o

tráfego de voz, alocando banda para ele e, caso esta banda não estivesse em uso, os recursos

alocados poderiam ser utilizados para dados. Este objetivo é facilmente alcançado utilizando a

disciplina de controle de fluxo HTB (Hierarchical Token Bucket). A utilização da disciplina SFQ

(Stochastic Fair Queue) também é recomendada para a distribuição uniforme e justa do tráfego que

passa por determinado canal.

Infelizmente, a aplicação das regras de QoS ainda não foi implementada neste projeto e o

tráfego de voz na rede ainda compete com o tráfego de dados sem nenhuma prioridade.

Page 22: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

15

Fase 2 – Instalação

Compreende a instalação propriamente dita. Esta etapa também pode ser subdivida em:

A) aquisição dos programas e drivers necessários;

B) instalação e configuração dos drivers e outros pré-requisitos e;

C) instalação do software Asterisk.

A instalação foi fase mais trabalhosa do projeto. Dependendo do hardware onde será

instalada, ela poderá até inviabilizá-lo. Ela certamente apresentará mais problemas que qualquer

outra. Portanto, junto com a configuração, esta é também a fase mais crítica do projeto. Se algo der

errado aqui, pode comprometer todo o resto.

Para ilustrar tamanho cuidado nesta fase, pode-se citar dois momentos de dificuldade da

implementação do projeto. O primeiro quando tentamos instalar o PABX em uma placa mãe que,

apesar de ser muito boa para a maioria das aplicações, não funcionou corretamente com o Asterisk.

E o segundo, quando da instalação do tronco Matriz-Filial, onde se pretendia utilizar o gateway da

Planet VIP-400 na filial. As duas experiências estão detalhadas do capítulo que trata de problemas e

dificuldades encontrados no projeto, o capítulo 5.

Entretanto, a instalação do software na sua versão estável, não é complicada podendo até ser

enumerada em poucos passos:

A) Baixar código fonte do site;

B) Descompactar

C) Instalar utilizando ´make´, ´make install´ e ´make samples´

Para a instalação via CVS, também não há grandes dificuldades nesta etapa. Basta digitar

esta seqüência de comandos na linha de comando do Linux:

Page 23: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

16

Também será preciso efetuar a instalação de softwares auxiliares como iproute2, mpg123,

entre outros.

Em todos os casos, deve-se ter em mente que se estiver utilizando hardware da Digium ou

ztdummy – um módulo do kernel do Linux que irá prover o Asterisk com um timer Zaptel mesmo

se não houver nenhum placa Digium instalada no sistema. Ele resgata a temporização do módulo

usb-uhci, que deverá ser carregado antes do ztdummy. – será necessário o pacote ‘zaptel’ para que

algumas aplicações sejam incluídas em tempo de compilação como o ‘Meetme()’. Para utilizar

interfaces E1 / T1, deve-se instalar o pacote libpri. Para compilar o Asterisk, o pacote ‘Bison’

também deve estar instalado. Para aplicativos como o Astmam9 será necessário possuir os pacotes

‘ncurses’ e ‘ncurses-development’. Por conta da nova funcionalidade DUNDi [17] (Distributed

Universal Number Discovery), agora também são necessárias as bibliotecas zlib e zlib-devel. É

claro que também serão necessários os drivers das placas TDM, se forem utilizadas.

A instalação das interfaces gráficas de gerenciamento e monitoramento do Asterisk também

está contida nesta fase. Devem ser instaladas cada uma de acordo com suas próprias orientações. A

instalação pode ser tão simples quanto descompactar um arquivo .PHP no seu servidor WWW ou

tão complicada que faz pensar em trocar o software.

Portanto, cada instalação de software deverá seguir a orientação de seu distribuidor

independente de sua finalidade.

9 Astman é um gerenciador em modo texto que já vem com o Asterisk.

cd /usr/src

export CVSROOT=:pserver:[email protected]:/cvs/cvsroot

cvs login

password is anoncvs

Page 24: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

17

Fase 3 – Configuração

Depois que toda a infra-estrutura necessária foi preparada, é hora de “dar forma” ao PABX.

Nesta fase, são adicionados os ramais IP e convencionais, as caixas postais de voz são configuradas,

a URA é implementada, etc. Enfim, tudo o que foi planejado nas outras fases, será implementado

agora.

Esta, provavelmente, é a fase mais demorada do projeto, pois, ao ir configurando as

facilidades, todo tipo de teste é realizado.

Além disso, durante a configuração, acaba-se percebendo que algumas decisões não estavam

de acordo com o perfil de determinado grupo de usuários ou simplesmente não era possível de se

implementar, seja por limitação da solução ou por falta de experiência do programador10.

Constantemente, o projeto sofre mudanças e até hoje ainda se faz algumas poucas modificações de

maneira a adaptar as funções que se deseja ter implementadas.

Para ajudar na tarefa de configuração, muitas páginas na internet estão disponíveis. É

aconselhável iniciar a leitura pelo site VoIP-info.org. Várias referências de grande valia para esta

tarefa se encontram na seção “Outras referências”, no capítulo 6.

A configuração do Asterisk é, de certa forma, muito simples, pois seus arquivos de

configuração são desenhados para utilizar uma linguagem bem intuitiva. Por exemplo, para

especificar que o telefone IP de nome 'host_tel_1' está atrás de NAT, e pega IP dinâmico por

DHCP, as linhas correspondentes do arquivo 'sip.conf' ficam assim:

10 Neste trabalho, deve-se entender o programador como o profissional que realiza a configuração do PABX e suas facilidades.

[host_tel_1]

...

nat=yes

host=dynamic

Page 25: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

18

Todos os outros arquivos de configuração seguem a mesma idéia. Texto plano com

argumentos fáceis de identificar e programar. A maior dificuldade é conhecer todas as opções de

configuração possíveis. A própria instalação do Asterisk oferece arquivos de configuração de

exemplo, mas eles não apresentam todas as opções existentes. Se forem instalados, eles ficarão no

diretório padrão (/etc/asterisk) com os nomes xxx.conf. Estes arquivos, além dos exemplos de

configuração, ainda contam com a valiosa ajuda de comentários que explicam a maioria das opções

possíveis.

Sintaxe

A sintaxe dos arquivos segue um padrão simples

Uma vez que o valor para um determinado objeto tenha sido declarado, ele carrega esta

informação até o final do arquivo. Para modificar seu valor basta declará-lo novamente.

Daqui para frente, o objeto2 terá como conteúdo 'novo_valor2' até o fim do arquivo ou até que ele seja declarado novamente com outro valor.

; Um comentário

[contexto1]

objeto1 => valor1 ; Outro comentário

objeto2 = valor2

----------------

objeto2 = novo_valor2 ----------------

Page 26: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

19

Os sinais ‘=’ e ‘=>’ têm o mesmo valor prático, sendo utilizados em momentos diferentes

apenas para uma visualização mais amigável, de acordo com o que o programador desejar. Pode-se,

por exemplo, utilizar ‘=’ para atribuir um valor a uma variável e ‘=>’ para declarar um objeto.

Neste trabalho, os arquivos de configuração do Asterisk foram divididos em quatro

categorias:

Configuração geral - administração, módulos, bilhetagem, banco de dados, canais zap;

Configuração de clientes/protocolos - iax, sip, h323, mgcp, skinny;

Configuração de facilidades - voicemail, filas, agentes, música em espera;

Configuração de encaminhamentos - extenções, rotas, daytime/nighttime, URA.

Configuração geral

asterisk.conf

Neste arquivo são informados os caminhos dos diretórios que o Asterisk utiliza. Raramente

ele precisará ser modificado.

admin.conf

Este arquivo trata das configurações para administração do Asterisk. São definidos usuários,

niveis de acesso, senhas, forma de autenticação e etc.

modules.conf

Aqui se deve carregar ou impedir o carregamento dos módulos que o Asterisk deverá ou não

utilizar. Recomenda-se não carregar nenhum módulo que não seja utilizado pelo sistema. O

Page 27: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

20

principal prejuízo por carregar módulos que não serão utilizados é o consumo desnecessário de

recursos computacionais. Neste projeto, não foi utilizado o protocolo MGCP ou SKINNY, portanto

estes módulos foram desabilitados. O módulo do protocolo H.323 estava apresentando problemas e

também foi desabilitado.

postgresql.conf / mysql.conf

Nestes arquivos, são configuradas opções específicas a cada sistema de banco de dados que

o administrador escolheu utilizar. Aqui são configurados parâmetros como endereço do servidor,

nome do usuário e senhas.

zapata.conf

Este é um dos arquivos mais importantes para o Asterisk. Nele são feitas as configurações

de todos os canais ZAP, que são os canais TDM. Tudo deve estar de acordo com a configuração

feita no zaptel.conf (explicado abaixo). Aqui são definidas as propriedades de determinado canal ou

grupo de canais. Funções como bilhetagem, cancelamento de eco, chamada em espera, conferência,

número chamador, entre muitas outras são habilitadas ou desabilitadas neste arquivo.

Uma das opções configuráveis mais importantes no zapata.conf é o contexto que os canais

devem estar. Os contextos serão estudados mais adiante, mas pode-se adiantar que eles definem os

ramais ou telefones para onde se pode fazer ligações. Isto é muito útil para restringir determinados

tipos de telefones para certo grupo de canais. Por exemplo, no projeto alvo deste estudo, os canais

de 56 a 70, que servem o setor de suporte técnico, não podem realizar ligações internacionais ou

para celulares de qualquer operadora.

Page 28: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

21

zaptel.conf

Na verdade, este arquivo define os parâmetros das placas TDM da Digium e clones. Ele não

configura o Asterisk, propriamente dito. Ele deve ser editado antes do Asterisk ser iniciado. Os

canais TDM e suas características não precisam do Asterisk rodando para que sejam configurados.

A configuração é efetivada rodando o programa ‘ztcfg’.

Este arquivo, diferentemente dos outros citados neste capítulo, está localizado em

/etc/zaptel.conf.

A sintaxe deste arquivo também é ligeiramente diferente. Aqui, comentário é feito com o

caractere ‘#’.

Configuração de clientes e protocolos

mgcp.conf e skinny.conf

Como não foi utilizado nada com relação a estes protocolos estes arquivos simplesmente

foram deixados em sua forma original e seus módulos foram impedidos de carregar no

modules.conf, visto anteriormente.

Como o próprio nome sugere, o mgcp.conf estabelece os parâmetros para o caso do Asterisk

ser utilizado como gateway para o protocolo MGCP [18] (Media Gateway Control Protocol). Por

sua vez, o skinny.conf, estabelece os parâmetros para o driver do protocolo SCCP, o Skinny Call

Control Protocol [19], para telefones IP da Cisco.

Page 29: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

22

h323.conf

A princípio, foi feita alguma modificação neste arquivo para que se pudesse utilizar o

Asterisk também como gateway H.323 e fazê-lo se comunicar com o gateway da Planet na filial.

Entretanto, não se obteve sucesso e ele foi deixado no diretório mas não está sendo utilizado. Seu

módulo também foi impedido de carregar no arquivo modules.conf. Mais detalhes sobre o problema

ocorrido com o protocolo H.323 está neste trabalho, no Capítulo 5.

sip.conf

Todos os user agents11 da empresa são telefones IP que utilizam o protocolo SIP. Portanto

este arquivo foi bastante modificado. Os clientes SIP foram adicionados e configurados neste

arquivo.

Alguns parâmetros eram particulares para cada “telefone SIP”, pois existiam clientes ligados

diretamente na rede local enquanto outros estavam fora da empresa e estavam conectados através de

links ADSL e outros ainda passavam por enlaces rádio.

iax.conf

Este arquivo foi utilizado apenas para implementar o tronco entre matriz e filial, pois não

estava sendo utilizado nenhum user agent com tecnologia IAX.

Em cada ponto, foram criados um usuário e uma senha com características específicas para

que se pudesse estabelecer este canal.

11 Um User Agent é um cliente SIP ou IAX ou de qualquer outro protocolo. Neste caso, pode ser um telefone ou um softphone.

Page 30: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

23

Configuração de facilidades

voicemail.conf

Configura as caixas postais de voz. Aqui é possível definir, entre outras coisas, se as

mensagens devem ser enviadas por email, como um anexo, e em que formato. Para o projeto em

questão, foram definidas 6 caixas postais. Todas enviam email avisando que “Você tem uma nova

mensagem de voz”, mas nem todas trazem o áudio da mensagem em anexo.

queues.conf

As filas de espera devem ser configuradas aqui. Esta aplicação é muito útil para call-centers.

Existe a possibilidade se definir várias filas de entrada, cada uma com suas características distintas.

É possível definir para cada fila o grupo da música em espera, se haverá alguma mensagem

institucional sendo apresentada de tempos em tempos e, se houver, define qual o intervalo de

tempo. Também se pode estimar o tempo de espera para o atendimento e uma mensagem dirá ao

cliente este tempo.

Neste projeto, foram implementadas 5 filas diferentes, mas todas com configurações

simples, e todas com a mesma categoria de música em espera.

agent.conf

Primeiramente, deve-se saber o que é um “agente”. Um agente é a entidade criada para

atender uma ou mais filas de espera. Não se define que filas um agente pode atender, mas que

agentes podem atender determinada fila, no arquivo queues.conf.

Um agente pode ser um canal como Zap/12 ou Sip/1234, ou um usuário com login e,

opcionalmente, uma senha. Quando o atendente chega para trabalhar, ele digita seu código em

qualquer posição de atendimento (a ser definido pelo plano de numeração) e a partir deste momento

ele está habilitado a receber chamadas das filas a que foi designado.

Page 31: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

24

As políticas e estratégias para chamamento destes agentes também são definidas neste

arquivo.

musiconhold.conf

Simplesmente, define os perfis de música e os locais em que se encontram que podem ser

colocadas a disposição dos clientes.

Configuração de encaminhamentos

extensions.conf

Este é sem dúvida o arquivo mais longo da configuração do Asterisk e requer muita atenção

ao editá-lo. Extensões, ramais, rotas, daytime/nighttime, URA, login/logout dos agentes, fluxo de

chamadas, etc. Enfim, tudo está definido aqui.

Como este arquivo tende a ser muito extenso, pode-se dividi-lo em partes funcionais

menores e incluí-los no arquivo maior de acordo com esta linha:

#include “novo_arquivo.conf”

O novo arquivo ‘novo_arquivo.conf’ seguirá a mesma sintaxe do ‘extensions.conf’. Ele esrá

expandido no arquivo principal como se estivesse escrito da posição do include.

Cada extensão, ramal, rota, seção da URA é escrita da seguinte maneira:

exten => 1234,P,Aplicação(parâmetro)

onde,

1234 é o ramal ou rota ou número a ser digitado na URA. Tem o nome de extensão. Pode

conter tantos dígitos quantos forem necessários. Também podem conter wildcards e/ou

expressões regulares modificadas.

P é a prioridade. Define a ordem de execução das aplicações. Devem estar em ordem crescente

e ser consecutiva. Pode-se colocar um ‘n’ (de Next) após a prioridade 1.

Page 32: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

25

Aplicação é o nome da aplicação. Define a ação a ser executada.

Parâmetro é, como esperado, um parâmetro que depende de cada aplicação.

Rede Celular

Na intenção de aumentar a eficiência da comunicação entre os funcionários, a empresa

contratou um “plano empresa” da operadora de telefonia celular ABCOM.

Este plano conta com cerca de 15 aparelhos, cada um com uma franquia de minutos que

pode ser compartilhada ente si. Além disso, 3 números fazem ligações para todos os outros

celulares da empresa sem nenhum custo.

Os 3 números “tarifa zero” ficam no centro de operações enquanto os outros ficam em

trânsito, com técnicos de campo.

Quando algum técnico deseja falar com o centro de operações, ele liga para um dos números

“tarifa zero”. A pessoa que atenderia a ligação desliga o telefone e liga de volta imediatamente. Um

callback manual.

Este cenário requer que o Asterisk resolva três problemas: 1) o tronco celular; 2) a

implementação do callback e; 3) o roteamento dessas chamadas pelo tronco celular.

Tronco Celular

O tronco celular era o menor problema e a solução não é exclusividade do Asterisk. Este

tronco é implementado colocando-se um gateway onde, de um lado existe uma porta FXS, como

uma operadora, e do outro existe um aparelho celular que vai ser o aparelho ‘Tarifa Zero’. Pode ser

instalado em qualquer PABX, em uma porta FXO.

Page 33: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

26

Fig. 3.3 Tronco celular

Callback

Antes de qualquer coisa, é preciso ressaltar que a solução de callback, apesar de estar sendo

utilizada para a parte da rede celular, poderia ter sido implementada utilizando qualquer tronco de

saída, incluindo o troco RDSI ou por uma linha telefônica convencional utilizando uma placa FXO

clone. Ela não está atrelada apenas ao troco celular.

O callback poderia ter sido implementado diretamente no ‘extensions.conf’, sem nenhuma

interação com servidores fora do Asterisk. Entretanto, foi previsto que a quantidade de telefones

celulares em trânsito poderia aumentar. Então ficou decidido que seria utilizado um script que se

utilizava da facilidade AGI, que pesquisava uma base de dados para certificar que o número

chamador pertencia a empresa e, assim, estaria habilitado a receber a chamada de volta.

Inicialmente, este script foi escrito em linguagem Bash – que na verdade não chega a ser uma

linguagem propriamente dita, mas um script de linha de comando – sem interação com banco de

dados, apenas utilizando um comando de bifurcação “case”.

O Asterisk recebe a chamada em um número pré-determinado que seja capaz de reconhecer

o número chamador. Não é possível implementar o callback utilizando apenas a própria interface

celular pois ela não permite que o número chamador seja repassado ao Asterisk. O CallerID é

passado como parâmetro para o script pelo AGI. O script apenas verifica se o número está

cadastrado e, se estiver, faz a ligação de volta colocando o chamador em um contexto onde ele

ouvirá uma mensagem de URA solicitando que o técnico escolha com que departamento ele deseja

Page 34: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

27

falar. Assim que ele escolhe a opção desejada, a chamada vai para a fila de espera correspondente

até que alguém a atenda.

A criação da chamada é feita simplesmente escrevendo um arquivo com as informações

pertinentes devidamente formatadas no diretório de spool, de acordo com as instruções indicadas

[20] no site VoIP-info.org. Na prática, o arquivo tem este formato:

Este arquivo faz uma chamada para o número 12345678 pelo tronco do grupo 2, que utiliza

tecnologia Zap e conecta esta chamada com o ramal 84, no contexto ‘extensions’.

Quando o Asterisk encontra um novo arquivo no diretório /var/spool/asterisk/outgoing, ele

tenta processa-lo como uma chamada, de acordo com o padrão descrito acima.

Roteamento

O Asterisk cria a ligação para os celulares da empresa através do contexto

“ABCOM_empresa”. Este contexto também efetua as chamadas realizadas dos ramais internos, e

não apenas serve ao callback. Sendo assim, não é necessária nenhuma configuração especial para

realizar o encaminhamento de chamadas pelo tronco celular. Basta seguir os passos para

configuração do arquivo ‘extensions.conf’ normalmente.

Chamadas que chegam pelo tronco celular são imediatamente terminadas com a aplicação

Hangup().

Channel: Zap/g2/12345678 MaxRetries: 2 RetryTime: 60 WaitTime: 30 #

Context: extensions Extension: 84 Priority: 1

Page 35: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

28

Outras considerações

A gravação das mensagens personalizadas, como as da URA, deve ser executada durante a

Fase 1 ou Fase 2 para que, na Fase 3, o programador possa se concentrar apenas na configuração do

PABX.

Infelizmente, no projeto em questão, as mensagens não foram gravadas antecipadamente.

Isto acabou levando a uma situação onde foi necessário fazer as gravações de maneira precária, sem

que um profissional de comunicação fosse contratado e sem o menor cuidado com a sonorização do

ambiente, pois era preciso cumprir um prazo de entrega. Por um lado, tecnicamente, não houve

prejuízo para a empresa, muito embora esta situação esteja longe de ser comercialmente ideal.

Page 36: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

29

4. Algumas Características e Informações Importantes

O ambiente de rede

O ambiente em que este projeto foi desenvolvido não sofreu nenhuma alteração especial

para a utilização como rede telefônica. Esta rede tem seu tráfego de voz e de dados disputando os

mesmo recursos de processamento e de banda. Esta situação não é recomendável em hipótese

alguma, mas infelizmente está implementada desta forma.

Idealmente, deveria se ter uma rede separada apenas para voz. Entretanto, isto não é

desejável, ou mesmo, economicamente interessante. O mais indicado é aplicar regras de QoS

sempre que for possível, alocando banda e priorizando pacotes em todos os pontos que se tem

controle.

Como já foi dito neste documento, a aplicação de QoS é relativamente fácil de ser

implementada com a utilização das disciplinas HTB e SFQ juntamente com a utilização do

‘iptables’ para priorização de pacotes.

Outro aspecto muito importante diz respeito à utilização de um firewall, principalmente se o

PBX tiver contato com a Internet. Todas as portas que não oferecem os serviços de voz,

gerenciamento e outros conhecidos e habilitados na máquina devem estar fechadas e apenas

máquinas conhecidas deverão ter acesso ao PABX. Mais uma vez, o ‘iptables’ é utilizado para

implementar esta firewall. Programas instalados no servidor podem apresentar algumas

vulnerabilidades, como é o caso do mpg123, para música em espera.

Sobre o IAX

O IAX [13] (InterAsterisk eXchange) é o protocolo de Voz sobre IP proprietário do

Asterisk, desenvolvido pela Digium. Ele utiliza uma única porta, 4569 UDP, tanto para controle

Page 37: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

30

quanto para conversação e por causa disso trabalha com NAT sem problemas. Ao contrário do SIP,

sempre haverá áudio se sua conexão foi estabelecida.

Quando está operando em modo tronco, o IAX permite que várias conexões compartilhem o

mesmo canal, reduzindo consideravelmente o overhead criado pelos pacotes IP.

IAX é mais eficiente do que RTP para qualquer número de chamadas, com qualquer

CODEC [21]. Os benefícios variam vão de algo em torno de 2,4 kbps para uma chamada até

triplicar a capacidade de chamadas por Megabyte para quando está utilizando o G.729, medido no

nível de MAC, quando no modo tronco.

Para maiores informações, consulte a seção “Outras referências” no capítulo 5 deste

documento.

CODECs

CODECs são utilizados para converter um sinal analógico de voz em versões digitalmente

codificadas. Eles podem variar na qualidade do som, largura de banda, requerimentos

computacionais, etc. O acrônimo é formado as inicias de duas palavras, COde/DECode ou, em

português, Codificar/Decodificar.

Cada aparelho (telefone, gateway, ATA, etc.) pode utilizar um ou mais CODECs. Nem

sempre, as duas pontas da conversação falam o mesmo CODEC. Neste caso, o Asterisk pode atuar

como um gateway de protocolos de compressão de voz, fazendo a tradução de um protocolo para o

outro, nos dois sentidos da conversação.

A tabela a seguir, baseada principalmente em dois documentos encontrados na Internet

[22][23], mostra algumas características relevantes dos algoritmos mais comuns:

Page 38: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

31

Algoritmo Banda Banda IP Precisa de licensa

G.711 PCM 64kbps 80kbps Não ACELP 5.6kbps 16.27kbps Sim

G.723.1 MP-MLQ 6.4kbps 17.07kbps Sim

G.726 ADPCM 32kbps 48kbps Sim G.728 LD-CELP 16kbps 32kbps Sim

G.729(A) CS-ACELP 8kbps 24kbps Sim RFC 3951 ILBC 15,2kbps 27.7kbps Não

GSM RPE-LTP 13kbps Não

Tabela 4.1 Principais CODECs

Alguns CODECS são gratuitos e podem ser utilizados sem maiores preocupações. Outros,

têm os direitos autorais de seus códigos ou algoritmos protegidos, e para utiliza-los é necessário o

pagamento de suas licenças.

No Asterisk, podemos verificar que CODECs estão instalados e assim verificar se o sistema

está apto a realizar a tradução de um para outro digitando o comando ‘show translations’ na

interface CLI (Console Line Interface).

Preço

A questão do preço é algo que causa alguma confusão com muitas pessoas. Pelo fato do

Asterisk ser um software de código aberto e poder ser baixado da internet de graça, rodar sobre um

sistema operacional também gratuito, e ter todas as funcionalidades e sistemas auxiliares baseados

também em software livre, as pessoas acham que toda solução envolvendo o Asterisk também

deveria ser de graça, ou quase de graça.

Entretanto, investe-se muito tempo e dinheiro estudando as tecnologias envolvidas no

projeto, testando e implementando soluções para que no final, o cliente consiga uma economia,

algumas vezes, de mais de 50% da conta telefônica.

Page 39: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

32

Além disso, é preciso considerar o preço do hardware TDM. As portas FXS, FXO, T1 e E1

não são baratas. Outros hardwares auxiliares como banco de canais, são muito caros, não importa o

fabricante. Determinados projetos ainda podem utilizar ATAs ou gateways de voz sobre IP mais

simples, que também encarece a solução.

Outra coisa que aumenta assustadoramente o preço das peças é o fato de que elas precisam

ser importadas. Em alguns casos, as placas E1 cotadas pela empresa XPTO chegaram a encarecer

quase 100% em relação ao preço nos Estados Unidos. Este absurdo, apenas a título ilustrativo, –

pois ninguém compraria deste fornecedor – serve para mostrar como a importação realmente

encarece o preço das placas.

Neste projeto especificamente, além da máquina que serviu de plataforma, um Pentium 4,

3GHz com 2Gbytes de RAM, foi adquirido mais uma placa Quad E1/T1, dois banco de canais

Adtran 750 equipados com 24 FXS, módulo de energia e de controle cada um, dois gateways para

telefonia celular. Sem contar com a mão de obra, tempo para estudo e desenvolvimento da solução

final e a conta com a operadora de voz local.

É claro que uma solução mais modesta pode realmente não ser custosa. Tome-se, por

exemplo, um projeto SOHO (Small Office – Home Office) que solicitou pelo menos um ramal IP

implementado via softphone instalado no notebook do pequeno empresário, um ramal convencional

no escritório e mais um ramal convencional para atender a casa. O Asterisk pode ser instalado em

um K6-II, 300 MHz e 128Mbytes de RAM com uma placa FXO, clone. Esta máquina seria muito

mais barata do que a utilizada no projeto da XPTO. E para os dois ramais analógicos, um ATA com

2 FXS que também funciona como roteador resolveria o problema por muito menos que um banco

de canais. Ou seja, neste caso, um PABX completo com URA, fila de chamada, 2 ramais analógicos

e possibilidade para quantos ramais IP desejar que permitem fazer ligações de qualquer lugar do

mundo como se estivesse em seu escritório não teria custado nem um décimo do PABX da XPTO.

Se for observado apenas o total gasto para implementar a solução, parece que foi muito caro,

mas quando se leva em consideração tudo o que o PABX pode fazer, desde servir de gateway para

Page 40: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

33

os diversos CODECs e protocolos até a integração com o banco de dados interno e o produto de

CRM que se formou no final, conclui-se foi um ótimo investimento. A relação custo-benefício

quando o Asterisk é utilizado como solução de comunicação sempre é favorável.

Page 41: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

34

5. Dificuldades Encontradas

A maior dificuldade foi, com toda certeza, escrever a documentação. Como acontece nas

tarefas na maioria das empresas de pequeno e médio porte, esta implementação não foi devidamente

documentada. A maior parte do texto técnico está escrito em forma de comentário nos arquivos de

configuração e scripts. Infelizmente, pode-se dizer que este texto – que não é técnico – é a

documentação mais elaborada com relação ao projeto em questão.

Dentre as dificuldades técnicas, pode-se citar algumas, que seguem na forma de seções deste

capítulo.

Gateway H.323

A princípio, a intenção da empresa XPTO era fazer o ‘Planet’ VIP 400 falar diretamente

com o Asterisk, utilizando o protocolo H.323, com pode ser visto na figura 3.2.

Os primeiros testes até foram bem sucedidos. Através de um ramal IP instalado em um PC

conseguiu-se estabelecer uma ligação com um ramal convencional ligado à porta FXS do Planet

através do Asterisk.

Fig. 5.1 Ambiente de teste H.323

Page 42: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

35

Infelizmente, após a chegada da placa TE405p e da instalação da PRI, quando foi dado

início à instalação definitiva, a comunicação entre Asterisk e Planet não aconteceu mais. Foram

feitas várias tentativas de compilação e configuração, inclusive com um downgrade do Asterisk,

mas nenhuma delas foi bem sucedida.

A solução encontrada foi implementar a comunicação Planet-Asterisk utilizando as portas

FXOs do Planet ligadas diretamente às portas FXSs do Asterisk, pelo banco de canais, e manter o

par de Planets falando H.323 entre si para que fosse possível utilizar as portas FXS no lado da filial,

já que a empresa gostaria de aproveitá-las para os dois ramais da filial sem ter que desembolsar

mais verba para aquisição das placas FXS.

Fig. 5.2 Solução final do problema H.323

Esta seria uma solução temporária e esforços seriam concentrados para estudar e resolver o

problema.

Entretanto, como acontece na maioria dos casos, outros projetos com maior prioridade e

urgência foram surgindo e este estudo acabou ficando em segundo plano. Até hoje a solução

paliativa continua funcionando.

Page 43: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

36

Placa-Mãe

Placas-Mãe com chipset que não seja Intel podem se tornar uma grande dor-de-cabeça. A

primeira instalação foi feita utilizando uma placa-mãe ASUS [24], mas com chipset da empresa

Via Technologies. Com esta configuração, além do problema de compartilhamento de interrupção,

os erros “HDLC-Abort” e “HDLC-FCS Error” ocorriam com uma freqüência acima do normal,

chegando a cerca de cinco vezes por segundo.

Este problema foi corrigido quando, numa atitude quase desesperada, a placa-mão foi

trocada por outra ASUS, mas agora com chipset Intel.

Sincronismo

Após a troca da placa, um erro – no mínimo curioso – persistia. Quando a placa TE405p era

configurada para utilizar o clock do seu oscilador interno, o circuito sincronizava com a central sem

maiores transtornos. Mas quando se tentava resgatar o relógio da central da operadora, aparecia

uma diferença de 443 bps. A medição foi feita com um aparelho analisador de tráfego (lite2000) da

operadora.

Perdeu-se muito tempo discutindo e investigando a causa do ocorrido, quando se resolveu

revisar a máquina onde estava instalado o Asterisk.

Detectou-se uma situação no mínimo inesperada. Em cada slot que se colocava a placa

TE405p havia um comportamento diferenciado do sistema, com relação a interrupções.

A conclusão chegada após análise da máquina foi que além de um mau-contato no slot em

que a placa E1/T1 estava instalada, a posição de slot na placa mãe também influenciou esta

instalação do PABX.

A maquina foi totalmente desmontada, inclusive tendo sua placa-mãe retirada do gabinete, e

montada novamente. O problema de mau-contato foi resolvido. Depois se procurou por tentativa e

erro o slot que a placa E1 melhor se comportava. Encontrado este ponto, a cada placa que era

Page 44: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

37

adicionada na máquina, realizavam-se testes para detectar alguma falha, mas apenas a placa da

Digium sofria efeitos da posição na placa-mãe.

Isto pode ter acontecido devido ao sistema de filtragem da alimentação desta placa estar mal

dimensionado, o que faria sofrer interferências via alimentação, ou por falta de blindagem adequada

no circuito de recuperação de clock (PLL).

Documentação do software

A documentação do site do Asterisk é simplesmente sofrível e está longe de ser suficiente

para o entendimento e a implementação de um sistema de telefonia computacional.

Desde o início, durante as primeiras pesquisas, até hoje, a grande dificuldade é a falta de

documentação. É tudo muito incompleto ou simplesmente não documentado. Boa parte de

documentos antigos ainda é utilizada como referência, apesar de terem sido escritos utilizando uma

sintaxe que já foi modificada. Felizmente, o Asterisk manteve a compatibilidade com a sintaxe

antiga e a mais nova.

A melhor saída é contar com sites especializados em VoIP e/ou Asterisk que reúnem uma

boa quantidade de documentos sobre o Asterisk. Como exemplo, pode-se citar três representantes

expressivos: o Asterisk User Documetnation Project [25], o VoIP-info.org [8]e o AsteriskBrasil.org

[9], dedicado a Voz sobre IP. As listas de discussão [10] [11], apesar de recorrentes, sempre são

muito úteis. A lista do site nacional citado acima é muito boa e a lista oficial da Digium também,

mas é excessivamente movimentada.

Outras referências

Além das referências citadas no decorrer do texto, pode-se acrescentar estas que, apesar de não terem sido utilizadas diretamente para a confecção deste documento, foram muito úteis durante o projeto.

Page 45: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

38

Introdução ao Asterisk http://www.voip-info.org/tiki-index.php?page=Asterisk+introduction

Dicas de Instalação http://www.voip-info.org/tiki-index.php?page=Asterisk+installation+tips

Dicas de dimensionamento de hardware http://www.voip-info.org/tiki-index.php?page=Asterisk+dimensioning

QoS para Asterisk http://www.voip-info.org/tiki-index.php?page=Asterisk+QoS

Arquivos de configuração do Asterisk http://www.voip-info.org/tiki-index.php?page=Asterisk+config+files

Erlang.com – Site sobre telefonia http://www.erlang.com/

Estudo do protocolo IAX2 http://www.voip-info.org/tiki-index.php?page=Asterisk+bandwidth+iax2

Sorting Through GSM Codecs: A Tutorial http://www.commsdesign.com/design_corner/OEG20030711S0010

iLBC codec specification (rfc3951.txt) http://www.ietf.org/rfc/rfc3951.txt

RTP Payload Format for iLBC speech (rfc3952.txt) http://www.ietf.org/rfc/rfc3952.txt

Voice Over IP - Per Call Bandwidth Consumption http://www.cisco.com/en/US/tech/tk652/tk698/technologies_tech_note09186a0080094ae2.shtml

Page 46: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

39

6. Conclusão

Após todo o processo de pesquisa, instalação, documentação e implementação do Asterisk

pode-se concluir que a tecnologia de voz sobre IP veio para ficar. Ela pode até não substituir a

telefonia convencional e seus circuitos dedicados, mas com certeza elas vão coexistir por muito

tempo.

Os documentos encontrados durante as pesquisas apontam para uma valorização da telefonia

computacional como a alternativa ao sistema convencional de comunicação, pois com ela é possível

realizar a integração de voz, dados e imagem num mesmo servidor por um preço elativamente

baixo. Apesar de não ter sido implementado neste projeto alvo do estudo de caso, o Asterisk é um

software capaz de suportar e compor o cenário para o Triple Play (som + dados + imagem).

Além disso, a utilização da telefonia computacional aumenta a relação custo-benefício em

praticamente todos os casos em relação aos equipamentos da telefonia convencional, pois possui

vários recursos que na telefonia convencional são muito onerosos.

Em relação ao ambiente de rede pode-se notar que, ao contrário do que se imaginava há

algum tempo atrás, a Internet hoje está sendo utilizada como backbone para as conexões de voz.

Não há condições de se garantir a qualidade da ligação, mas ela está sendo utilizada com um

sucesso maior do que o esperado. Tanto é verdade, que operadoras de telefonia convencional já

possuem produtos de VoIP baseados na Internet. Portanto, para o cliente caseiro ou para uma

pequena empresa, voz sobre IP trafegando na internet, apesar da falta de confiabilidade, é uma

opção que está sendo amplamente utilizada.

Quanto ao software e sua implementação, pode-se dizer que não é fácil adquirir o

conhecimento necessário para uma boa implementação do Asterisk. Hoje, algumas empresas já

vendem distribuições voltadas para solução de PBX. O público, normalmente não conhece teoria de

telefonia e mal conhece teoria de redes. O resultado é uma solução aquém do potencial do software,

que muitas vezes não atende a todas as necessidades e muito propícia a ocorrência de erros. É

Page 47: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

40

recomendável que soluções para voz sobre IP e integração das redes telefônica e de dados, mesmo

com a aparente facilidade do Asterisk, sejam implementadas por profissionais com conhecimento

suficiente das áreas afins.

Enfim, quanto da solução como um todo, pode-se dizer que foi implementada com sucesso.

Mesmo tendo existido alguns problemas, todos eles, de uma forma ou de outra, foram

transpassados. Todas as requisições foram atendidas. É verdade que ainda faltam corrigir algumas

pendências como gravação profissional das mensagens de voz do atendimento automático e a

correta implementação do gateway H.323, que hoje funciona com uma solução paliativa, mas todas

as funções requeridas estão em funcionamento.

A representação completa da rede de voz da empresa XPTO em funcionamento hoje se

encontra na figura abaixo.

Fig. 6.1 Rede completa em funcionamento

Page 48: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

41

7. Referências

[1] Eduardo Mendes Tavares, Luiz Schara (Orientador) Implantação de um PBX VoIP Multifuncional – Dezembro de 2004

[2] Asterisk.org – Home http://www.asterisk.org

[3] Asterisk.org – Features http://www.asterisk.org/index.php?menu=features

[4] Digium – Home http://www.digium.com

[5] GNU – General Public License http://www.gnu.org/copyleft/gpl.html

[6] Asterisk Business Edition http://www.digium.com/index.php?menu=product_detail&category=software&product=ABE

[7] The Asterisk Handbook – Version 2 (Draft) http://www.digium.com/handbook-draft.pdf

[8] VoIP-info.org http://www.voip-info.org

[9] AsteriskBrasil.org http://www.asteriskbrasil.org

[10] Lista de Discussão - Asterisk Users http://lists.digium.com/mailman/listinfo/asterisk-users

[11] Lista de Discussão - AsteriskBrasil http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil_listas.asteriskbrasil.org

[12] RFC-3261 – Session Initiation Protocol ftp://ftp.rfc-editor.org/in-notes/rfc3261.txt

[13] IAX – Inter Asterisk eXchange Specification http://www.cornfed.com/iax.pdf

[14] The Asterisk Documentation Project – Volume One: An Introduction to Asterisk http://www.asteriskdocs.org/modules/tinycontent/content/docbook/current_v1/docs-html/book1.html

[15] MPG123 Home Page

http://www.mpg123.de/

[16] Linux Advanced Routing and Traffic Control HOWTO http://lartc.org/howto/

Page 49: Asterisk - Muito mais que um PBX IP - Estudo de Caso

UNIVERSIDADE FEDERAL FLUMINENSE ASTERISK: MUITO MAIS QUE UM PBX IP ENGENHARIA DE TELECOMUNICAÇÕES UM ESTUDO DE CASO

42

[17] Distributed Universal Number Discovery Home Page http://www.dundi.com/

[18] RFC-2705 - Media Gateway Control Protocol ftp://ftp.rfc-editor.org/in-notes/rfc2705.txt

[19] SCCP – Skinny Call Control Protocol Introduction http://www.cisco.com/en/US/tech/tk652/tk701/tk589/tsd_technology_support_sub-protocol_home.html

[20] Asterisk Callback

http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out

[21] IAX vs. SIP, by Mark Spencer http://www.voip-info.org/tiki-index.php?page=IAX+versus+SIP

[22] Bandwidth Consumption http://www.voip-info.org/tiki-index.php?page=Bandwidth%20consumption

[23] CODECs, do site VoIP-info.org http://www.voip-info.org/tiki-index.php?page=codecs

[24] ASUS Home Site http://www.asus.com

[25] Asterisk User Documentation Project http://www.asteriskdocs.org/