SlideShare uma empresa Scribd logo
TelSL1 – Solução de telefonia sobre redes de dados para pequenas 
corporações utilizando softwares livres
  Celso Henrique Ribeiro, Rafael Antonio Souza Spotto, Mauro Tapajós Santos

                 Curso de Bacharelado em Ciência da Computação
           Universidade Católica de Brasília (UCB) – Brasília, DF – Brasil
  celsohr@gmail.com, rafaelspotto@uol.com.br, maurotapajos@gmail.com


    Abstract: Nowadays functions offered by PSTN and Internet protocols
    development moves IT sector for building new VoIP applictions. Plain
    computer systems can make available functions commonly found on expensive
    public or private telephone switches or PABX. Now this article shows that is
    possible to build full PABX services upon a local IP network for users. In
    order to do this, Asterisk, a free software system developed in Linux which
    supports analog and digital technology, can be used to deal with VoIP
    protocols and calls routing between PSTN and data network. Here, Asterisk
    will be used as a PABX solution over local IP data network together with
    softphones running on workstations.
    Resumo: As atuais funcionalidades oferecidas pelo sistema telefônico e o
    desenvolvimento de protocolos Internet, estimulam o setor de TI a criar
    aplicações VoIP. Sistemas computacionais podem implementar diversas
    funcionalidades normalmente encontradas em centrais telefônicas privadas,
    que são caras e proprietárias. Pode-se disponibilizar sobre uma rede IP e com
    softwares livres, várias das funcionalidades encontradas no serviço de
    telefonia convencional. O Asterisk, um sistema em software livre desenvolvido
    em Linux e que integra tecnologia analógica e digital, pode fazer o controle
    completo do roteamento de chamadas e serviços suplementares usando os
    protocolos padrões VoIP. Aqui ele será usado como solução de PABX em rede
    local, juntamente com, softphones de distribuição livre rodando sobre estações
    de usuários.

1. Introdução
O sistema telefônico atual dispõe de diversas funcionalidades que facilitam a
comunicação entre usuários e é marcado por enormes investimentos para implantação e
manutenção. Na maior parte dos casos, são necessários altos investimentos, para fazer
uso dessas vantagens, considerando a necessidade de aquisição e operação de centrais
telefônicas que oferecem essas funcionalidades.
        Voz sobre IP-VoIP é uma tecnologia que cria a possibilidade de integrar
aplicações de voz e dados numa mesma rede, facilitando a manipulação das
informações, aumentando ainda mais a interatividade entre usuários do mundo inteiro, e
reduzindo custos de gerenciamento e operação, quando comparado a ligações
telefônicas interurbanas convencionais usando a PSTN.
        O Asterisk é um exemplo de sistema de telefonia digital via software, de
plataforma livre, e que pela abrangência de recursos, pode ser uma alternativa.
Considerado um software maduro e estável, possui recursos suficientes que permitem
substituir o PABX existente ou complementá-lo com tecnologia VoIP. É um sistema
que permite criar soluções de telefonia com vários ramais internos e funcionalidades
avançadas, como caixa de mensagens, transferência de chamadas e resposta interativa
de voz.
       Possibilita ainda, interligar servidores Asterisk em uma rede IP, permitindo
ligações de longa distância sem usar a rede de telefonia pública. Além disso, este
sistema pode se conectar a rede pública por meio de um hardware específico.
        Como objetivo do trabalho, foi proposta e implementada uma solução para
implantação da tecnologia de Voz sobre IP numa rede Ethernet local de pequeno porte,
utilizando o Asterisk, sem interligação com a rede pública de telefonia, explorando as
diversas funcionalidades disponíveis em sua arquitetura.

2. Telefonia
A estrutura do sistema de telecomunicações evoluiu muito ao longo do tempo, passando
de uma tecnologia puramente analógica para uma crescente utilização de sistemas
digitais.
        A voz, que é de natureza analógica, precisa ser convertida em sinal digital para
utilização em redes digitais, como redes TCP/IP por exemplo, e na recepção, o sinal
precisa voltar a sua forma analógica. Para tanto, são utilizados os CODEC’s
(Codificador/Decodificador).

2.1. Canais FXS e FXO
       Para promover a comunicação de um sinal de voz em codificação analógica,
proveniente de um telefone convencional conectado a uma rede de dados, com a rede
PSTN, é necessário utilizar uma interface física.
       Normalmente, essa interface é um hardware, por exemplo a placa Zaptel X100P,
que apresenta porta(s) para telefones analógicos internos e porta(s) para a rede PSTN,
respectivamente FXS e FXO.
      FXO – Foreign Exchange Office: é a porta utilizada para possibilitar a
comunicação com um PABX ou com uma central telefônica da rede PSTN.
      FXS – Foreign Exchange Station: é a porta utilizada para possibilitar a
comunicação com um telefone analógico.

2.2. Centrais Privadas de Comutação Telefônica (PABX)
        Centrais Privadas de Comutação Telefônica – CPCT, são centrais que podem ser
utilizadas por qualquer entidade onde o tráfego telefônico interno se caracteriza por
volumes consideráveis e o custo de usar uma grande quantidade de linhas externas se
torna indesejável.
       Estas centrais são conhecidas também por PBX (Private Branch Exchange), de
operação manual e PABX (Private Automatic Branch Exchange), de operação
automática, que podem estar interligadas ou não a uma central de comutação da Rede
Pública de Telefonia – PSTN [2].
       O PABX se liga a PSTN por um determinado número de linhas ou troncos,
dispondo de linhas internas (ramais) em quantidade superior ao número de troncos. A
grande vantagem do PABX é o seu menor custo de operação quando comparado com a
utilização direta da rede pública, por não haver tarifação das chamadas internas e por
demandar menor número de linhas/troncos que o número total de terminais atendidos
[2].
       O PABX pode utilizar tanto a comutação analógica como a digital, e desta forma
tratar adequadamente chamadas de terminais e canais analógicos ou digitais,
codificando o sinal de acordo com o desejado e encaminhando para o caminho
especificado. Atualmente, programação computacional é utilizada nestas centrais, com o
objetivo de controlar chamadas e integrar novos serviços e funcionalidades.
        O custo de aquisição de um PABX privado ainda é alto, apesar das reduções
provocadas pela evolução digital. Contudo, centrais programadas em software de
distribuição livre, como o Asterisk, podem ser implementadas junto com equipamentos
multimídia (placa de som, fone e microfone), softphones também livres e hardwares
adequados aos canais analógicos ou digitais, exigindo investimentos menores e
favorecendo o uso dos serviços e funcionalidades avançados.

2.2.1. Funcionalidades do PABX
       O PABX é considerado uma evolução do PBX. Pode gerenciar as comunicações
de voz dentro de uma empresa, concentrando várias linhas e ramais de colaboradores,
oferecendo uma série de facilidades e serviços avançados, como transferência de
chamadas, chamada em espera e resposta interativa de voz-IVR. Pode também gerar
informações das chamadas, para fins de controle, bilhetagem e tarifação.

3 – Voz sobre IP – VoIP
Um dos mais relevantes problemas que dificultam a popularização da tecnologia VoIP,
é a obtenção de uma sinalização compatível com as redes existentes e que supra as
necessidades emergentes de interconexão. Uma solução única e unanimizada ainda
ainda não foi definida, mas algumas já existem: H.323, SIP e MGCP.
       A definição de qual arquitetura usar deve considerar as características de cada
uma e a situação em questão. Será visto no ítem 5, a análise feita sobre o protocolo que
se adequa às situações de uso do Asterisk. Contudo, é relevante destacar alguns pontos
dos dois conjuntos de protocolos de sinalização VoIP mais importantes, descritos na
Tabela 1:
                  Tabela 1 – Comparação das arquiteturas Sip e H.323
      Aspecto                           SIP                                      H.323
                     Documento de 128 páginas, o que reflete    Documento de 736 páginas, o que reflete
                     mais simplicidade.                         maior complexidade para implementação.


                     Apenas 37 tipos de cabeçalhos de           Faz uso de centenas de mensagens.
                     mensagens diferentes.
   Complexidade
                     Formatação textual, facilitando o          Formatação binária.
                     entendimento visual rápido do tráfego.


                     Realiza as operações de forma única para   Sua completa interoperabilidade exige a
                     tratamento da uma mesma tarefa.            definição de funcionalidades por perfil.
Novas características podem ser incluídas    Existem algumas predefinições para futuras
                    de forma fácil e compatível com as           inclusões.
                    versões anteriores.
   Escalabilidade
                    Aceita codecs de áudio e vídeo livres,       Codecs devem ser padronizados pelo ITU,
                    reconhecidos pelo IAB.                       proprietário ou padrão.
                    Pode trabalhar nos modos statefull ou        É stateful, ou seja, mantém o estado das
                    stateless. No segundo caso, o                chamadas. Uma grande quantidade de
                    desempenho não sofre interferência por       chamadas simultâneas, pode provocar baixa
                    não ter que armazenar o estado das           performance.
                    chamadas.
    Performance


                    Conferência ocorre de forma distribuída      Conferências usa obrigatoriamente a MCU,
                    pelos participantes, sem a necessidade de    que centraliza toda sinalização e pode ser
                    um equipamento centralizador.                um “gargalo”.
                    Facilidade de transferências, conferências   Facilidade de transferências, conferências e
                    e encaminhamento de chamadas.                encaminhamento de chamadas.

   Operabilidade
                    Suporta operação de gateway entre            Também suporta operação por gateways.
                    segmentos de redes diferentes,
                    possibilitando tradução de protocolo de
                    sinalização e mídia.

4. Asterisk
Dentre os sistemas em software livre existentes atualmente que provêem aplicações de
telefonia digital, o Asterisk se destaca por integrar tecnologia analógica e digital para
transporte de voz e dados, utilizando eficientemente os protocolos VoIP, sendo
considerado uma atraente alternativa para PABX em software [3].
      É distribuído sobre os termos da licença GPL (GNU Public Licence) [4].
Desenvolvido, primeiramente, pela empresa Digium [5], sua principal patrocinadora,
sendo Mark Spencer, seu principal criador e mantenedor.
       Além das arquiteturas VoIP apresentadas, o Asterisk também suporta o IAX. O
IAX (Inter-Asterisk-Exchange) é um protocolo que provê controle e transmissão de
streaming media, incluindo vídeo, mas foi primeiramente desenvolvido para o controle
de chamadas de voz sobre IP.
       Os principais objetivos do protocolo IAX são: minimizar a largura de banda
