Vous êtes sur la page 1sur 49

Universidade Federal Fluminense Escola de Engenharia Departamento de Telecomunicaes

Trabalho Final do Curso de Engenharia de Telecomunicaes

ASTERISK: MUITO MAIS QUE UM PBX IP


- UM ESTUDO DE CASO -

Aluno Alex Galhano Robertson Orientador Marcos Tadeu Von Lutzow

ASTERISK: MUITO MAIS QUE UM PBX IP


- UM ESTUDO DE CASO -

Aluno Alex Galhano Robertson Orientador Marcos Tadeu Von Lutzow

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 me, minhas sogras e principalmente minha esposa e minha filha. Sem essas pessoas seria impossvel.

Agradeo a ajuda inestimvel de Marcio Pinheiro Gomes que, alm de ajudar com as compilaes mirabolantes, me encorajou e me concedeu o direito de expor o projeto realizado em sua empresa. Obrigado.

NDICE
1. APRESENTAO.....................................................................................................................1 MAIS UM DOCUMENTO SOBRE VOIP ? ...............................................................................................1 2. INTRODUO..........................................................................................................................2 ASTERISK: MUITO MAIS QUE UM PBX IP...........................................................................................3 Arquitetura ...................................................................................................................................4 A questo comercial.....................................................................................................................6 3. O PROJETO...............................................................................................................................7 METODOLOGIA .................................................................................................................................9 FASE 0 PLANEJAMENTO..................................................................................................................9 A pesquisa ....................................................................................................................................9 Caractersticas do projeto .........................................................................................................11 FASE 1 PR-CONFIGURAO ........................................................................................................13 Som.............................................................................................................................................13 Rede............................................................................................................................................14 FASE 2 INSTALAO.....................................................................................................................15 FASE 3 CONFIGURAO ...............................................................................................................17 Sintaxe........................................................................................................................................18 Configurao geral ....................................................................................................................19 Configurao de clientes e protocolos.......................................................................................21 Configurao de facilidades ......................................................................................................23 Configurao de encaminhamentos...........................................................................................24 REDE CELULAR ...............................................................................................................................25 Tronco Celular...........................................................................................................................25

Callback .....................................................................................................................................26 Roteamento.................................................................................................................................27 OUTRAS CONSIDERAES ...............................................................................................................28 4. ALGUMAS CARACTERSTICAS E INFORMAES IMPORTANTES......................29 O AMBIENTE DE REDE .....................................................................................................................29 SOBRE O IAX ..................................................................................................................................29 CODECS ........................................................................................................................................30 PREO .............................................................................................................................................31 5. DIFICULDADES ENCONTRADAS .....................................................................................34 GATEWAY H.323 ............................................................................................................................34 PLACA-ME ....................................................................................................................................36 SINCRONISMO .................................................................................................................................36 DOCUMENTAO DO SOFTWARE .....................................................................................................37 Outras referncias......................................................................................................................37 6. 7. CONCLUSO ..........................................................................................................................39 REFERNCIAS .......................................................................................................................41

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 SOLUO FINAL DO PROBLEMA H.323 ................................................................................................................ 35 FIG. 6.1 REDE COMPLETA EM FUNCIONAMENTO ............................................................................................................... 40

NDICE DE TABELAS
TABELA 4.1 PRINCIPAIS CODECS ..................................................................................................................................... 31

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

1. Apresentao
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 pacincia e alguma sensibilidade para fazer a busca correta e conseguir garimpar as informaes desejadas. Entretanto, esta uma situao especial, pois fui o responsvel pelo projeto de implantao de um PBX IP open source em uma empresa de mdio 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 integrao 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 subttulo, este trabalho no pretende ser apenas mais um documento sobre Voz sobre IP. Pelo contrrio, pouco ou quase nenhuma teoria de VoIP ser apresentada j que h muitos documentos disponveis sobre este assunto. Neste trabalho, descrito um projeto e a implementao de um PABX para soluo completa de voz de uma empresa. A pesquisa, os conceitos bsicos do software, os procedimentos de instalao e configurao e as dificuldades encontradas so os pontos onde me concentrei para escrever este documento. Logicamente, alguns dados como nome da empresa, nmeros de telefones e outras informaes de carter sigiloso que porventura venham aparecer no decorrer do texto estaro trocados para valores fictcios.

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

2. Introduo
Desde o incio dos tempos, a comunicao foi essencial para o progresso cultural e econmico da humanidade. Todas as formas de comunicao (do sinal de fumaa ao "torpedo" SMS) deram, e ainda do, sua contribuio 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. Algum at poderia argumentar dizendo que um indivduo com deficincia auditiva se comunica por meio de sinais feitos com as mos. 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 no fosse importante, a humanidade teria ficado com o telgrafo e no se desenvolveria o telefone. Esta necessidade e o avano tecnolgico fez com que hoje a rede telefnica tenha alcance mundial, conectando pontos de um extremo a outro do planeta. Mas e quanto comunicao de dados? Hoje, esta rede tambm cobre praticamente todo o planeta. Ela conecta os pontos utilizando-se de uma tecnologia que torna mais barato, em relao 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 abrangncia. Outra possibilidade seria substituir trechos da rede telefnica por outro trecho da rede de dados. Ainda temos uma infinidade de possibilidades de uso dessa interconexo 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 penetrao nas residncias. Esta tecnologia de rede vem sendo aprimorada cada vez mais para que seja possvel integrar voz e dados. A esta integrao da voz trafegando em uma rede de

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

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 integrao entre as redes e alguns outros servios possveis de maneira muito prtica e particular. No sero abordas aqui as teorias pertinentes a tecnologia de voz sobre IP nem sero apresentadas frmulas mgicas do tipo Siga os passos tenha seu PABX IP funcionando em algumas horas. Aqui, sero citadas as caractersticas bsicas do software utilizado e alguma informao adicional sobre softwares e hardwares auxiliares para que seja possvel o entendimento do objetivo maior que a instalao 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 preo 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 implementao.

Asterisk: muito mais que um PBX IP


No ltimo perodo letivo, houve a oportunidade de acompanhar um trabalho final [1] que apresentava o Asterisk [2], inclusive com uma demonstrao 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 necessrio uma breve reapresentao para que no haja dvidas sobre o tema e para que se possa acompanhar a exposio sem maiores dificuldades. O Asterisk um PABX implementado por software, desenhado para rodar em um Computador Pessoal (PC). A princpio, pode ser instalado em qualquer sistema de cdigo aberto, mas com amplo suporte para Linux. Os sistemas operacionais baseados em BSD, apesar de apresentar algumas dificuldades, tambm suportam o Asterisk.
3

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