usada para controle e transporte de mídia com ênfase em chamadas de voz e prover
suporte nativo para transparência em NAT (Network Adress Translation).
       IAX é um protocolo de mídia e de sinalização peer-to-peer. Isto significa que os
endpoints mantém máquinas de estado com as operações do protocolo. Os componentes
de sinalização trabalham no modo cliente-servidor, como o SIP. Com respeito ao
transporte de mídia, o controle de sequência e de temporização estão incluídos nos
frames do IAX, que não usa o RTP (Real-time Transport Protocol).
       O IAX é um protocolo aberto e não separa o controle de sinalização e o tranporte
da mídia, ele faz isso sozinho, diferente dos outros protocolos que usam RTP/RTCP
para o transporte da mídia. O transporte da mídia e a sinalização se faz utilizando a
mesma porta UDP (User Datagram Protocol). Por causa disso, ele não sofre de
problemas com NAT. Alé disso, permite que múltiplos streams de mídia possam ser
representados com um único cabeçalho, reduzindo consideravelmente o overhead.
       Possui bibliotecas com funções de telefonia que fazem o controle completo do
roteamento de chamadas. Dentre outras funcionalidades, como um PABX convencional,
oferece correio de mensagens integrado de voz e dados, filas de chamadas onde agentes 
atendem as chamadas e monitoram a fila, conferência de chamadas, música em espera 
na fila com MP3, registro detalhado de chamadas (CDR ­ call­detail­records) e resposta 
interativa de voz.
        Por meio da parceria da empresa Digium e do projeto Zapata [6], conduzido por
Jim Dixon, também foi possível investir em hardware de telefonia de baixo custo,
permitindo que o Asterisk possa ter um hardware específico para sua interligação com
a rede púbica de telefonia PSTN.
       O Asterisk pode ser usado nos seguintes contextos:
          Soluções   de   telefonia   em   redes   de   dados   locais   (como   Ethernet)   com 
           protocolos VoIP H.323, SIP, IAX e MGCP, em conjunto com  SoftPhones 
           e/ou  HardPhones, sendo estes equipamentos ou softwares que realizam as 
           funções de telefone neste tipo de solução.
          Tornar   viável   conexões   de   uma   rede   local   VoIP   com   a   rede   pública   de 
           telefonia ou com um PABX, por meio de placas específicas que provêem 
           canais  analógicos  ou digitais. O Asterisk oferece suporte a estes  tipos de 
           placas.
          Conectar­se   à   provedores   de   serviço   de   telefonia   VoIP,   como   o 
           FreeWorldDialUp, que é uma provedora de serviços de voz em tempo real 
           de alto desempenho utilizando comunicação IP por meio da Internet. [7]. 
          Possibilita conectar vários escritórios em várias localidades diferentes, por 
           uma rede privada de dados ou pela Internet, através de conexões seguras.

4.1. Principais funcionalidades
       As principais funcionalidades do Asterisk são:
          Interligação com a PSTN: o Asterisk tem suporte a placas que provêem
           canais físicos ISDN E1 e T1, FXO e FXS.
          CDR ­ Call­Detail­Records – Registro detalhado de chamadas: tem 
           capacidade de registrar todas chamadas que são realizadas. Armazena 
           duração da chamada, número de origem, destino, data e hora.
          Interligação de Servidores Asterisk: permite a interligação de um ou mais 
           servidores, aumentando a abrangência do sistema de telefonia.
          Conferência: pode­se configurar salas de conferência, onde usuários podem 
           se logar e falar com todos usuários logados.
          DAC – Distribuição Automática de Chamadas em Filas de Espera: 
           permite configurar filas de espera e distribuir as chamadas entre os membros 
           de uma organização ou agentes específicos para atendimento.
          Música em espera: pode­se configurar uma ou mais músicas para chamadas 
           que entram na fila de espera.
   IVR – Resposta de voz interativa: permite criar menus interativos de voz,
           onde clientes podem ser encaminhados para telefones ou setores específicos.
          Integração com banco de dados: pode fazer conexão com banco de dados
           para configuração dinâmica do plano de discagens, tarifação (billing) e gerar
           estatísticas.
          Caixa de mensagens unificada de voz e texto: tem caixa de mensagens de 
           voz poderosa, onde usuários podem configurar mensagem de ocupado e 
           indisponível e aplicações para ouvir suas mensagens ou encaminha­la para 
           outro usuário. Ainda se pode configurar um correio eletrônico para que as 
           mensagens de voz possam ser encaminhadas.
          Transferência de chamadas: permite transferir uma chamada para outro 
           telefone.
          Estacionamento de chamadas: permite parar uma chamada em um telefone 
           para poder atender em outro.

4.2. Arquitetura
       O Asterisk funciona essencialmente como um middleware, conectando as
tecnologias de telefonia na base e as aplicações de telefonia no topo em uma visão
externa [3], como mostra a Figura 1.
       Tecnologias de telefonia podem ser digitais usando protocolos VoIP, canais
ISDN do tipo T1, E1, PRI e BRI, e analógico como PSTN. Aplicações de telefonia
incluem distribuição automática de chamadas, conferência, caixa de mensagens,
atendimento automático.




                        Figura 1 – Visão externa do Asterisk

4.2.1. Arquitetura interna
        Quando o Asterisk é inicializado, o DML (Dynamic Module Loader) lê e
inicializa cada um dos drivers que disponibilizam canais, formatos de arquivo,
detalhamento de chamadas, CODECs, e liga com as API's internas [3]. Então, o
Switching Core PBX, o núcleo comutação, começa a aceitar chamadas das interfaces e
tratá-las de acordo com o dialplan (plano de discagens), usando as aplicações para
chamar telefones, conectar com a caixa de mensagens, fazer conexão com troncamento
externos, entre outros.
        O Core provê um Scheduler (Agendador) e um Gerenciador de I/O para que
as aplicações e os drivers possam usar [3]. Além disso, existe o Code Translator, com
a função de tradutor que permite usar canais com codificadores e decodificadores
(CODECs/DECoder) de diferentes tipos para que usuários possam falar um com o
outro. A maioria das funcionalidades que se pode tirar proveito vem dos canais,
CODECs, aplicações, formato de arquivos e varias interfaces de programação, assim
como mostra a Figura 2.




                 Figura 2 – Arquitetura interna (core) do Asterisk

4.3. Canais, codecs e protocolos
       Os canais, codecs e protocolos suportados pelo Asterisk são.

4.3.1. Canais
       Canais são conexões lógicas com vários tipos de sinalização e caminhos usados
para conectar chamadas. Eles podem ser físicos FXS, FXO, PRI, BRI, T1 e E1,
providos por placas. Podem também ser baseados em softwares, com alguma
combinação de CODEC com protocolo de sinalização, por exemplo GSM com SIP ou
G.711 com IAX [11].
        O Asterisk suporta vários tipos de hardware que provêem canais físicos, como
placas ISDN e placas de canais T1/E1 disponíveis no mercado.

4.3.2. Codecs
       CODEC(COder/DECoder), é um software codificador dos sinais da voz, para
que o sinal possa ser transmitido digitalmente. A Tabela 2 mostra os CODECs que o
Asterisk suporta:
                   Tabela 2 – CODECs suportados pelo Asterisk
                   CODEC           Bitrate (Kbps)    Requer Licença
                     G.711              64                 Não
                     G.726          16, 24 ou 32           Não
                    G.723.1          5,3 ou 6,3            Sim
                     G.729               8                 Sim
                     GSM                13                 Não
CODEC         Bitrate (Kbps)    Requer Licença
                    iLBC           13,3 ou 15,2          Não
                    Speex           2,5 à 22,4           Não

4.3.3. Protocolos
       Os principais protocolos VoIP, que definem a sinalização de uma chamada,
como o estabelecimento e encerramento de uma comunicação, registro e autenticação de
usuários e sinalização acústica de serviços avançados, como tom de discagem, tom de
chamada, tom de número inacessível, tom de aviso de chamada em espera e tons de
programação e o tráfego real de voz dogotaçizada são suportados pelo Asterisk [3].
       Além dos protocolos padrão SIP, H.323, IAX e MGCP, o asterisk tem suporte
também a protocolos proprietários, como o SCCP (Cisco Skinny) e o UNISTIM,
protocolo da Nortel.

4.4. Plano de discagens
       O plano de discagens é a peça mais importante na configuração do Asterisk. O
arquivo responsável por sua configuração é o extensions.conf. Ele controla como todas
as chamadas de entrada e saída são encaminhadas e manuseadas.
       Ele consiste em um conjunto de contextos, cada contexto consiste em um
conjunto de extensões. Cada extensão é uma instrução para que o Asterisk possa tomar
uma determinada decisão em relação à um chamada de entrada ou saída.
       Quando o Asterisk recebe uma chamada, de entrada ou saída, esta chamada
pertence a um contexto. A qual contexto a chamada pertence, depende de qual canal a
chamada foi originada. Um contexto é configurado para cada canal.
       Os contextos podem ser usados para implementar um número importante de
recursos, incluindo:
        Segurança: controle de acesso a ligações de longa distância;
        Roteamento: rotear chamadas baseadas em uma extensão;
        Auto-atendimento;
        Menus multicamada: um menu para cada setor de uma empresa, por
            exemplo;
        Autenticação: pedir por senha para certas extensões;
        Decisões baseadas em horário;
        Permite criar macros: funções para aplicações normalmente usadas;
        Permite o uso de variáveis;
        Permite o tratamento de strings.

5. Solução para PABX local
A definição do ambiente para implantação de uma rede VoIP, passa por algumas etapas,
considerando os passos necessários para elaboração da rede e os recursos disponíveis.
        Uma solução de telefonia para pequenas corporações sobre uma rede de dados
com software livre é um caso de uso aplicável no mercado atualmente. Por isso, a
solução implementada, pretende criar um ambiente real de funcionamento de um
sistema de telefonia. As etapas envolvidas nesse processo, devem contemplar desde
levantamento de requisitos do ambiente, análise dos requisitos, elaboração da solução
até testes e manutenção.
Assim, foi escolhido um ambiente de pequeno porte, caracterizado por poucos
computadores conectados em uma rede local Ethernet, com a finalidade de validar o
funcionamento do sistema e sua ampla quantidade de funcionalidades.

5.1. Motivação
        Pequenas corporações, geralmente utilizam um PABX proprietário para prover
ramais e conexão com a rede pública de telefonia (PSTN). Esse sistema é caracterizado
por ter um alto custo de implantação, provocado pelo custo dos equipamentos
utilizados, e pelo alto custo operacional.
       As pequenas corporações normalmente possuem uma rede de dados para o
desenvolvimento de suas atividades. Estas redes, na maior parte dos casos, podem
agregar o serviço de telefonia IP.
      Com esse intuito, são mostrados cenários onde o Asterisk funciona como
provedor do serviço de PABX em software.

5.2 – Ambiente Montado
      A Figura 3 mostra como foi montado o ambiente com rede local Ethernet 100,
um servidor Asterisk sobre distribuição Debian Sarge com processador de 2.4GHz e
RAM de 512MB, além de quatro estações cliente com telefones VoIP: 3 Linux e 1
Windows. Acesso à Internet também foi disponibilizado junto com os serviços DHCP e
DNS.




                       Figura 3 – Ambiente de caso de uso
       Todas as estações eram baseadas em softphones. Os softphone propostos foram:
          • Softphone IAXComm para protocolo IAX
          • Softphone X-Lite para protocolo SIP
          • Softphone GnomeMeeting para protocolo H323
       Em função de melhor dsempenho e funcionalidades.
       O endereço IP das estações com Softphones podem ser dinâmicos permitindo
que um usuário possa se logar no servidor de qualquer estação que possua um
Softphone instalado.

5.3. Análise do protocolo VoIP
       Para escolher a arquitetura de protocolos para o servidor Asterisk é preciso
analizar critérios como:
   Nível de funcionalidades suportadas pelo servidor;
             Habilidade de trabalhar com a topologia NAT (Network Adress  
              Translation);
             Segurança;
             Uso de banda passante.
       O protocolo SIP foi projetado pela IETF (Internet Engineering Task Force) para
interoperar com as aplicações da Internet existentes, implementando a sinalização VoIP
de maneira consistente O Asterisk tem um suporte maior para este protocolo do que
para MGCP e H.323 [13].
       O IAX tem a capacidade de diminuir o uso de banda passante porque tem a
habilidade de juntar multiplas sessões em um único fluxo de dados. Isso permite que
múltiplos streams de mídia possam ser representados com um único cabeçalho de
datagrama, diminuindo consideravelmente o overhead na rede. Além disso, ajuda a
diminuir a latência e reduzir processamento, possibilitando um número maior de canais
na rede [12].
       O H.323 controla todas as chamadas através de um gatekeeper. Para trabalhar
em um rede que implementa NAT, é preciso ter um proxy rodando como gatekeeper. O
Asterisk não pode agir como um gatekeeper H.323, precisando usar uma aplicação a
parte para esta tarefa, conforme [12].

5.4. Análise do Codec
        Numa rede corporativa é importante diminuir a sobrecarga da rede de dados e
usar CODECs que ocupam menos largura de banda. Além disso é preciso avaliar a
qualidade da voz. Para escolher um CODEC é preciso avaliar, principalmente, os
critérios de largura de banda e qualidade da voz.
        É importante ressaltar que é recomendado padronizar um CODEC apenas para a
rede inteira, para que não hajam problemas com a qualidade da voz e não sobrecarregue
o servidor com tradução entre CODECs diferentes.
       Dentre todos os CODECS, três tem destaque para uma rede de dados
corporativa: GSM, iLBC e Speex, porquê ocupam pequena largura de banda e são
públicos (livres).

5.5. Descrição das funcionalidades implementadas na solução
       O ambiente utilizado para implantar a rede VoIP, é configurado com quatro
computadores. O sistema será dotado de algumas funcionalidades descritas nos
próximos itens, que possibilitam a operação satisfatória do ambiente corporativo
definido, cabendo descrever dois casos de uso básicos:
       Caso de Uso 1:
       “Uma chamada é recebida por um colaborador de determinado departamento,
tocando seu terminal, cujo número corresponde ao informado pelo emissor. Se o
receptor atender o chamado, a conexão será estabelecida e o diálogo ocorrerá. Caso não
atenda, a chamada será direcionada para a caixa de mensagem do terminal receptor,
onde quem originou a chamada será orientado a deixar uma mensagem, que por sua vez
será enviada para o endereço eletrônico do receptor.“
       Caso de Uso 2:
“O emissor fará uma chamada para o departamento. A chamada será direcionada
para um menu de voz. Ao término da mensagem o emissor deverá informar o número
que correponde ao receptor desejado. Caso não disque nenhuma opção, é encaminhado
para a fila de espera de chamadas, onde escutará uma música em espera até que um
membro o atenda.”

5.5.1. Telefones VoIP nas estações
       Existem duas situações usando Asterisk. Em uma situação, os pacotes com a voz
codificada, podem ser configurados para passar pelo servidor, Na outra, a mídia pode
ser configurada para não passar pelo servidor, apenas a sinalização para estabelecer uma
chamada.
       Se a mídia não passar pelo servidor Asterisk, não há possibilidade de
sobrecarregá-lo, porém, perde três funcionalidades: não registra os tempos de duração
das chamadas; assim que uma chamada é estabelecida o servidor deixa de monitorá-la,
impossibilitando a tarifação, a transferência e o estacionamento de chamadas somente
são possíveis se a mídia passar pelo servidor.
       Há dois tipos de configurações de telefone: uma configuração global e um
configuração específica para cada um.
       Pode-se configurar um telefone apenas para realizar chamadas (users), apenas
para receber chamadas (peers) ou os dois (friends). Foi configurado uma senha para
cada usuário e um número para caixa de mensagens. Todos telefones devem ser
configurados para serem utilizados por um contexto no plano de discagens.
       Os arquivos de configuração para os telefones telefones, são: sip.conf, iax.conf,
h323.conf e mgcp.conf.
       As principais aplicações que o Asterisk utiliza para telefones são:
           Dial(telefone) – Toca um telefone
           Answer() - Atende um telefone
           Hangup() - Desliga a chamada

5.5.2. Caixa de mensagens de voz e dados unificada
      É permitido configurar uma caixa de mensagens de voz para cada usuário,
quando este está ocupado ou indisponível.
       O telefone emissor após gravar uma mensagem, tem como possibilidade realizar
as seguintes ações: aceitar; revisar, regravar ou ir para a telefonista.
       No arquivo de configuração de caixa de mensagens, é configurado uma senha de
acesso e um correio eletrônico para que as mensagens de voz possam ser encaminhadas.
As mensagens de voz podem ser gravadas em um dos três formatos: wav, gsm e wav49,
sendo o formato gsm o que ocupa menos espaço em disco, seguido do wav49 e wav,
conforme [11].
       Qualquer usuário que quiser acessar sua caixa de mensagens deve ser orientado
a discar no número escolhido pelos administradores do servidor Asterisk. O número
escolhido neste projeto foi o 9000. Discando para esse número o usuário ouvirá uma
voz orientando a discar o número da sua caixa de mensagem e senha.
       As principais aplicações utilizadas pelo Asterisk neste item são:
           Voicemail (número de correio) - Encaminha para a caixa de mensagens.
   VoicemailMain () - Para acessar a caixa de mensagens e configuração de
              mensagens de voz.

5.5.3. Resposta de voz interativa - IVR
       A resposta de voz interativa, conhecida em inglês como IVR (Interactive Voice
Response), são menus de voz que permitem que chamadas possam ser encaminhadas
para um determinado usuário, um determinado setor de uma corporação ou ainda pode
ser encaminhada para fila de espera.
        Foi criado um menu de voz para que quando um usuário ligue para o número de
determinado departamento com mais de um telefone, ouvirá as opções que foram
definidas conforme a seguinte mensagem de entrada: “Você ligou para o CESMIC,
disque 1 para falar com Mauro Tapajós, disque 2 para falar com Eduardo Lobo, disque
3 para falar Raissa“.
        O sistema é configurado para espera alguns segundos até que uma opção seja
informada. O número discado encaminhará a chamada para o destino informado e fará
tocar o telefone desejado.
       As principais aplicações utilizadas pelo Asterisk neste item são:
           Wait (segundos) – Espera por tantos segundos.
           Record (nome da mensagem) - Grava uma mensagem.
           Playback (mensagem) - Toca uma mensagem.
           GoTo () - Vai para um determinado lugar de um contexto.

5.5.4. Registro detalhado de chamadas e tarifação
       O registro detalhado de chamadas é uma funcionalidade que o Asterisk tem que
pode ser configurada para registrar as chamadas em arquivo de texto comum ou fazer
conexão com banco de dados e registrar em tabelas.
       O Asterisk tem suporte ao banco de dados PostgreSql diretamente, sem usar um
drive ODBC e tem suporte a outros bancos de dados usando um driver ODBC.
        É registrado quem efetuou a chamada, o receptor, a duração, o protocolo, o
canal, entre outros.
       Uma vez habilitada essa funcionalidade, o servidor registra automaticamente
todas chamadas que passam por ele. Quando a mídia não passa por ele, a duração da
chamada não é registrada.
        A tarifação somente é possível quando é configurado uma conexão com banco
de dados. A partir daí, aplicativos podem fazer cálculos sobre duração de chamadas e
tarifar. Um exemplo de aplicativo é o Asterisk-stat [14], que gera gráficos e faz
consultas no banco de dados.

5.5.5. Conferência
       Para o uso da conferência e de música em espera é preciso de um temporizador.
Placas Zaptel provêem esse temporizador. Quando não é possível ter uma placa, é
possível usar um temporizador através do módulo usb : uhci-hcd usado no Linux para
gerenciar portas usb. Para tanto é preciso compilar um módulo chamado “ztdummy“,
um driver que pode ser compilado junto ao código-fonte dos drivers da Zaptel. Para
conseguir os código-fonte desse módulo é preciso baixá-lo do CVS da empresa Digium.
Uma vez configurado esse módulo e ele em funcionamento é possível configurar
salas de conferência. As salas são referenciadas por um número e uma senha de acesso.
Caso o usuário queira entrar na sala, ele deve discar para o número referenciado no
plano de discagens e então é orientado a discar a senha de acesso. Caso confirmada, o
usuário entra na sala e fala com todos os usuários que estiverem nela.
       A principal aplicação utilizada pelo Asterisk é neste item é:
           MeetMe (sala de conferência) – Encaminha o usuário para uma sala de
              conferência.

5.5.6. Música em espera
       Também com o auxílio do módulo ztdummy, a música em espera pode ser
configurada para usuários que são encaminhados para filas de espera e pode ser
configurada para tocar durante um tempo pré-definido. Enquanto está na fila de espera,
o usuário ouve uma música configurada ou várias músicas em seqüência, até que um
membro da organização ou um agente atenda a ligação.
      O aplicativo padrão que o Asterisk usa para tocar músicas é o mpg123 [15],