O Asterisk capaz de interconectar telefones convencionais e telefones IP, sejam eles deskphones (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. Tambm implementa vrias facilidades como Unidade de Resposta Automtica (URA), Discagem Direta para Ramal (DDR), filas de espera, estacionamento de chamadas, msica na espera, encaminhamento pela rota de menor custo, encaminhamento de acordo com o nmero chamador ou com o nmero discado, interao com banco de dados e ainda faz muito mais do que um PABX convencional capaz. Descrevendo-o resumidamente utilizando termos mais tcnicos, 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 Automtica; Sistema de mensagens de voz; PABX

Uma lista completa de todas as funcionalidades e caractersticas do Asterisk pode ser encontrada na sua pgina na Internet, na seo Features [3].

Arquitetura
O Asterisk foi desenhado para permitir a maior flexibilidade possvel. APIs especficas foram definidas em torno do ncleo central do sistema de PBX. Elas possibilitam uma grande abstrao do hardware, do software e de protocolos facilitando assim a programao de novos objetos, sejam comandos, canais de comunicao, CODECs1 ou formato de arquivo. Por exemplo,

Um CODEC a parte do sistema que COdifica e DECodifica a informao a ser transportada, neste caso, a voz. A explicao mais detalhada fornecida no captulo 4. 4

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

novos comandos2 podem ser incorporados facilmente ao software. Um programador C com conhecimento razovel capaz de adicionar estas funcionalidades. O ncleo do Asterisk trata internamente as funes de comutao, traduo de CODECs, execuo de aplicaes, escalonamento e gerenciamento de Entrada/Sada. Para os mdulos carregveis, o Asterisk oferece quatro tipos de APIs diferentes. API de canais, API de aplicaes, API para traduo de CODECs e API de formato de arquivos.

Fig. 2.1 - Arquitetura interna do Asterisk

A integrao do Asterisk com o sistema de dados feita de forma muito simplificada atravs de uma facilidade denominada AGI (Asterisk Gateway Interface). Na prtica, AGI um programa em C, Python, PHP, bash script, perl script, ou qualquer outra linguagem que o administrador se sinta confortvel. Foi necessrio escrever alguns scripts para implementar algumas funes do projeto em questo.

Os comandos, no Asterisk, so chamados de Aplicaes (Applications). Elas dizem qual ao dever ser tomada nas diversas situaes. 5

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

O Asterisk foi desenhado para facilitar a implementao de novas funcionalidades e pretende ser um PBX independente de qualquer fabricante de software ou hardware, a no ser no que se diz respeito a Digium [4]. Maiores detalhes sobre esta exceo na prxima seo.

A questo comercial
A questo comercial foge bastante do assunto deste trabalho, mas vale a pena citar que, Mark Spencer, da Digium, o autor da maior parte do cdigo do Asterisk detentor dos direitos de cpia de partes do cdigo fonte do Asterisk. Apesar disso, o Asterisk est licenciado segundo a GPL [5] (General Public License ou Licena Pblica Geral), portanto pode ser utilizado e modificado livremente por qualquer pessoa que assim desejar, desde que seja distribudo juntamente com o cdigo fonte e as modificaes que tenham sido efetuadas. A Digium o principal patrocinador do projeto Asterisk. Ela aprova (ou rejeita) as contribuies da comunidade para o Asterisk; Ela hospeda a lista de discusso oficial, servidores, bugtracking, etc. A Digium tambm 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 lanou uma verso comercial [6] do Asterisk, o Asterisk Business Edition. Ela tambm 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, Multiplexao por Diviso do Tempo. 6

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

3. O projeto
A empresa XPTO decidiu que precisava de uma soluo de baixo custo para comunicao interna e para sua central de atendimento. Para esta soluo, deveria ser possvel a implementao de mais de uma fila de atendimento, com reconhecimento do nmero chamador, discagem direta para ramal, encaminhamento pela rota de menor custo e, principalmente, que suportasse voz sobre IP realizando a integrao dos servios de telefonia convencional, telefonia IP e telefonia celular. Tambm era necessrio que a nova soluo apresentasse alguma interao com o sistema de banco de dados existente. J no incio das pesquisas, o Asterisk surgiu como o favorito e logo foi adotado como a soluo perfeita, pois ele atendeu todas as necessidades da empresa e por se mostrar uma soluo extremamente flexvel e de fcil integrao com outros servios. Agora faltava criar e executar um plano de ao. Contudo, na realidade no existiu um planejamento propriamente dito. As aes estavam sendo tomadas quando aparecia a necessidade. Desta forma, o cronograma foi se apresentando de forma natural. Nesta etapa, ainda se fazia necessrio estudar o software que ainda no passava de uma promessa de sucesso. Passou-se muito tempo enquanto se estudava o Asterisk. Foi feita uma instalao experimental do software, ainda sem nenhuma placa TDM. O objetivo deste primeiro teste foi a familiarizao com o ambiente de configurao. Apesar de ter sido utilizada a configurao de exemplo com algumas poucas modificaes, a experincia foi vlida e muito proveitosa. Um ramal IP, atravs de um softphone instalado em um PC rodando Linux, falou com algum fora da empresa. Foi o pice. Conseguiu-se estabelecer contato com o suporte tcnico da Digium, nos Estados Unidos, via IP pela internet, sem gastar nenhum centavo. Apesar de simples, o dilogo reproduzido abaixo foi um marco no desenvolvimento da soluo.
7

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Digium: - Hello. XPTO: XPTO: - Hello. Can you hear me? - Im just testing! It works! Digium: - Yes. Can I help you? Digium: - Yes, it works! Bye.

Logo depois, montou-se uma estrutura de testes que aproveitava um ramal do PABX convencional existente na empresa. Assim poderamos realizar ligaes entre softphones IP e ramais convencionais ou at mesmo realizar ligaes para fora da empresa. Tambm, ligaes entrantes para o ramal utilizado poderiam ser atendidas pelo softphone. Uma vantagem observada nesta implementao que seria possvel utilizar tantos telefones IP quantos fossem desejados. Por exemplo, j era possvel implementar a comunicao interna de algum setor, utilizando apenas telefones IP instalados nas estaes de trabalho, reaproveitando a rede IP existente. O inconveniente desta soluo que existia apenas um canal de entrada/sada de ligaes. Esta integrao do Asterisk em teste com o PABX convencional se deu por meio da utilizao 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 posio de ramal, FXS, do outro PABX. Um desenho esquemtico desta ligao pode ser visto abaixo.

Fig. 3.1 Estrutura de testes 8

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Com o passar do tempo, progressos cada vez mais significativos foram alcanados, at que se pode efetivamente criar pelo menos uma ordem cronolgica para implementao do PABX. Assim, apesar de simples, estabeleceu-se um planejamento lgico a ser seguido.

Metodologia
Para facilitar o entendimento do processo de implantao, neste trabalho a instalao do PBX IP foi subdivida em quatro etapas Planejamento, Pr-configurao, Instalao e Configurao cada uma com objetivos bem definidos.

Fase 0 Planejamento
Nesta fase so definidos todos os servios e facilidades que sero implementados. Qual o perfil dos usurios4 do sistema, que CODECS e protocolos de transporte e sesso sero utilizados e o plano de numerao. Tambm deve ser decidido se ser utilizada interface grfica de gerncia e configurao e, caso positivo, qual ser a interface. Nesta fase, tambm est presente a pesquisa de material e solues, onde se decide qual a necessidade, que funes devem ser implementadas e como elas devem ser implementadas.

A pesquisa
Para que se conhea toda a capacidade do conjunto de software e hardware que se tem disposio e ser capaz de especificar o que e o que no possvel implementar preciso pesquisar e ler muito. A documentao do oficial disponibilizada no site do Asterisk, um rascunho da apostila [7], alm de desatualizada, est longe de ser suficiente, e para adquirir este conhecimento foi necessrio realizar muitas pesquisas na internet. O site de buscas Google

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

<http://www.google.com.br> sempre um timo ponto de partida. A cada pesquisa, necessrio seguir alguns links para filtrar o que realmente informao vlida ou apenas lixo. Os links que foram aproveitados neste trabalho esto em uma seo do captulo de Referncias. Dentre as dezenas de pginas visitadas, recomenda-se, principalmente, a leitura das pginas referentes ao Asterisk do site VOIP-info.org [8]. Este site um wiki5 muito rico em informaes e atualizado constantemente por membros da comunidade que desenvolve e utiliza o Asterisk. Alm de resultados de pesquisas e experincias prticas, h tambm vrios links com referncias a outros sites que tambm do suporte voz sobre IP e telefonia em geral. Para informaes em portugus pode-se tentar o site AsteriskBrasil.org [9]. Infelizmente, esta foi uma tentativa frustrada de fazer um site em portugus com o mesmo assunto, o software Asterisk. Basicamente, as poucas informaes tcnicas que se encontram neste site so uma cpia do primeiro, VOIP-info, em ingls. O site nacional mais til para quem no sabe nada do assunto e deseja alguma informao bsica para utilizar o servio de Voz sobre IP e para quem est procurando alguma empresa ou profissional para ajud-lo. Outras fontes de pesquisa muito valiosas so as listas de discusso que existem em torno do Asterisk. A lista oficial do Asterisk, Asterisk-Users [10], de to movimentada faz com que fique difcil acompanhar as discusses, mas por isso mesmo, uma tima fonte de informao. Outra lista recomendada a do site AsteriskBrasil.org [11], em portugus. Todas as duas tm muita informao repetida, mas isto no as torna ruim. Outros sites muito teis para quem pesquisa, desenvolve e aplica solues de Voz sobre IP, incluindo o Asterisk, esto na seo de referncias deste documento. Muitos deles tambm se encontram espalhados pelo wiki VOIP-info.

Os usurios, neste caso, so os funcionrios que iriam utilizar o sistema e, principalmente, os atendentes do callcenter. 5 WIKI a abreviao de What I Know Is..., em portugs, O que eu sei .... um conceito amplamente utilizado em redes colaborativas. Essencialmente, o anarquismo da Web; sua auto-regulao. um projeto de documentao feito pela comunidade. 10

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Caractersticas do projeto
Neste caso, a mquina onde o Asterisk seria instalado contava com duas placas de rede (uma on-board e outra PCI), som on-board full duplex, vdeo AGP, uma placa Digium TE405p (4x E1/T1) e duas placas de fax/modem com chipset Intel Ambient-MD3200. A empresa j possua 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 interconexo filial-matriz atravs de um enlace de 2Mbps, dividindo espao com trfego de dados. Estes gateways utilizam protocolo H.323 e os CODECs G.711 (PCM Lei-A e Lei-) e G.723. Tambm 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 atravs de uma T1. A conectividade com a operadora telefnica feita atravs de uma interface E1 por uma PRI (Primary Rate ISDN). Esta soluo deveria atender a pelo menos 24 ramais convencionais e mais alguns ramais IP. No havia um nmero exato de ramais IP, mas sabia-se que esta quantidade, a princpio, ficaria entre 1 e 10 ramais. Foi adotado o SIP como protocolo a ser utilizado nos telefones IP. Troncos entre Asterisk utilizariam o protocolo proprietrio IAX do Asterisk. Todos os ramais estariam separados em grupos. Cada grupo possuiria suas facilidades individuais. As permisses para realizar determinado tipo de ligao tambm seriam especificadas de acordo com o grupo. O SIP [12] foi escolhido como protocolo padro para conexo de telefones IP por se mostrar flexvel e apresentar inmeras vantagens j reconhecidas sobre o padro da ITU6, H.323. Alm disso, pode-se dizer que o SIP j foi adotado como padro para aplicativos de comunicao no ambiente da Internet. O IAX [13] foi escolhido para implementao dos troncos entre os PABX Asterisk porque traz grandes vantagens no que diz respeito utilizao otimizada da banda utilizada para

A ITU International Telecommunication Union (Unio Internacional de Telecomunicaes), alm de outras atribuies, o rgo responsvel pelas padronizaes no meio das telecomunicaes. 11

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

comunicao reduzindo o overhead do protocolo IP. A eficincia na utilizao da banda pode chegar a 200% em alguns casos. Tambm capaz de criptografar a comunicao e utiliza o mesmo canal para controle e para transmisso da voz. Outra grande vantagem ser transparente a implementaes de NAT. Algumas facilidades do PABX, como o callback e interao com um banco de dados externo, no so pr-definidas no software. Felizmente, o Asterisk muito flexvel e algumas opes desejadas que no eram nativas puderam ser construdas atravs de AGIs. Resumidamente, era necessrio ter uma rede de voz que interligasse filial-matriz com dois ramais convencionais na filial, duas linhas telefnicas convencionais na filial, 24 ramais convencionais na matriz, ligao com a rede RDSI atravs de uma PRI na matriz, possibilidade para interligao de tantos telefones IP quantos forem necessrios, interligao com rede de telefonia celular e interligao com banco de dados existentes.

Fig. 3.2 Esquema geral da rede de voz

12

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

O planejamento inicial (figura 3.2) mostra que o esquema de interligao 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 no foi possvel realizar tal configurao.

Fase 1 Pr-configurao
quando ocorre toda a preparao do ambiente a ser instalado o PABX. Aqui se estabelece toda a configurao de som, rede, placas TDM e do computador em si, tanto fisicamente como a preparao do sistema operacional [14]. Para o caso da necessidade de outros hardwares, as configuraes destes equipamentos tambm se enquadram nesta fase. No caso estudado, havia um banco de canais que ficou com a configurao padro.

Som
A configurao do som necessria para que se possa utilizar a facilidade de Music on Hold ou Msica em espera. Depende muito da plataforma em que o asterisk est instalado. Por vezes, to simples que o rc.hotplug7 consegue configurar a placa de som automaticamente. Outras vezes pode ser to complicado que seria capaz de fazer um administrador menos experiente desistir e modificar a plataforma. Para placas mais comuns, normalmente no se encontra grande problema. Um cuidado importante evitar placas que, de to novas, ainda no possuem um driver disponvel para Linux. Outro ponto que se deve prestar ateno a verso do programa utilizado para tocar as msicas. No projeto em questo, foi utilizado o mpg123 [15]. Em algumas verses mais novas do Slackware8, este programa um link para sua verso mais nova, o mpg321, que no funciona com o Asterisk. Portanto, deve-se ficar atento s verses e distribuies encontradas em sua plataforma.

/etc/rc.d/rc.hotplug um dos arquivos de inicializao do slackware. Sua funo semelhante a do plug and play do Windows, mas pode causar alguma instabilidade no sistema. 8 Slackware <http://www.slackware.org> uma distribuio Linux. Ela foi escolhida para a instalao do PABX simplesmente por conta da familiaridade do programador com ela. 13

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Para resolver este problema, foi preciso fazer um downgrade do aplicativo em questo e apagar o link simblico.

Rede
Logicamente, as funes bsicas de rede como roteamento, endereo IP, etc devem estar disponveis. Afinal, este um PABX IP! Adicionalmente, recomendvel a configurao de firewall para que a segurana do servidor no fique comprometida. Tambm interessante a aplicao de QoS para a rede. Apesar de opcionais, estes dois itens so muito importantes para manter o sistema e a rede saudveis. Para este projeto, foi utilizado como firewall, o iptables, do Linux, abrindo-se apenas as portas necessrias para comunicao de determinadas mquinas. Todas as outras formas de comunicao foram vedadas, mesmo para mquinas conhecidas. Mquinas que no so conhecidas, ou seja, no tm seu endereo IP cadastrado so impedidas de se comunicar com o PABX. preciso ter grande ateno com a questo da segurana. O prprio software para tocar as msicas em espera est vulnervel e com srios problemas de segurana [15]. Alm disso, pode-se marcar os pacotes de voz para prioriz-los nos roteadores da rede. Esta opo no foi adotada no projeto. Outra medida com relao aplicao de regas de QoS [16] na rede priorizar determinado tipo de trfego utilizando o pacote iproute2 atravs do comando tc. O propsito priorizar o trfego de voz, alocando banda para ele e, caso esta banda no estivesse em uso, os recursos alocados poderiam ser utilizados para dados. Este objetivo facilmente alcanado utilizando a disciplina de controle de fluxo HTB (Hierarchical Token Bucket). A utilizao da disciplina SFQ (Stochastic Fair Queue) tambm recomendada para a distribuio uniforme e justa do trfego que passa por determinado canal. Infelizmente, a aplicao das regras de QoS ainda no foi implementada neste projeto e o trfego de voz na rede ainda compete com o trfego de dados sem nenhuma prioridade.
14

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Fase 2 Instalao
Compreende a instalao propriamente dita. Esta etapa tambm pode ser subdivida em: A) aquisio dos programas e drivers necessrios; B) instalao e configurao dos drivers e outros pr-requisitos e; C) instalao do software Asterisk. A instalao 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 configurao, esta tambm a fase mais crtica 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 implementao do projeto. O primeiro quando tentamos instalar o PABX em uma placa me que, apesar de ser muito boa para a maioria das aplicaes, no funcionou corretamente com o Asterisk. E o segundo, quando da instalao do tronco Matriz-Filial, onde se pretendia utilizar o gateway da Planet VIP-400 na filial. As duas experincias esto detalhadas do captulo que trata de problemas e dificuldades encontrados no projeto, o captulo 5. Entretanto, a instalao do software na sua verso estvel, no complicada podendo at ser enumerada em poucos passos: A) Baixar cdigo fonte do site; B) Descompactar C) Instalar utilizando make, make install e make samples Para a instalao via CVS, tambm no h grandes dificuldades nesta etapa. Basta digitar esta seqncia de comandos na linha de comando do Linux:

15

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

cd /usr/src export CVSROOT=:pserver:anoncvs@cvs.digium.com:/cvs/cvsroot cvs login password is anoncvs Tambm ser preciso efetuar a instalao 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 mdulo do kernel do Linux que ir prover o Asterisk com um timer Zaptel mesmo se no houver nenhum placa Digium instalada no sistema. Ele resgata a temporizao do mdulo usb-uhci, que dever ser carregado antes do ztdummy. ser necessrio o pacote zaptel para que algumas aplicaes sejam includas em tempo de compilao como o Meetme(). Para utilizar interfaces E1 / T1, deve-se instalar o pacote libpri. Para compilar o Asterisk, o pacote Bison tambm deve estar instalado. Para aplicativos como o Astmam9 ser necessrio possuir os pacotes ncurses e ncurses-development. Por conta da nova funcionalidade DUNDi [17] (Distributed Universal Number Discovery), agora tambm so necessrias as bibliotecas zlib e zlib-devel. claro que tambm sero necessrios os drivers das placas TDM, se forem utilizadas. A instalao das interfaces grficas de gerenciamento e monitoramento do Asterisk tambm est contida nesta fase. Devem ser instaladas cada uma de acordo com suas prprias orientaes. A instalao pode ser to simples quanto descompactar um arquivo .PHP no seu servidor WWW ou to complicada que faz pensar em trocar o software. Portanto, cada instalao de software dever seguir a orientao de seu distribuidor independente de sua finalidade.