porém pode ser configurado outro aplicativo. Como foi o caso deste projeto que usou o
Madplay.
       As principais aplicações utilizadas pelo Asterisk neste item são:
           WaitMusicOnHold (segundos) - Ouve uma música em espera por um
              determinado tempo.
           MP3Player (arquivo) – Toca uma música em MP3.

5.5.7. Distribuidor automático de chamadas em filas - DAC
       Filas de espera podem ser configuradas no plano de discagens para que um
usuário possa ser encaminhado. Enquanto espera o atendimento da chamada ele ouve
uma música.
       Pode ser configurada uma fila para cada setor de uma empresa ou uma fila única
para toda empresa.
       As chamadas que chegam na fila de espera podem são atendidas por membros
que podem ser telefones comuns ou por agentes. Agentes são usuários específicos para
atender chamada em fila de espera, como em call-centers.
       Existem seis maneiras de se distribuir as chamadas para telefones ou agentes,
infomrando a maneira desejada na diretiva strategy do arquivo de configuração
queue.conf.

5.5.8. Transferência de chamadas
        A mídia tem que passar pelo servidor para que uma chamada possa ser
transferida.
       Quando o usuário quer tranferir uma chamada, ele tem duas opções:
           Usa o Softphone para transferir;
           Usa o servidor para transferir;
      Com o Softphone, é preciso somente clicar no botão de transferência e digitar o
número desejado e então o telefone de destino tocará.
       Com o servidor há dois tipos de transferência:
    Transferência sem assistência;
               Transferência com assistência;

5.5.9. Estacionamento de chamadas
       É usado para estacionar uma chamada. Auxilia quando um usuário está
atendendo um telefone fora de sua sala. Ele pode estacionar a chamada em uma
determinada extensão e quando se mover de volta a sua sala digita a extensão onde a
chamada está estacionada e atende novamente.

5.5.10. Captura de chamadas
       A captura de chamadas funciona quando um telefone de outro usuário está
tocando e se quer puxar esta chamada. Se digita uma determinada seqüência, como
“*8“, e a chamada é capturada.

5.5.11. Interfaces gráficas para as funcionalidades
       Existem interfaces gráficas para o Asterisk fazer tarifação, configuração,
gerenciamento, visualização de status, gerenciamento de call center , interfaces de uso,
como mostra [16].
       Neste trabalho, não foram utilizadas interfaces gráficas de configuração para o
Asterisk.

6. Conclusões
O Asterisk é um sistema livre robusto, capaz de suportar diversas funcionalidades
presentes em PABX de porte comercial. Com ele é possível fazer uso dos protocolos de
suporte a VoIP para implantar sistemas de telefonia sob a rede de dados, e ainda permite
utilizar as tecnologias existentes na rede pública de telefonia.
      Implementado sobre uma rede local de pequeno porte, permite criar uma
ambiente com comportamento estável, confiável e seguro, integrando a rede de dados
com rede digital de voz. Sua arquitetura provê interoperabilidade de clientes Linux e
Windows.
       O Asterisk é capaz de reduzir significativamente o custo de implantação e
operação de um sistema de telefonia quando comparado com tecnologias tradicionais de
telecomunicações. Sua implantação em redes de pequeno porte exige baixos
investimentos, poucos recursos de hardware e software, pequena largura de banda
disponível e conhecimento em rede de computadores para configurá-lo adequadamente.
       Este trabalho visou fornecer parâmetros de configuração da solução com
Asterisk no papel de PABX dentro do contexto de uso numa rede local. Cabe
acrescentar que o Asterisk é livre sob licença GPL e possui um razoável número de
implementações funcionais suportado por uma comunidade visivelmente atuante.

Referências
[1] – JESZENSKY, Paul Jean Etienne. Sistemas Telefônicos. 1ª edição brasileira. 2004.
[2] – PINHEIRO, José Maurício Souza. Centrais Privadas de Telefonia. Disponível em:
www.projetoderedes.com.br/artigos, acessado em 05 dez. 2005.
[3] – SPENCER, Mark, ALLISON, Mark e RHODES, Christopher. The Asterisk
Handbook version 2
[4] – GNU, General Public License. Disponível em:
<http://www.gnu.org/licenses/gpl.html>
[5] – Digium, The primary developer and sponsor of Asterisk. Localizado em:
http://www.digium.com
[6] – Asterisk Documentation Project, The History of Zapata Telephony. Disponível
em: <http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10>
[7] –Free World Dial UP, Communication for geeks by geeks. Disponível em:
http://www.freeworlddialup.com
[8] – Digium, Telephony for business. Wildcard TE410P. Disponível em:
<http://www.digium.com/index.php?
menu=product_detail&category=hardware&product=TE410P>
[9] – Asterisk Brasil, A comunidade brasileira do Asterisk. Localizado em:
<http://asteriskbrasil.org>
[10] – Asterisk Documentation Project. Disponível em: http://www.asteriskdocs.org
[11] – GONÇALVES, Flavio Eduardo Andrade. Asterisk PBX – Guia de Configuração.
Disponível em: http://www.voffice.com
[12] – MEGELLEN, Jim Van, SMITH, Jared, MADSEN, Leif. Asterisk – The Future
of Telephony, O’Reilly.
[13] – VoIP Wiki, A reference guide for all things VoIP. Disponível em:
http://www.voip-info.org
[14] – Asterisk-stat, CDR Analyser. Disponível em: <http://www.voip-
info.org/wiki/index.php?page=Asterisk+CDR+Areski+GUI>
[15] – Real Time MPEG Audio Player for Layer 1,2 and Layer3. Disponível em:
<http://www.mpg123.de>
[16] – Asterisk GUI, Graphical Users Interfaces. Disponível em: <http://www.voip­
info.org/wiki/view/Asterisk+GUI>

Mais conteúdo relacionado

Destaque

Solução Gestão de Acesso e Segurança
Solução Gestão de Acesso e SegurançaSolução Gestão de Acesso e Segurança
Solução Gestão de Acesso e Segurança
Senior Sistemas
 
Controle de Acesso ao Datacenter
Controle de Acesso ao DatacenterControle de Acesso ao Datacenter
Controle de Acesso ao Datacenter
NetBR
 
Entendendo o SELinux - Security Enhanced Linux
Entendendo o SELinux - Security Enhanced LinuxEntendendo o SELinux - Security Enhanced Linux
Entendendo o SELinux - Security Enhanced Linux
guest8881fe2a
 
Gerenciamento de identidades e acesso gia
Gerenciamento de identidades e acesso   giaGerenciamento de identidades e acesso   gia
Gerenciamento de identidades e acesso gia
Alfredo Santos
 
Guia do Sysadmin das Galáxias
Guia do Sysadmin das GaláxiasGuia do Sysadmin das Galáxias
Guia do Sysadmin das Galáxias
Jerônimo Medina Madruga
 
Gustavo Mota - CEO We do Logos
Gustavo Mota - CEO We do LogosGustavo Mota - CEO We do Logos
Gustavo Mota - CEO We do Logos
We Do Logos
 
IDM - Gereciamento de Identidades Corporativa
IDM - Gereciamento de Identidades CorporativaIDM - Gereciamento de Identidades Corporativa
IDM - Gereciamento de Identidades Corporativa
Daniel Checchia
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informação
Fernando Palma
 
Controle de acesso físico e lògico
Controle de acesso físico e lògicoControle de acesso físico e lògico
Controle de acesso físico e lògico
Tais Florenço
 
Redes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISORedes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISO
Ministério Público da Paraíba
 

Destaque (10)

Solução Gestão de Acesso e Segurança
Solução Gestão de Acesso e SegurançaSolução Gestão de Acesso e Segurança
Solução Gestão de Acesso e Segurança
 
Controle de Acesso ao Datacenter
Controle de Acesso ao DatacenterControle de Acesso ao Datacenter
Controle de Acesso ao Datacenter
 
Entendendo o SELinux - Security Enhanced Linux
Entendendo o SELinux - Security Enhanced LinuxEntendendo o SELinux - Security Enhanced Linux
Entendendo o SELinux - Security Enhanced Linux
 
Gerenciamento de identidades e acesso gia
Gerenciamento de identidades e acesso   giaGerenciamento de identidades e acesso   gia
Gerenciamento de identidades e acesso gia
 
Guia do Sysadmin das Galáxias
Guia do Sysadmin das GaláxiasGuia do Sysadmin das Galáxias
Guia do Sysadmin das Galáxias
 
Gustavo Mota - CEO We do Logos
Gustavo Mota - CEO We do LogosGustavo Mota - CEO We do Logos
Gustavo Mota - CEO We do Logos
 
IDM - Gereciamento de Identidades Corporativa
IDM - Gereciamento de Identidades CorporativaIDM - Gereciamento de Identidades Corporativa
IDM - Gereciamento de Identidades Corporativa
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informação
 
Controle de acesso físico e lògico
Controle de acesso físico e lògicoControle de acesso físico e lògico
Controle de acesso físico e lògico
 
Redes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISORedes de Computadores - Modelo de Referência OSI/ISO
Redes de Computadores - Modelo de Referência OSI/ISO
 

Semelhante a Asterisk

Asterisk
AsteriskAsterisk
Vo ip
Vo ipVo ip
RedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdfRedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdf
filipeisep
 
Cabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptxCabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptx
mauricio381833
 
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software LivreEstudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Antonio Marcos Alberti
 
Trabalho1 voip voz sobre ip
Trabalho1 voip voz sobre ipTrabalho1 voip voz sobre ip
Trabalho1 voip voz sobre ip
Rafael Pimenta
 
Uma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IPUma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IP
IP10
 
VOIP EM REDES LOCAIS
VOIP EM REDES LOCAISVOIP EM REDES LOCAIS
VOIP EM REDES LOCAIS
Vinicius Batista
 
Artigo sobre a Bahr na Revista Robótica 87
Artigo sobre a Bahr na Revista Robótica 87Artigo sobre a Bahr na Revista Robótica 87
Artigo sobre a Bahr na Revista Robótica 87
fluidotronica
 
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
Lúcio Pinto da Costa Junior
 
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
Ministério Público da Paraíba
 
Redes - VoIP Asterisk
Redes - VoIP AsteriskRedes - VoIP Asterisk
Redes - VoIP Asterisk
Luiz Arthur
 
Redes - VoIP Teoria
Redes - VoIP TeoriaRedes - VoIP Teoria
Redes - VoIP Teoria
Luiz Arthur
 
Curso completo voip
Curso completo voipCurso completo voip
Curso completo voip
Katia Ribeiro
 
Aula 11 meios de comunicação de dados
Aula 11 meios de comunicação de dadosAula 11 meios de comunicação de dados
Aula 11 meios de comunicação de dados
Jorge Ávila Miranda
 
Introdução de redes sem fio
Introdução de redes sem fioIntrodução de redes sem fio
Introdução de redes sem fio
Tiago
 
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
Development Workshop Angola
 
O que é profibus
O que é profibusO que é profibus
O que é profibus
rafabecka
 
Protocolos ethernet
Protocolos ethernetProtocolos ethernet
Protocolos ethernet
redesinforma
 
Redes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar ViegasRedes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar Viegas
Leomar Viegas
 

Semelhante a Asterisk (20)

Asterisk
AsteriskAsterisk
Asterisk
 
Vo ip
Vo ipVo ip
Vo ip
 
RedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdfRedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdf
 
Cabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptxCabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptx
 
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software LivreEstudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
Estudo e Desenvolvimento de Soluções de Voz Sobre Ip Baseado Em Software Livre
 
Trabalho1 voip voz sobre ip
Trabalho1 voip voz sobre ipTrabalho1 voip voz sobre ip
Trabalho1 voip voz sobre ip
 
Uma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IPUma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IP
 
VOIP EM REDES LOCAIS
VOIP EM REDES LOCAISVOIP EM REDES LOCAIS
VOIP EM REDES LOCAIS
 
Artigo sobre a Bahr na Revista Robótica 87
Artigo sobre a Bahr na Revista Robótica 87Artigo sobre a Bahr na Revista Robótica 87
Artigo sobre a Bahr na Revista Robótica 87
 
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
TCC.INATEL.VIVO.RJ.T66.2011.Lúcio.Pinto.Costa.Junior_v03
 
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
Tecnologias Atuais de Redes - Aula 5 - VoIP [Apostila]
 
Redes - VoIP Asterisk
Redes - VoIP AsteriskRedes - VoIP Asterisk
Redes - VoIP Asterisk
 
Redes - VoIP Teoria
Redes - VoIP TeoriaRedes - VoIP Teoria
Redes - VoIP Teoria
 
Curso completo voip
Curso completo voipCurso completo voip
Curso completo voip
 
Aula 11 meios de comunicação de dados
Aula 11 meios de comunicação de dadosAula 11 meios de comunicação de dados
Aula 11 meios de comunicação de dados
 
Introdução de redes sem fio
Introdução de redes sem fioIntrodução de redes sem fio
Introdução de redes sem fio
 
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
20171110 DW Debate Tecnologias De Informação E Oportunidades De Trabalho Para...
 
O que é profibus
O que é profibusO que é profibus
O que é profibus
 
Protocolos ethernet
Protocolos ethernetProtocolos ethernet
Protocolos ethernet
 
Redes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar ViegasRedes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar Viegas
 

Mais de Mauro Tapajós

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATI
Mauro Tapajós
 
Integração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma LivreIntegração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma Livre
Mauro Tapajós
 
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes CorporativosInstalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
Mauro Tapajós
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
Mauro Tapajós
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas Universidades
Mauro Tapajós
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)
Mauro Tapajós
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?
Mauro Tapajós
 
Software Winrad
Software WinradSoftware Winrad
Software Winrad
Mauro Tapajós
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livre
Mauro Tapajós
 
Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livre
Mauro Tapajós
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...
Mauro Tapajós
 
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Mauro Tapajós
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
Mauro Tapajós
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
Mauro Tapajós
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
Mauro Tapajós
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
Mauro Tapajós
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
Mauro Tapajós
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
Mauro Tapajós
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software Livre
Mauro Tapajós
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMP
Mauro Tapajós
 

Mais de Mauro Tapajós (20)

Proyecto liberació SIGATI
Proyecto liberació SIGATIProyecto liberació SIGATI
Proyecto liberació SIGATI
 
Integração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma LivreIntegração de Serviços em Plataforma Livre
Integração de Serviços em Plataforma Livre
 
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes CorporativosInstalação e Atualização Automática de Aplicações para Ambientes Corporativos
Instalação e Atualização Automática de Aplicações para Ambientes Corporativos
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
Migração para Software Livre nas Universidades
Migração para Software Livre nas UniversidadesMigração para Software Livre nas Universidades
Migração para Software Livre nas Universidades
 
Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)Códigos Convolucionais (sequenciais)
Códigos Convolucionais (sequenciais)
 
Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?Posso rodar minhas aplicações corporativas sobre linux?
Posso rodar minhas aplicações corporativas sobre linux?
 
Software Winrad
Software WinradSoftware Winrad
Software Winrad
 
integração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livreintegração de Serviços no Processo de Migração para uma Plataforma Livre
integração de Serviços no Processo de Migração para uma Plataforma Livre
 
Atualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livreAtualização Automática de Aplicações em plataforma livre
Atualização Automática de Aplicações em plataforma livre
 
Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...Integração de Serviços como requisito fundamental no processo de migração par...
Integração de Serviços como requisito fundamental no processo de migração par...
 
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
Instalação e Atualização Automática de Aplicações em Plataforma Livre para Am...
 
Processo de Startup do Linux
Processo de Startup do LinuxProcesso de Startup do Linux
Processo de Startup do Linux
 
Aspectos do kernel Linux e Instalação
Aspectos do kernel Linux e InstalaçãoAspectos do kernel Linux e Instalação
Aspectos do kernel Linux e Instalação
 
Avaliação das distribuições Linux
Avaliação das distribuições LinuxAvaliação das distribuições Linux
Avaliação das distribuições Linux
 
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e ServiçosFISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
FISL8 - Aplicações Livres para Gerenciamento de Redes e Serviços
 
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para VídeoconferênciaFISL7 - Padrões Abertos e Software Livre para Vídeoconferência
FISL7 - Padrões Abertos e Software Livre para Vídeoconferência
 
Suporte e Disponibilidade no Linux
Suporte e Disponibilidade no LinuxSuporte e Disponibilidade no Linux
Suporte e Disponibilidade no Linux
 
Pequena Apostila sobre Software Livre
Pequena Apostila sobre Software LivrePequena Apostila sobre Software Livre
Pequena Apostila sobre Software Livre
 
Apresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMPApresentação da tese - Autenticação para SNMP
Apresentação da tese - Autenticação para SNMP
 