Astman um gerenciador em modo texto que j vem com o Asterisk. 16

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Fase 3 Configurao
Depois que toda a infra-estrutura necessria foi preparada, hora de dar forma ao PABX. Nesta fase, so adicionados os ramais IP e convencionais, as caixas postais de voz so 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. Alm disso, durante a configurao, acaba-se percebendo que algumas decises no estavam de acordo com o perfil de determinado grupo de usurios ou simplesmente no era possvel de se implementar, seja por limitao da soluo ou por falta de experincia do programador10. Constantemente, o projeto sofre mudanas e at hoje ainda se faz algumas poucas modificaes de maneira a adaptar as funes que se deseja ter implementadas. Para ajudar na tarefa de configurao, muitas pginas na internet esto disponveis. aconselhvel iniciar a leitura pelo site VoIP-info.org. Vrias referncias de grande valia para esta tarefa se encontram na seo Outras referncias, no captulo 6. A configurao do Asterisk , de certa forma, muito simples, pois seus arquivos de configurao so desenhados para utilizar uma linguagem bem intuitiva. Por exemplo, para especificar que o telefone IP de nome 'host_tel_1' est atrs de NAT, e pega IP dinmico por DHCP, as linhas correspondentes do arquivo 'sip.conf' ficam assim: [host_tel_1] ... nat=yes host=dynamic

10

Neste trabalho, deve-se entender o programador como o profissional que realiza a configurao do PABX e suas facilidades. 17

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Todos os outros arquivos de configurao seguem a mesma idia. Texto plano com argumentos fceis de identificar e programar. A maior dificuldade conhecer todas as opes de configurao possveis. A prpria instalao do Asterisk oferece arquivos de configurao de exemplo, mas eles no apresentam todas as opes existentes. Se forem instalados, eles ficaro no diretrio padro (/etc/asterisk) com os nomes xxx.conf. Estes arquivos, alm dos exemplos de configurao, ainda contam com a valiosa ajuda de comentrios que explicam a maioria das opes possveis.

Sintaxe
A sintaxe dos arquivos segue um padro simples ; Um comentrio [contexto1] objeto1 => valor1 objeto2 = valor2 ; Outro comentrio

Uma vez que o valor para um determinado objeto tenha sido declarado, ele carrega esta informao at o final do arquivo. Para modificar seu valor basta declar-lo novamente. ---------------objeto2 = novo_valor2 ----------------

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

18

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Os sinais = e => tm o mesmo valor prtico, sendo utilizados em momentos diferentes apenas para uma visualizao mais amigvel, de acordo com o que o programador desejar. Pode-se, por exemplo, utilizar = para atribuir um valor a uma varivel e => para declarar um objeto. Neste trabalho, os arquivos de configurao do Asterisk foram divididos em quatro categorias: Configurao geral - administrao, mdulos, bilhetagem, banco de dados, canais zap; Configurao de clientes/protocolos - iax, sip, h323, mgcp, skinny; Configurao de facilidades - voicemail, filas, agentes, msica em espera; Configurao de encaminhamentos - extenes, rotas, daytime/nighttime, URA.

Configurao geral
asterisk.conf
Neste arquivo so informados os caminhos dos diretrios que o Asterisk utiliza. Raramente ele precisar ser modificado.

admin.conf
Este arquivo trata das configuraes para administrao do Asterisk. So definidos usurios, niveis de acesso, senhas, forma de autenticao e etc.

modules.conf
Aqui se deve carregar ou impedir o carregamento dos mdulos que o Asterisk dever ou no utilizar. Recomenda-se no carregar nenhum mdulo que no seja utilizado pelo sistema. O
19

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

principal prejuzo por carregar mdulos que no sero utilizados o consumo desnecessrio de recursos computacionais. Neste projeto, no foi utilizado o protocolo MGCP ou SKINNY, portanto estes mdulos foram desabilitados. O mdulo do protocolo H.323 estava apresentando problemas e tambm foi desabilitado.

postgresql.conf / mysql.conf
Nestes arquivos, so configuradas opes especficas a cada sistema de banco de dados que o administrador escolheu utilizar. Aqui so configurados parmetros como endereo do servidor, nome do usurio e senhas.

zapata.conf
Este um dos arquivos mais importantes para o Asterisk. Nele so feitas as configuraes de todos os canais ZAP, que so os canais TDM. Tudo deve estar de acordo com a configurao feita no zaptel.conf (explicado abaixo). Aqui so definidas as propriedades de determinado canal ou grupo de canais. Funes como bilhetagem, cancelamento de eco, chamada em espera, conferncia, nmero chamador, entre muitas outras so habilitadas ou desabilitadas neste arquivo. Uma das opes configurveis mais importantes no zapata.conf o contexto que os canais devem estar. Os contextos sero estudados mais adiante, mas pode-se adiantar que eles definem os ramais ou telefones para onde se pode fazer ligaes. 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 tcnico, no podem realizar ligaes internacionais ou para celulares de qualquer operadora.

20

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

zaptel.conf
Na verdade, este arquivo define os parmetros das placas TDM da Digium e clones. Ele no configura o Asterisk, propriamente dito. Ele deve ser editado antes do Asterisk ser iniciado. Os canais TDM e suas caractersticas no precisam do Asterisk rodando para que sejam configurados. A configurao efetivada rodando o programa ztcfg. Este arquivo, diferentemente dos outros citados neste captulo, est localizado em /etc/zaptel.conf. A sintaxe deste arquivo tambm ligeiramente diferente. Aqui, comentrio feito com o caractere #.

Configurao de clientes e protocolos


mgcp.conf e skinny.conf
Como no foi utilizado nada com relao a estes protocolos estes arquivos simplesmente foram deixados em sua forma original e seus mdulos foram impedidos de carregar no modules.conf, visto anteriormente. Como o prprio nome sugere, o mgcp.conf estabelece os parmetros 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 parmetros para o driver do protocolo SCCP, o Skinny Call Control Protocol [19], para telefones IP da Cisco.

21

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

h323.conf
A princpio, foi feita alguma modificao neste arquivo para que se pudesse utilizar o Asterisk tambm como gateway H.323 e faz-lo se comunicar com o gateway da Planet na filial. Entretanto, no se obteve sucesso e ele foi deixado no diretrio mas no est sendo utilizado. Seu mdulo tambm foi impedido de carregar no arquivo modules.conf. Mais detalhes sobre o problema ocorrido com o protocolo H.323 est neste trabalho, no Captulo 5.

sip.conf
Todos os user agents11 da empresa so telefones IP que utilizam o protocolo SIP. Portanto este arquivo foi bastante modificado. Os clientes SIP foram adicionados e configurados neste arquivo. Alguns parmetros eram particulares para cada telefone SIP, pois existiam clientes ligados diretamente na rede local enquanto outros estavam fora da empresa e estavam conectados atravs de links ADSL e outros ainda passavam por enlaces rdio.

iax.conf
Este arquivo foi utilizado apenas para implementar o tronco entre matriz e filial, pois no estava sendo utilizado nenhum user agent com tecnologia IAX. Em cada ponto, foram criados um usurio e uma senha com caractersticas especficas 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. 22

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Configurao de facilidades
voicemail.conf
Configura as caixas postais de voz. Aqui possvel definir, entre outras coisas, se as mensagens devem ser enviadas por email, como um anexo, e em que formato. Para o projeto em questo, 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 aplicao muito til para call-centers. Existe a possibilidade se definir vrias filas de entrada, cada uma com suas caractersticas distintas. possvel definir para cada fila o grupo da msica em espera, se haver alguma mensagem institucional sendo apresentada de tempos em tempos e, se houver, define qual o intervalo de tempo. Tambm 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 configuraes simples, e todas com a mesma categoria de msica 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. No 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 usurio com login e, opcionalmente, uma senha. Quando o atendente chega para trabalhar, ele digita seu cdigo em qualquer posio de atendimento (a ser definido pelo plano de numerao) e a partir deste momento ele est habilitado a receber chamadas das filas a que foi designado.
23

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

As polticas e estratgias para chamamento destes agentes tambm so definidas neste arquivo.