Asterisk

  • 1. TelSL1 – Solução de telefonia sobre redes de dados para pequenas  corporações utilizando softwares livres Celso Henrique Ribeiro, Rafael Antonio Souza Spotto, Mauro Tapajós Santos Curso de Bacharelado em Ciência da Computação Universidade Católica de Brasília (UCB) – Brasília, DF – Brasil celsohr@gmail.com, rafaelspotto@uol.com.br, maurotapajos@gmail.com Abstract: Nowadays functions offered by PSTN and Internet protocols development moves IT sector for building new VoIP applictions. Plain computer systems can make available functions commonly found on expensive public or private telephone switches or PABX. Now this article shows that is possible to build full PABX services upon a local IP network for users. In order to do this, Asterisk, a free software system developed in Linux which supports analog and digital technology, can be used to deal with VoIP protocols and calls routing between PSTN and data network. Here, Asterisk will be used as a PABX solution over local IP data network together with softphones running on workstations. Resumo: As atuais funcionalidades oferecidas pelo sistema telefônico e o desenvolvimento de protocolos Internet, estimulam o setor de TI a criar aplicações VoIP. Sistemas computacionais podem implementar diversas funcionalidades normalmente encontradas em centrais telefônicas privadas, que são caras e proprietárias. Pode-se disponibilizar sobre uma rede IP e com softwares livres, várias das funcionalidades encontradas no serviço de telefonia convencional. O Asterisk, um sistema em software livre desenvolvido em Linux e que integra tecnologia analógica e digital, pode fazer o controle completo do roteamento de chamadas e serviços suplementares usando os protocolos padrões VoIP. Aqui ele será usado como solução de PABX em rede local, juntamente com, softphones de distribuição livre rodando sobre estações de usuários. 1. Introdução O sistema telefônico atual dispõe de diversas funcionalidades que facilitam a comunicação entre usuários e é marcado por enormes investimentos para implantação e manutenção. Na maior parte dos casos, são necessários altos investimentos, para fazer uso dessas vantagens, considerando a necessidade de aquisição e operação de centrais telefônicas que oferecem essas funcionalidades. Voz sobre IP-VoIP é uma tecnologia que cria a possibilidade de integrar aplicações de voz e dados numa mesma rede, facilitando a manipulação das informações, aumentando ainda mais a interatividade entre usuários do mundo inteiro, e reduzindo custos de gerenciamento e operação, quando comparado a ligações telefônicas interurbanas convencionais usando a PSTN. O Asterisk é um exemplo de sistema de telefonia digital via software, de plataforma livre, e que pela abrangência de recursos, pode ser uma alternativa. Considerado um software maduro e estável, possui recursos suficientes que permitem
  • 2. substituir o PABX existente ou complementá-lo com tecnologia VoIP. É um sistema que permite criar soluções de telefonia com vários ramais internos e funcionalidades avançadas, como caixa de mensagens, transferência de chamadas e resposta interativa de voz. Possibilita ainda, interligar servidores Asterisk em uma rede IP, permitindo ligações de longa distância sem usar a rede de telefonia pública. Além disso, este sistema pode se conectar a rede pública por meio de um hardware específico. Como objetivo do trabalho, foi proposta e implementada uma solução para implantação da tecnologia de Voz sobre IP numa rede Ethernet local de pequeno porte, utilizando o Asterisk, sem interligação com a rede pública de telefonia, explorando as diversas funcionalidades disponíveis em sua arquitetura. 2. Telefonia A estrutura do sistema de telecomunicações evoluiu muito ao longo do tempo, passando de uma tecnologia puramente analógica para uma crescente utilização de sistemas digitais. A voz, que é de natureza analógica, precisa ser convertida em sinal digital para utilização em redes digitais, como redes TCP/IP por exemplo, e na recepção, o sinal precisa voltar a sua forma analógica. Para tanto, são utilizados os CODEC’s (Codificador/Decodificador). 2.1. Canais FXS e FXO Para promover a comunicação de um sinal de voz em codificação analógica, proveniente de um telefone convencional conectado a uma rede de dados, com a rede PSTN, é necessário utilizar uma interface física. Normalmente, essa interface é um hardware, por exemplo a placa Zaptel X100P, que apresenta porta(s) para telefones analógicos internos e porta(s) para a rede PSTN, respectivamente FXS e FXO. FXO – Foreign Exchange Office: é a porta utilizada para possibilitar a comunicação com um PABX ou com uma central telefônica da rede PSTN. FXS – Foreign Exchange Station: é a porta utilizada para possibilitar a comunicação com um telefone analógico. 2.2. Centrais Privadas de Comutação Telefônica (PABX) Centrais Privadas de Comutação Telefônica – CPCT, são centrais que podem ser utilizadas por qualquer entidade onde o tráfego telefônico interno se caracteriza por volumes consideráveis e o custo de usar uma grande quantidade de linhas externas se torna indesejável. Estas centrais são conhecidas também por PBX (Private Branch Exchange), de operação manual e PABX (Private Automatic Branch Exchange), de operação automática, que podem estar interligadas ou não a uma central de comutação da Rede Pública de Telefonia – PSTN [2]. O PABX se liga a PSTN por um determinado número de linhas ou troncos, dispondo de linhas internas (ramais) em quantidade superior ao número de troncos. A grande vantagem do PABX é o seu menor custo de operação quando comparado com a
  • 3. utilização direta da rede pública, por não haver tarifação das chamadas internas e por demandar menor número de linhas/troncos que o número total de terminais atendidos [2]. O PABX pode utilizar tanto a comutação analógica como a digital, e desta forma tratar adequadamente chamadas de terminais e canais analógicos ou digitais, codificando o sinal de acordo com o desejado e encaminhando para o caminho especificado. Atualmente, programação computacional é utilizada nestas centrais, com o objetivo de controlar chamadas e integrar novos serviços e funcionalidades. O custo de aquisição de um PABX privado ainda é alto, apesar das reduções provocadas pela evolução digital. Contudo, centrais programadas em software de distribuição livre, como o Asterisk, podem ser implementadas junto com equipamentos multimídia (placa de som, fone e microfone), softphones também livres e hardwares adequados aos canais analógicos ou digitais, exigindo investimentos menores e favorecendo o uso dos serviços e funcionalidades avançados. 2.2.1. Funcionalidades do PABX O PABX é considerado uma evolução do PBX. Pode gerenciar as comunicações de voz dentro de uma empresa, concentrando várias linhas e ramais de colaboradores, oferecendo uma série de facilidades e serviços avançados, como transferência de chamadas, chamada em espera e resposta interativa de voz-IVR. Pode também gerar informações das chamadas, para fins de controle, bilhetagem e tarifação. 3 – Voz sobre IP – VoIP Um dos mais relevantes problemas que dificultam a popularização da tecnologia VoIP, é a obtenção de uma sinalização compatível com as redes existentes e que supra as necessidades emergentes de interconexão. Uma solução única e unanimizada ainda ainda não foi definida, mas algumas já existem: H.323, SIP e MGCP. A definição de qual arquitetura usar deve considerar as características de cada uma e a situação em questão. Será visto no ítem 5, a análise feita sobre o protocolo que se adequa às situações de uso do Asterisk. Contudo, é relevante destacar alguns pontos dos dois conjuntos de protocolos de sinalização VoIP mais importantes, descritos na Tabela 1: Tabela 1 – Comparação das arquiteturas Sip e H.323 Aspecto SIP H.323 Documento de 128 páginas, o que reflete Documento de 736 páginas, o que reflete mais simplicidade. maior complexidade para implementação. Apenas 37 tipos de cabeçalhos de Faz uso de centenas de mensagens. mensagens diferentes. Complexidade Formatação textual, facilitando o Formatação binária. entendimento visual rápido do tráfego. Realiza as operações de forma única para Sua completa interoperabilidade exige a tratamento da uma mesma tarefa. definição de funcionalidades por perfil.
  • 4. Novas características podem ser incluídas Existem algumas predefinições para futuras de forma fácil e compatível com as inclusões. versões anteriores. Escalabilidade Aceita codecs de áudio e vídeo livres, Codecs devem ser padronizados pelo ITU, reconhecidos pelo IAB. proprietário ou padrão. Pode trabalhar nos modos statefull ou É stateful, ou seja, mantém o estado das stateless. No segundo caso, o chamadas. Uma grande quantidade de desempenho não sofre interferência por chamadas simultâneas, pode provocar baixa não ter que armazenar o estado das performance. chamadas. Performance Conferência ocorre de forma distribuída Conferências usa obrigatoriamente a MCU, pelos participantes, sem a necessidade de que centraliza toda sinalização e pode ser um equipamento centralizador. um “gargalo”. Facilidade de transferências, conferências Facilidade de transferências, conferências e e encaminhamento de chamadas. encaminhamento de chamadas. Operabilidade Suporta operação de gateway entre Também suporta operação por gateways. segmentos de redes diferentes, possibilitando tradução de protocolo de sinalização e mídia. 4. Asterisk Dentre os sistemas em software livre existentes atualmente que provêem aplicações de telefonia digital, o Asterisk se destaca por integrar tecnologia analógica e digital para transporte de voz e dados, utilizando eficientemente os protocolos VoIP, sendo considerado uma atraente alternativa para PABX em software [3]. É distribuído sobre os termos da licença GPL (GNU Public Licence) [4]. Desenvolvido, primeiramente, pela empresa Digium [5], sua principal patrocinadora, sendo Mark Spencer, seu principal criador e mantenedor. Além das arquiteturas VoIP apresentadas, o Asterisk também suporta o IAX. O IAX (Inter-Asterisk-Exchange) é um protocolo que provê controle e transmissão de streaming media, incluindo vídeo, mas foi primeiramente desenvolvido para o controle de chamadas de voz sobre IP. Os principais objetivos do protocolo IAX são: minimizar a largura de banda usada para controle e transporte de mídia com ênfase em chamadas de voz e prover suporte nativo para transparência em NAT (Network Adress Translation). IAX é um protocolo de mídia e de sinalização peer-to-peer. Isto significa que os endpoints mantém máquinas de estado com as operações do protocolo. Os componentes de sinalização trabalham no modo cliente-servidor, como o SIP. Com respeito ao transporte de mídia, o controle de sequência e de temporização estão incluídos nos frames do IAX, que não usa o RTP (Real-time Transport Protocol). O IAX é um protocolo aberto e não separa o controle de sinalização e o tranporte da mídia, ele faz isso sozinho, diferente dos outros protocolos que usam RTP/RTCP para o transporte da mídia. O transporte da mídia e a sinalização se faz utilizando a mesma porta UDP (User Datagram Protocol). Por causa disso, ele não sofre de problemas com NAT. Alé disso, permite que múltiplos streams de mídia possam ser representados com um único cabeçalho, reduzindo consideravelmente o overhead. Possui bibliotecas com funções de telefonia que fazem o controle completo do
  • 5. roteamento de chamadas. Dentre outras funcionalidades, como um PABX convencional, oferece correio de mensagens integrado de voz e dados, filas de chamadas onde agentes  atendem as chamadas e monitoram a fila, conferência de chamadas, música em espera  na fila com MP3, registro detalhado de chamadas (CDR ­ call­detail­records) e resposta  interativa de voz. Por meio da parceria da empresa Digium e do projeto Zapata [6], conduzido por Jim Dixon, também foi possível investir em hardware de telefonia de baixo custo, permitindo que o Asterisk possa ter um hardware específico para sua interligação com a rede púbica de telefonia PSTN. O Asterisk pode ser usado nos seguintes contextos:  Soluções   de   telefonia   em   redes   de   dados   locais   (como   Ethernet)   com  protocolos VoIP H.323, SIP, IAX e MGCP, em conjunto com  SoftPhones  e/ou  HardPhones, sendo estes equipamentos ou softwares que realizam as  funções de telefone neste tipo de solução.  Tornar   viável   conexões   de   uma   rede   local   VoIP   com   a   rede   pública   de  telefonia ou com um PABX, por meio de placas específicas que provêem  canais  analógicos  ou digitais. O Asterisk oferece suporte a estes  tipos de  placas.  Conectar­se   à   provedores   de   serviço   de   telefonia   VoIP,   como   o  FreeWorldDialUp, que é uma provedora de serviços de voz em tempo real  de alto desempenho utilizando comunicação IP por meio da Internet. [7].   Possibilita conectar vários escritórios em várias localidades diferentes, por  uma rede privada de dados ou pela Internet, através de conexões seguras. 4.1. Principais funcionalidades As principais funcionalidades do Asterisk são:  Interligação com a PSTN: o Asterisk tem suporte a placas que provêem canais físicos ISDN E1 e T1, FXO e FXS.  CDR ­ Call­Detail­Records – Registro detalhado de chamadas: tem  capacidade de registrar todas chamadas que são realizadas. Armazena  duração da chamada, número de origem, destino, data e hora.  Interligação de Servidores Asterisk: permite a interligação de um ou mais  servidores, aumentando a abrangência do sistema de telefonia.  Conferência: pode­se configurar salas de conferência, onde usuários podem  se logar e falar com todos usuários logados.  DAC – Distribuição Automática de Chamadas em Filas de Espera:  permite configurar filas de espera e distribuir as chamadas entre os membros  de uma organização ou agentes específicos para atendimento.  Música em espera: pode­se configurar uma ou mais músicas para chamadas  que entram na fila de espera.
  • 6. IVR – Resposta de voz interativa: permite criar menus interativos de voz, onde clientes podem ser encaminhados para telefones ou setores específicos.  Integração com banco de dados: pode fazer conexão com banco de dados para configuração dinâmica do plano de discagens, tarifação (billing) e gerar estatísticas.  Caixa de mensagens unificada de voz e texto: tem caixa de mensagens de  voz poderosa, onde usuários podem configurar mensagem de ocupado e  indisponível e aplicações para ouvir suas mensagens ou encaminha­la para  outro usuário. Ainda se pode configurar um correio eletrônico para que as  mensagens de voz possam ser encaminhadas.  Transferência de chamadas: permite transferir uma chamada para outro  telefone.  Estacionamento de chamadas: permite parar uma chamada em um telefone  para poder atender em outro. 4.2. Arquitetura O Asterisk funciona essencialmente como um middleware, conectando as tecnologias de telefonia na base e as aplicações de telefonia no topo em uma visão externa [3], como mostra a Figura 1. Tecnologias de telefonia podem ser digitais usando protocolos VoIP, canais ISDN do tipo T1, E1, PRI e BRI, e analógico como PSTN. Aplicações de telefonia incluem distribuição automática de chamadas, conferência, caixa de mensagens, atendimento automático. Figura 1 – Visão externa do Asterisk 4.2.1. Arquitetura interna Quando o Asterisk é inicializado, o DML (Dynamic Module Loader) lê e inicializa cada um dos drivers que disponibilizam canais, formatos de arquivo, detalhamento de chamadas, CODECs, e liga com as API's internas [3]. Então, o Switching Core PBX, o núcleo comutação, começa a aceitar chamadas das interfaces e tratá-las de acordo com o dialplan (plano de discagens), usando as aplicações para chamar telefones, conectar com a caixa de mensagens, fazer conexão com troncamento externos, entre outros. O Core provê um Scheduler (Agendador) e um Gerenciador de I/O para que as aplicações e os drivers possam usar [3]. Além disso, existe o Code Translator, com
  • 7. a função de tradutor que permite usar canais com codificadores e decodificadores (CODECs/DECoder) de diferentes tipos para que usuários possam falar um com o outro. A maioria das funcionalidades que se pode tirar proveito vem dos canais, CODECs, aplicações, formato de arquivos e varias interfaces de programação, assim como mostra a Figura 2. Figura 2 – Arquitetura interna (core) do Asterisk 4.3. Canais, codecs e protocolos Os canais, codecs e protocolos suportados pelo Asterisk são. 4.3.1. Canais Canais são conexões lógicas com vários tipos de sinalização e caminhos usados para conectar chamadas. Eles podem ser físicos FXS, FXO, PRI, BRI, T1 e E1, providos por placas. Podem também ser baseados em softwares, com alguma combinação de CODEC com protocolo de sinalização, por exemplo GSM com SIP ou G.711 com IAX [11]. O Asterisk suporta vários tipos de hardware que provêem canais físicos, como placas ISDN e placas de canais T1/E1 disponíveis no mercado. 4.3.2. Codecs CODEC(COder/DECoder), é um software codificador dos sinais da voz, para que o sinal possa ser transmitido digitalmente. A Tabela 2 mostra os CODECs que o Asterisk suporta: Tabela 2 – CODECs suportados pelo Asterisk CODEC Bitrate (Kbps) Requer Licença G.711 64 Não G.726 16, 24 ou 32 Não G.723.1 5,3 ou 6,3 Sim G.729 8 Sim GSM 13 Não
  • 8. CODEC Bitrate (Kbps) Requer Licença iLBC 13,3 ou 15,2 Não Speex 2,5 à 22,4 Não 4.3.3. Protocolos Os principais protocolos VoIP, que definem a sinalização de uma chamada, como o estabelecimento e encerramento de uma comunicação, registro e autenticação de usuários e sinalização acústica de serviços avançados, como tom de discagem, tom de chamada, tom de número inacessível, tom de aviso de chamada em espera e tons de programação e o tráfego real de voz dogotaçizada são suportados pelo Asterisk [3]. Além dos protocolos padrão SIP, H.323, IAX e MGCP, o asterisk tem suporte também a protocolos proprietários, como o SCCP (Cisco Skinny) e o UNISTIM, protocolo da Nortel. 4.4. Plano de discagens O plano de discagens é a peça mais importante na configuração do Asterisk. O arquivo responsável por sua configuração é o extensions.conf. Ele controla como todas as chamadas de entrada e saída são encaminhadas e manuseadas. Ele consiste em um conjunto de contextos, cada contexto consiste em um conjunto de extensões. Cada extensão é uma instrução para que o Asterisk possa tomar uma determinada decisão em relação à um chamada de entrada ou saída. Quando o Asterisk recebe uma chamada, de entrada ou saída, esta chamada pertence a um contexto. A qual contexto a chamada pertence, depende de qual canal a chamada foi originada. Um contexto é configurado para cada canal. Os contextos podem ser usados para implementar um número importante de recursos, incluindo:  Segurança: controle de acesso a ligações de longa distância;  Roteamento: rotear chamadas baseadas em uma extensão;  Auto-atendimento;  Menus multicamada: um menu para cada setor de uma empresa, por exemplo;  Autenticação: pedir por senha para certas extensões;  Decisões baseadas em horário;  Permite criar macros: funções para aplicações normalmente usadas;  Permite o uso de variáveis;  Permite o tratamento de strings. 5. Solução para PABX local A definição do ambiente para implantação de uma rede VoIP, passa por algumas etapas, considerando os passos necessários para elaboração da rede e os recursos disponíveis. Uma solução de telefonia para pequenas corporações sobre uma rede de dados com software livre é um caso de uso aplicável no mercado atualmente. Por isso, a solução implementada, pretende criar um ambiente real de funcionamento de um sistema de telefonia. As etapas envolvidas nesse processo, devem contemplar desde levantamento de requisitos do ambiente, análise dos requisitos, elaboração da solução até testes e manutenção.
  • 9. Assim, foi escolhido um ambiente de pequeno porte, caracterizado por poucos computadores conectados em uma rede local Ethernet, com a finalidade de validar o funcionamento do sistema e sua ampla quantidade de funcionalidades. 5.1. Motivação Pequenas corporações, geralmente utilizam um PABX proprietário para prover ramais e conexão com a rede pública de telefonia (PSTN). Esse sistema é caracterizado por ter um alto custo de implantação, provocado pelo custo dos equipamentos utilizados, e pelo alto custo operacional. As pequenas corporações normalmente possuem uma rede de dados para o desenvolvimento de suas atividades. Estas redes, na maior parte dos casos, podem agregar o serviço de telefonia IP. Com esse intuito, são mostrados cenários onde o Asterisk funciona como provedor do serviço de PABX em software. 5.2 – Ambiente Montado A Figura 3 mostra como foi montado o ambiente com rede local Ethernet 100, um servidor Asterisk sobre distribuição Debian Sarge com processador de 2.4GHz e RAM de 512MB, além de quatro estações cliente com telefones VoIP: 3 Linux e 1 Windows. Acesso à Internet também foi disponibilizado junto com os serviços DHCP e DNS. Figura 3 – Ambiente de caso de uso Todas as estações eram baseadas em softphones. Os softphone propostos foram: • Softphone IAXComm para protocolo IAX • Softphone X-Lite para protocolo SIP • Softphone GnomeMeeting para protocolo H323 Em função de melhor dsempenho e funcionalidades. O endereço IP das estações com Softphones podem ser dinâmicos permitindo que um usuário possa se logar no servidor de qualquer estação que possua um Softphone instalado. 5.3. Análise do protocolo VoIP Para escolher a arquitetura de protocolos para o servidor Asterisk é preciso analizar critérios como:
  • 10. Nível de funcionalidades suportadas pelo servidor;  Habilidade de trabalhar com a topologia NAT (Network Adress   Translation);  Segurança;  Uso de banda passante. O protocolo SIP foi projetado pela IETF (Internet Engineering Task Force) para interoperar com as aplicações da Internet existentes, implementando a sinalização VoIP de maneira consistente O Asterisk tem um suporte maior para este protocolo do que para MGCP e H.323 [13]. O IAX tem a capacidade de diminuir o uso de banda passante porque tem a habilidade de juntar multiplas sessões em um único fluxo de dados. Isso permite que múltiplos streams de mídia possam ser representados com um único cabeçalho de datagrama, diminuindo consideravelmente o overhead na rede. Além disso, ajuda a diminuir a latência e reduzir processamento, possibilitando um número maior de canais na rede [12]. O H.323 controla todas as chamadas através de um gatekeeper. Para trabalhar em um rede que implementa NAT, é preciso ter um proxy rodando como gatekeeper. O Asterisk não pode agir como um gatekeeper H.323, precisando usar uma aplicação a parte para esta tarefa, conforme [12]. 5.4. Análise do Codec Numa rede corporativa é importante diminuir a sobrecarga da rede de dados e usar CODECs que ocupam menos largura de banda. Além disso é preciso avaliar a qualidade da voz. Para escolher um CODEC é preciso avaliar, principalmente, os critérios de largura de banda e qualidade da voz. É importante ressaltar que é recomendado padronizar um CODEC apenas para a rede inteira, para que não hajam problemas com a qualidade da voz e não sobrecarregue o servidor com tradução entre CODECs diferentes. Dentre todos os CODECS, três tem destaque para uma rede de dados corporativa: GSM, iLBC e Speex, porquê ocupam pequena largura de banda e são públicos (livres). 5.5. Descrição das funcionalidades implementadas na solução O ambiente utilizado para implantar a rede VoIP, é configurado com quatro computadores. O sistema será dotado de algumas funcionalidades descritas nos próximos itens, que possibilitam a operação satisfatória do ambiente corporativo definido, cabendo descrever dois casos de uso básicos: Caso de Uso 1: “Uma chamada é recebida por um colaborador de determinado departamento, tocando seu terminal, cujo número corresponde ao informado pelo emissor. Se o receptor atender o chamado, a conexão será estabelecida e o diálogo ocorrerá. Caso não atenda, a chamada será direcionada para a caixa de mensagem do terminal receptor, onde quem originou a chamada será orientado a deixar uma mensagem, que por sua vez será enviada para o endereço eletrônico do receptor.“ Caso de Uso 2:
  • 11. “O emissor fará uma chamada para o departamento. A chamada será direcionada para um menu de voz. Ao término da mensagem o emissor deverá informar o número que correponde ao receptor desejado. Caso não disque nenhuma opção, é encaminhado para a fila de espera de chamadas, onde escutará uma música em espera até que um membro o atenda.” 5.5.1. Telefones VoIP nas estações Existem duas situações usando Asterisk. Em uma situação, os pacotes com a voz codificada, podem ser configurados para passar pelo servidor, Na outra, a mídia pode ser configurada para não passar pelo servidor, apenas a sinalização para estabelecer uma chamada. Se a mídia não passar pelo servidor Asterisk, não há possibilidade de sobrecarregá-lo, porém, perde três funcionalidades: não registra os tempos de duração das chamadas; assim que uma chamada é estabelecida o servidor deixa de monitorá-la, impossibilitando a tarifação, a transferência e o estacionamento de chamadas somente são possíveis se a mídia passar pelo servidor. Há dois tipos de configurações de telefone: uma configuração global e um configuração específica para cada um. Pode-se configurar um telefone apenas para realizar chamadas (users), apenas para receber chamadas (peers) ou os dois (friends). Foi configurado uma senha para cada usuário e um número para caixa de mensagens. Todos telefones devem ser configurados para serem utilizados por um contexto no plano de discagens. Os arquivos de configuração para os telefones telefones, são: sip.conf, iax.conf, h323.conf e mgcp.conf. As principais aplicações que o Asterisk utiliza para telefones são:  Dial(telefone) – Toca um telefone  Answer() - Atende um telefone  Hangup() - Desliga a chamada 5.5.2. Caixa de mensagens de voz e dados unificada É permitido configurar uma caixa de mensagens de voz para cada usuário, quando este está ocupado ou indisponível. O telefone emissor após gravar uma mensagem, tem como possibilidade realizar as seguintes ações: aceitar; revisar, regravar ou ir para a telefonista. No arquivo de configuração de caixa de mensagens, é configurado uma senha de acesso e um correio eletrônico para que as mensagens de voz possam ser encaminhadas. As mensagens de voz podem ser gravadas em um dos três formatos: wav, gsm e wav49, sendo o formato gsm o que ocupa menos espaço em disco, seguido do wav49 e wav, conforme [11]. Qualquer usuário que quiser acessar sua caixa de mensagens deve ser orientado a discar no número escolhido pelos administradores do servidor Asterisk. O número escolhido neste projeto foi o 9000. Discando para esse número o usuário ouvirá uma voz orientando a discar o número da sua caixa de mensagem e senha. As principais aplicações utilizadas pelo Asterisk neste item são:  Voicemail (número de correio) - Encaminha para a caixa de mensagens.
  • 12. VoicemailMain () - Para acessar a caixa de mensagens e configuração de mensagens de voz. 5.5.3. Resposta de voz interativa - IVR A resposta de voz interativa, conhecida em inglês como IVR (Interactive Voice Response), são menus de voz que permitem que chamadas possam ser encaminhadas para um determinado usuário, um determinado setor de uma corporação ou ainda pode ser encaminhada para fila de espera. Foi criado um menu de voz para que quando um usuário ligue para o número de determinado departamento com mais de um telefone, ouvirá as opções que foram definidas conforme a seguinte mensagem de entrada: “Você ligou para o CESMIC, disque 1 para falar com Mauro Tapajós, disque 2 para falar com Eduardo Lobo, disque 3 para falar Raissa“. O sistema é configurado para espera alguns segundos até que uma opção seja informada. O número discado encaminhará a chamada para o destino informado e fará tocar o telefone desejado. As principais aplicações utilizadas pelo Asterisk neste item são:  Wait (segundos) – Espera por tantos segundos.  Record (nome da mensagem) - Grava uma mensagem.  Playback (mensagem) - Toca uma mensagem.  GoTo () - Vai para um determinado lugar de um contexto. 5.5.4. Registro detalhado de chamadas e tarifação O registro detalhado de chamadas é uma funcionalidade que o Asterisk tem que pode ser configurada para registrar as chamadas em arquivo de texto comum ou fazer conexão com banco de dados e registrar em tabelas. O Asterisk tem suporte ao banco de dados PostgreSql diretamente, sem usar um drive ODBC e tem suporte a outros bancos de dados usando um driver ODBC. É registrado quem efetuou a chamada, o receptor, a duração, o protocolo, o canal, entre outros. Uma vez habilitada essa funcionalidade, o servidor registra automaticamente todas chamadas que passam por ele. Quando a mídia não passa por ele, a duração da chamada não é registrada. A tarifação somente é possível quando é configurado uma conexão com banco de dados. A partir daí, aplicativos podem fazer cálculos sobre duração de chamadas e tarifar. Um exemplo de aplicativo é o Asterisk-stat [14], que gera gráficos e faz consultas no banco de dados. 5.5.5. Conferência Para o uso da conferência e de música em espera é preciso de um temporizador. Placas Zaptel provêem esse temporizador. Quando não é possível ter uma placa, é possível usar um temporizador através do módulo usb : uhci-hcd usado no Linux para gerenciar portas usb. Para tanto é preciso compilar um módulo chamado “ztdummy“, um driver que pode ser compilado junto ao código-fonte dos drivers da Zaptel. Para conseguir os código-fonte desse módulo é preciso baixá-lo do CVS da empresa Digium.
  • 13. Uma vez configurado esse módulo e ele em funcionamento é possível configurar salas de conferência. As salas são referenciadas por um número e uma senha de acesso. Caso o usuário queira entrar na sala, ele deve discar para o número referenciado no plano de discagens e então é orientado a discar a senha de acesso. Caso confirmada, o usuário entra na sala e fala com todos os usuários que estiverem nela. A principal aplicação utilizada pelo Asterisk é neste item é:  MeetMe (sala de conferência) – Encaminha o usuário para uma sala de conferência. 5.5.6. Música em espera Também com o auxílio do módulo ztdummy, a música em espera pode ser configurada para usuários que são encaminhados para filas de espera e pode ser configurada para tocar durante um tempo pré-definido. Enquanto está na fila de espera, o usuário ouve uma música configurada ou várias músicas em seqüência, até que um membro da organização ou um agente atenda a ligação. O aplicativo padrão que o Asterisk usa para tocar músicas é o mpg123 [15], porém pode ser configurado outro aplicativo. Como foi o caso deste projeto que usou o Madplay. As principais aplicações utilizadas pelo Asterisk neste item são:  WaitMusicOnHold (segundos) - Ouve uma música em espera por um determinado tempo.  MP3Player (arquivo) – Toca uma música em MP3. 5.5.7. Distribuidor automático de chamadas em filas - DAC Filas de espera podem ser configuradas no plano de discagens para que um usuário possa ser encaminhado. Enquanto espera o atendimento da chamada ele ouve uma música. Pode ser configurada uma fila para cada setor de uma empresa ou uma fila única para toda empresa. As chamadas que chegam na fila de espera podem são atendidas por membros que podem ser telefones comuns ou por agentes. Agentes são usuários específicos para atender chamada em fila de espera, como em call-centers. Existem seis maneiras de se distribuir as chamadas para telefones ou agentes, infomrando a maneira desejada na diretiva strategy do arquivo de configuração queue.conf. 5.5.8. Transferência de chamadas A mídia tem que passar pelo servidor para que uma chamada possa ser transferida. Quando o usuário quer tranferir uma chamada, ele tem duas opções:  Usa o Softphone para transferir;  Usa o servidor para transferir; Com o Softphone, é preciso somente clicar no botão de transferência e digitar o número desejado e então o telefone de destino tocará. Com o servidor há dois tipos de transferência:
  • 14.  Transferência sem assistência;   Transferência com assistência; 5.5.9. Estacionamento de chamadas É usado para estacionar uma chamada. Auxilia quando um usuário está atendendo um telefone fora de sua sala. Ele pode estacionar a chamada em uma determinada extensão e quando se mover de volta a sua sala digita a extensão onde a chamada está estacionada e atende novamente. 5.5.10. Captura de chamadas A captura de chamadas funciona quando um telefone de outro usuário está tocando e se quer puxar esta chamada. Se digita uma determinada seqüência, como “*8“, e a chamada é capturada. 5.5.11. Interfaces gráficas para as funcionalidades Existem interfaces gráficas para o Asterisk fazer tarifação, configuração, gerenciamento, visualização de status, gerenciamento de call center , interfaces de uso, como mostra [16]. Neste trabalho, não foram utilizadas interfaces gráficas de configuração para o Asterisk. 6. Conclusões O Asterisk é um sistema livre robusto, capaz de suportar diversas funcionalidades presentes em PABX de porte comercial. Com ele é possível fazer uso dos protocolos de suporte a VoIP para implantar sistemas de telefonia sob a rede de dados, e ainda permite utilizar as tecnologias existentes na rede pública de telefonia. Implementado sobre uma rede local de pequeno porte, permite criar uma ambiente com comportamento estável, confiável e seguro, integrando a rede de dados com rede digital de voz. Sua arquitetura provê interoperabilidade de clientes Linux e Windows. O Asterisk é capaz de reduzir significativamente o custo de implantação e operação de um sistema de telefonia quando comparado com tecnologias tradicionais de telecomunicações. Sua implantação em redes de pequeno porte exige baixos investimentos, poucos recursos de hardware e software, pequena largura de banda disponível e conhecimento em rede de computadores para configurá-lo adequadamente. Este trabalho visou fornecer parâmetros de configuração da solução com Asterisk no papel de PABX dentro do contexto de uso numa rede local. Cabe acrescentar que o Asterisk é livre sob licença GPL e possui um razoável número de implementações funcionais suportado por uma comunidade visivelmente atuante. Referências [1] – JESZENSKY, Paul Jean Etienne. Sistemas Telefônicos. 1ª edição brasileira. 2004. [2] – PINHEIRO, José Maurício Souza. Centrais Privadas de Telefonia. Disponível em: www.projetoderedes.com.br/artigos, acessado em 05 dez. 2005. [3] – SPENCER, Mark, ALLISON, Mark e RHODES, Christopher. The Asterisk
  • 15. Handbook version 2 [4] – GNU, General Public License. Disponível em: <http://www.gnu.org/licenses/gpl.html> [5] – Digium, The primary developer and sponsor of Asterisk. Localizado em: http://www.digium.com [6] – Asterisk Documentation Project, The History of Zapata Telephony. Disponível em: <http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10> [7] –Free World Dial UP, Communication for geeks by geeks. Disponível em: http://www.freeworlddialup.com [8] – Digium, Telephony for business. Wildcard TE410P. Disponível em: <http://www.digium.com/index.php? menu=product_detail&category=hardware&product=TE410P> [9] – Asterisk Brasil, A comunidade brasileira do Asterisk. Localizado em: <http://asteriskbrasil.org> [10] – Asterisk Documentation Project. Disponível em: http://www.asteriskdocs.org [11] – GONÇALVES, Flavio Eduardo Andrade. Asterisk PBX – Guia de Configuração. Disponível em: http://www.voffice.com [12] – MEGELLEN, Jim Van, SMITH, Jared, MADSEN, Leif. Asterisk – The Future of Telephony, O’Reilly. [13] – VoIP Wiki, A reference guide for all things VoIP. Disponível em: http://www.voip-info.org [14] – Asterisk-stat, CDR Analyser. Disponível em: <http://www.voip- info.org/wiki/index.php?page=Asterisk+CDR+Areski+GUI> [15] – Real Time MPEG Audio Player for Layer 1,2 and Layer3. Disponível em: <http://www.mpg123.de> [16] – Asterisk GUI, Graphical Users Interfaces. Disponível em: <http://www.voip­ info.org/wiki/view/Asterisk+GUI>