musiconhold.conf
Simplesmente, define os perfis de msica e os locais em que se encontram que podem ser colocadas a disposio dos clientes.

Configurao de encaminhamentos
extensions.conf
Este sem dvida o arquivo mais longo da configurao do Asterisk e requer muita ateno ao edit-lo. Extenses, 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 posio do include. Cada extenso, ramal, rota, seo da URA escrita da seguinte maneira: exten => 1234,P,Aplicao(parmetro) onde, 1234 o ramal ou rota ou nmero a ser digitado na URA. Tem o nome de extenso. Pode conter tantos dgitos quantos forem necessrios. Tambm podem conter wildcards e/ou expresses regulares modificadas. P a prioridade. Define a ordem de execuo das aplicaes. Devem estar em ordem crescente e ser consecutiva. Pode-se colocar um n (de Next) aps a prioridade 1.

24

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Aplicao o nome da aplicao. Define a ao a ser executada. Parmetro , como esperado, um parmetro que depende de cada aplicao.

Rede Celular
Na inteno de aumentar a eficincia da comunicao entre os funcionrios, 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. Alm disso, 3 nmeros fazem ligaes para todos os outros celulares da empresa sem nenhum custo. Os 3 nmeros tarifa zero ficam no centro de operaes enquanto os outros ficam em trnsito, com tcnicos de campo. Quando algum tcnico deseja falar com o centro de operaes, ele liga para um dos nmeros tarifa zero. A pessoa que atenderia a ligao desliga o telefone e liga de volta imediatamente. Um callback manual. Este cenrio requer que o Asterisk resolva trs problemas: 1) o tronco celular; 2) a implementao do callback e; 3) o roteamento dessas chamadas pelo tronco celular.

Tronco Celular
O tronco celular era o menor problema e a soluo no 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.
25

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Fig. 3.3 Tronco celular

Callback
Antes de qualquer coisa, preciso ressaltar que a soluo de callback, apesar de estar sendo utilizada para a parte da rede celular, poderia ter sido implementada utilizando qualquer tronco de sada, incluindo o troco RDSI ou por uma linha telefnica convencional utilizando uma placa FXO clone. Ela no est atrelada apenas ao troco celular. O callback poderia ter sido implementado diretamente no extensions.conf, sem nenhuma interao com servidores fora do Asterisk. Entretanto, foi previsto que a quantidade de telefones celulares em trnsito poderia aumentar. Ento ficou decidido que seria utilizado um script que se utilizava da facilidade AGI, que pesquisava uma base de dados para certificar que o nmero 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 no chega a ser uma linguagem propriamente dita, mas um script de linha de comando sem interao com banco de dados, apenas utilizando um comando de bifurcao case. O Asterisk recebe a chamada em um nmero pr-determinado que seja capaz de reconhecer o nmero chamador. No possvel implementar o callback utilizando apenas a prpria interface celular pois ela no permite que o nmero chamador seja repassado ao Asterisk. O CallerID passado como parmetro para o script pelo AGI. O script apenas verifica se o nmero est cadastrado e, se estiver, faz a ligao de volta colocando o chamador em um contexto onde ele ouvir uma mensagem de URA solicitando que o tcnico escolha com que departamento ele deseja
26

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

falar. Assim que ele escolhe a opo desejada, a chamada vai para a fila de espera correspondente at que algum a atenda. A criao da chamada feita simplesmente escrevendo um arquivo com as informaes pertinentes devidamente formatadas no diretrio de spool, de acordo com as instrues indicadas [20] no site VoIP-info.org. Na prtica, o arquivo tem este formato: Channel: Zap/g2/12345678 MaxRetries: 2 RetryTime: 60 WaitTime: 30 # Context: extensions Extension: 84 Priority: 1 Este arquivo faz uma chamada para o nmero 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 diretrio /var/spool/asterisk/outgoing, ele tenta processa-lo como uma chamada, de acordo com o padro descrito acima.

Roteamento
O Asterisk cria a ligao para os celulares da empresa atravs do contexto ABCOM_empresa. Este contexto tambm efetua as chamadas realizadas dos ramais internos, e no apenas serve ao callback. Sendo assim, no necessria nenhuma configurao especial para realizar o encaminhamento de chamadas pelo tronco celular. Basta seguir os passos para configurao do arquivo extensions.conf normalmente. Chamadas que chegam pelo tronco celular so imediatamente terminadas com a aplicao Hangup().
27

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Outras consideraes
A gravao 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 configurao do PABX. Infelizmente, no projeto em questo, as mensagens no foram gravadas antecipadamente. Isto acabou levando a uma situao onde foi necessrio fazer as gravaes de maneira precria, sem que um profissional de comunicao fosse contratado e sem o menor cuidado com a sonorizao do ambiente, pois era preciso cumprir um prazo de entrega. Por um lado, tecnicamente, no houve prejuzo para a empresa, muito embora esta situao esteja longe de ser comercialmente ideal.

28

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

4. Algumas Caractersticas e Informaes Importantes


O ambiente de rede
O ambiente em que este projeto foi desenvolvido no sofreu nenhuma alterao especial para a utilizao como rede telefnica. Esta rede tem seu trfego de voz e de dados disputando os mesmo recursos de processamento e de banda. Esta situao no recomendvel em hiptese alguma, mas infelizmente est implementada desta forma. Idealmente, deveria se ter uma rede separada apenas para voz. Entretanto, isto no desejvel, ou mesmo, economicamente interessante. O mais indicado aplicar regras de QoS sempre que for possvel, alocando banda e priorizando pacotes em todos os pontos que se tem controle. Como j foi dito neste documento, a aplicao de QoS relativamente fcil de ser implementada com a utilizao das disciplinas HTB e SFQ juntamente com a utilizao do iptables para priorizao de pacotes. Outro aspecto muito importante diz respeito utilizao de um firewall, principalmente se o PBX tiver contato com a Internet. Todas as portas que no oferecem os servios de voz, gerenciamento e outros conhecidos e habilitados na mquina devem estar fechadas e apenas mquinas conhecidas devero 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 msica em espera.

Sobre o IAX
O IAX [13] (InterAsterisk eXchange) o protocolo de Voz sobre IP proprietrio do Asterisk, desenvolvido pela Digium. Ele utiliza uma nica porta, 4569 UDP, tanto para controle

29

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

quanto para conversao e por causa disso trabalha com NAT sem problemas. Ao contrrio do SIP, sempre haver udio se sua conexo foi estabelecida. Quando est operando em modo tronco, o IAX permite que vrias conexes compartilhem o mesmo canal, reduzindo consideravelmente o overhead criado pelos pacotes IP. IAX mais eficiente do que RTP para qualquer nmero de chamadas, com qualquer CODEC [21]. Os benefcios variam vo 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 nvel de MAC, quando no modo tronco. Para maiores informaes, consulte a seo Outras referncias no captulo 5 deste documento.

CODECs
CODECs so utilizados para converter um sinal analgico de voz em verses digitalmente codificadas. Eles podem variar na qualidade do som, largura de banda, requerimentos computacionais, etc. O acrnimo formado as inicias de duas palavras, COde/DECode ou, em portugus, Codificar/Decodificar. Cada aparelho (telefone, gateway, ATA, etc.) pode utilizar um ou mais CODECs. Nem sempre, as duas pontas da conversao falam o mesmo CODEC. Neste caso, o Asterisk pode atuar como um gateway de protocolos de compresso de voz, fazendo a traduo de um protocolo para o outro, nos dois sentidos da conversao. A tabela a seguir, baseada principalmente em dois documentos encontrados na Internet [22][23], mostra algumas caractersticas relevantes dos algoritmos mais comuns:

30

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Algoritmo G.711 G.723.1 G.726 G.728 G.729(A) RFC 3951 GSM PCM ACELP MP-MLQ ADPCM LD-CELP CS-ACELP ILBC RPE-LTP

Banda 64kbps 5.6kbps 6.4kbps 32kbps 16kbps 8kbps 15,2kbps 13kbps

Banda IP 80kbps 16.27kbps 17.07kbps 48kbps 32kbps 24kbps 27.7kbps

Precisa de licensa No Sim Sim Sim Sim Sim No No

Tabela 4.1 Principais CODECs

Alguns CODECS so gratuitos e podem ser utilizados sem maiores preocupaes. Outros, tm os direitos autorais de seus cdigos ou algoritmos protegidos, e para utiliza-los necessrio o pagamento de suas licenas. No Asterisk, podemos verificar que CODECs esto instalados e assim verificar se o sistema est apto a realizar a traduo de um para outro digitando o comando show translations na interface CLI (Console Line Interface).

Preo
A questo do preo algo que causa alguma confuso com muitas pessoas. Pelo fato do Asterisk ser um software de cdigo aberto e poder ser baixado da internet de graa, rodar sobre um sistema operacional tambm gratuito, e ter todas as funcionalidades e sistemas auxiliares baseados tambm em software livre, as pessoas acham que toda soluo envolvendo o Asterisk tambm deveria ser de graa, ou quase de graa. Entretanto, investe-se muito tempo e dinheiro estudando as tecnologias envolvidas no projeto, testando e implementando solues para que no final, o cliente consiga uma economia, algumas vezes, de mais de 50% da conta telefnica.

31

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Alm disso, preciso considerar o preo do hardware TDM. As portas FXS, FXO, T1 e E1 no so baratas. Outros hardwares auxiliares como banco de canais, so muito caros, no importa o fabricante. Determinados projetos ainda podem utilizar ATAs ou gateways de voz sobre IP mais simples, que tambm encarece a soluo. Outra coisa que aumenta assustadoramente o preo das peas o fato de que elas precisam ser importadas. Em alguns casos, as placas E1 cotadas pela empresa XPTO chegaram a encarecer quase 100% em relao ao preo nos Estados Unidos. Este absurdo, apenas a ttulo ilustrativo, pois ningum compraria deste fornecedor serve para mostrar como a importao realmente encarece o preo das placas. Neste projeto especificamente, alm da mquina 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, mdulo de energia e de controle cada um, dois gateways para telefonia celular. Sem contar com a mo de obra, tempo para estudo e desenvolvimento da soluo final e a conta com a operadora de voz local. claro que uma soluo mais modesta pode realmente no 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 empresrio, um ramal convencional no escritrio 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 mquina seria muito mais barata do que a utilizada no projeto da XPTO. E para os dois ramais analgicos, um ATA com 2 FXS que tambm 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 analgicos e possibilidade para quantos ramais IP desejar que permitem fazer ligaes de qualquer lugar do mundo como se estivesse em seu escritrio no teria custado nem um dcimo do PABX da XPTO. Se for observado apenas o total gasto para implementar a soluo, parece que foi muito caro, mas quando se leva em considerao tudo o que o PABX pode fazer, desde servir de gateway para
32

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

os diversos CODECs e protocolos at a integrao com o banco de dados interno e o produto de CRM que se formou no final, conclui-se foi um timo investimento. A relao custo-benefcio quando o Asterisk utilizado como soluo de comunicao sempre favorvel.

33

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

5. Dificuldades Encontradas
A maior dificuldade foi, com toda certeza, escrever a documentao. Como acontece nas tarefas na maioria das empresas de pequeno e mdio porte, esta implementao no foi devidamente documentada. A maior parte do texto tcnico est escrito em forma de comentrio nos arquivos de configurao e scripts. Infelizmente, pode-se dizer que este texto que no tcnico a documentao mais elaborada com relao ao projeto em questo. Dentre as dificuldades tcnicas, pode-se citar algumas, que seguem na forma de sees deste captulo.

Gateway H.323
A princpio, a inteno 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. Atravs de um ramal IP instalado em um PC conseguiu-se estabelecer uma ligao com um ramal convencional ligado porta FXS do Planet atravs do Asterisk.

Fig. 5.1 Ambiente de teste H.323

34

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Infelizmente, aps a chegada da placa TE405p e da instalao da PRI, quando foi dado incio instalao definitiva, a comunicao entre Asterisk e Planet no aconteceu mais. Foram feitas vrias tentativas de compilao e configurao, inclusive com um downgrade do Asterisk, mas nenhuma delas foi bem sucedida. A soluo encontrada foi implementar a comunicao 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 possvel 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 aquisio das placas FXS.

Fig. 5.2 Soluo final do problema H.323

Esta seria uma soluo temporria e esforos seriam concentrados para estudar e resolver o problema. Entretanto, como acontece na maioria dos casos, outros projetos com maior prioridade e urgncia foram surgindo e este estudo acabou ficando em segundo plano. At hoje a soluo paliativa continua funcionando.
35

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Placa-Me
Placas-Me com chipset que no seja Intel podem se tornar uma grande dor-de-cabea. A primeira instalao foi feita utilizando uma placa-me ASUS [24], mas com chipset da empresa Via Technologies. Com esta configurao, alm do problema de compartilhamento de interrupo, os erros HDLC-Abort e HDLC-FCS Error ocorriam com uma freqncia acima do normal, chegando a cerca de cinco vezes por segundo. Este problema foi corrigido quando, numa atitude quase desesperada, a placa-mo foi trocada por outra ASUS, mas agora com chipset Intel.

Sincronismo
Aps a troca da placa, um erro no mnimo 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 relgio da central da operadora, aparecia uma diferena de 443 bps. A medio foi feita com um aparelho analisador de trfego (lite2000) da operadora. Perdeu-se muito tempo discutindo e investigando a causa do ocorrido, quando se resolveu revisar a mquina onde estava instalado o Asterisk. Detectou-se uma situao no mnimo inesperada. Em cada slot que se colocava a placa TE405p havia um comportamento diferenciado do sistema, com relao a interrupes. A concluso chegada aps anlise da mquina foi que alm de um mau-contato no slot em que a placa E1/T1 estava instalada, a posio de slot na placa me tambm influenciou esta instalao do PABX. A maquina foi totalmente desmontada, inclusive tendo sua placa-me 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
36

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

adicionada na mquina, realizavam-se testes para detectar alguma falha, mas apenas a placa da Digium sofria efeitos da posio na placa-me. Isto pode ter acontecido devido ao sistema de filtragem da alimentao desta placa estar mal dimensionado, o que faria sofrer interferncias via alimentao, ou por falta de blindagem adequada no circuito de recuperao de clock (PLL).

Documentao do software
A documentao do site do Asterisk simplesmente sofrvel e est longe de ser suficiente para o entendimento e a implementao de um sistema de telefonia computacional. Desde o incio, durante as primeiras pesquisas, at hoje, a grande dificuldade a falta de documentao. tudo muito incompleto ou simplesmente no documentado. Boa parte de documentos antigos ainda utilizada como referncia, 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 sada contar com sites especializados em VoIP e/ou Asterisk que renem uma boa quantidade de documentos sobre o Asterisk. Como exemplo, pode-se citar trs 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 discusso [10] [11], apesar de recorrentes, sempre so muito teis. A lista do site nacional citado acima muito boa e a lista oficial da Digium tambm, mas excessivamente movimentada.

Outras referncias
Alm das referncias citadas no decorrer do texto, pode-se acrescentar estas que, apesar de no terem sido utilizadas diretamente para a confeco deste documento, foram muito teis durante o projeto.

37

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

Introduo ao Asterisk http://www.voip-info.org/tiki-index.php?page=Asterisk+introduction Dicas de Instalao 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 configurao 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.s html

38

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

6. Concluso
Aps todo o processo de pesquisa, instalao, documentao e implementao do Asterisk pode-se concluir que a tecnologia de voz sobre IP veio para ficar. Ela pode at no substituir a telefonia convencional e seus circuitos dedicados, mas com certeza elas vo coexistir por muito tempo. Os documentos encontrados durante as pesquisas apontam para uma valorizao da telefonia computacional como a alternativa ao sistema convencional de comunicao, pois com ela possvel realizar a integrao de voz, dados e imagem num mesmo servidor por um preo elativamente baixo. Apesar de no ter sido implementado neste projeto alvo do estudo de caso, o Asterisk um software capaz de suportar e compor o cenrio para o Triple Play (som + dados + imagem). Alm disso, a utilizao da telefonia computacional aumenta a relao custo-benefcio em praticamente todos os casos em relao aos equipamentos da telefonia convencional, pois possui vrios recursos que na telefonia convencional so muito onerosos. Em relao ao ambiente de rede pode-se notar que, ao contrrio do que se imaginava h algum tempo atrs, a Internet hoje est sendo utilizada como backbone para as conexes de voz. No h condies de se garantir a qualidade da ligao, 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 opo que est sendo amplamente utilizada. Quanto ao software e sua implementao, pode-se dizer que no fcil adquirir o conhecimento necessrio para uma boa implementao do Asterisk. Hoje, algumas empresas j vendem distribuies voltadas para soluo de PBX. O pblico, normalmente no conhece teoria de telefonia e mal conhece teoria de redes. O resultado uma soluo aqum do potencial do software, que muitas vezes no atende a todas as necessidades e muito propcia a ocorrncia de erros.
39

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

recomendvel que solues para voz sobre IP e integrao das redes telefnica e de dados, mesmo com a aparente facilidade do Asterisk, sejam implementadas por profissionais com conhecimento suficiente das reas afins. Enfim, quanto da soluo 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 requisies foram atendidas. verdade que ainda faltam corrigir algumas pendncias como gravao profissional das mensagens de voz do atendimento automtico e a correta implementao do gateway H.323, que hoje funciona com uma soluo paliativa, mas todas as funes requeridas esto em funcionamento. A representao completa da rede de voz da empresa XPTO em funcionamento hoje se encontra na figura abaixo.

Fig. 6.1 Rede completa em funcionamento

40

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

7. Referncias
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Eduardo Mendes Tavares, Luiz Schara (Orientador) Implantao de um PBX VoIP Multifuncional Dezembro de 2004 Asterisk.org Home http://www.asterisk.org Asterisk.org Features http://www.asterisk.org/index.php?menu=features Digium Home http://www.digium.com GNU General Public License http://www.gnu.org/copyleft/gpl.html Asterisk Business Edition http://www.digium.com/index.php?menu=product_detail&category=software&product=ABE The Asterisk Handbook Version 2 (Draft) http://www.digium.com/handbook-draft.pdf VoIP-info.org http://www.voip-info.org AsteriskBrasil.org http://www.asteriskbrasil.org Lista de Discusso - Asterisk Users http://lists.digium.com/mailman/listinfo/asterisk-users Lista de Discusso - AsteriskBrasil http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil_listas.asteriskbrasil.org RFC-3261 Session Initiation Protocol ftp://ftp.rfc-editor.org/in-notes/rfc3261.txt IAX Inter Asterisk eXchange Specification http://www.cornfed.com/iax.pdf The Asterisk Documentation Project Volume One: An Introduction to Asterisk http://www.asteriskdocs.org/modules/tinycontent/content/docbook/current_v1/docshtml/book1.html MPG123 Home Page http://www.mpg123.de/ Linux Advanced Routing and Traffic Control HOWTO http://lartc.org/howto/
41

[15] [16]

UNIVERSIDADE FEDERAL FLUMINENSE ENGENHARIA DE TELECOMUNICAES

ASTERISK: MUITO MAIS QUE UM PBX IP UM ESTUDO DE CASO

[17] [18] [19]

Distributed Universal Number Discovery Home Page http://www.dundi.com/ RFC-2705 - Media Gateway Control Protocol ftp://ftp.rfc-editor.org/in-notes/rfc2705.txt SCCP Skinny Call Control Protocol Introduction http://www.cisco.com/en/US/tech/tk652/tk701/tk589/tsd_technology_support_subprotocol_home.html Asterisk Callback http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out IAX vs. SIP, by Mark Spencer http://www.voip-info.org/tiki-index.php?page=IAX+versus+SIP Bandwidth Consumption http://www.voip-info.org/tiki-index.php?page=Bandwidth%20consumption CODECs, do site VoIP-info.org http://www.voip-info.org/tiki-index.php?page=codecs ASUS Home Site http://www.asus.com Asterisk User Documentation Project http://www.asteriskdocs.org/

[20] [21] [22] [23] [24] [25]

42

Vous aimerez peut-être aussi