ESTUDO E DESENVOLVIMENTO DE SOLUÇÕES DE VOZ SOBRE IP BASEADO EM
SOFTWARE LIVRE
Leonardo Jacintho Cerqueira Pucci - [email protected]
Thiago Dalle Dias de Paiva
Evandro Luis Brandão Gomes [email protected]
Antônio Marcos Alberti
[email protected] Resumo – Este artigo tem como objetivo mostrar os estudos feitos sobre protocolos de VoIP (Voz sobre IP), suas arquiteturas, vantagens, desvantagens, limitações e cenários de implementação. Num pri-meiro momento estudamos os protocolos possíveis de serem implementados utilizando a plataforma Software Livre Asterisk PBX. Também mostrare-mos as possíveis tecnologias de comunicação que se integram à plataforma. Abstract – This article aims to describe VoIP, and its advantages, disadvantages, limitations and im-plementation possibilities. The study starts with a brief description of protocols that can be used with Asterisk PBX free software. It will also be discussed technologies that can be integrated with this plat-form. Palavras-Chave: VoIP, Internet, IP, H.323, Aste-risk, SIP, MGCP, MEGACO, IAX, Software Livre.
I. INTRODUÇÃO
Atualmente muito se discute sobre Voz sobre IP, que é uma tecnologia que tem como principal objetivo à conciliação do tráfego de voz e do transporte de da-dos em uma mesma rede de serviços, a Internet. Para isso utiliza-se novas tecnologias de digitalização de sons, protocolos de transporte de dados e de sinaliza-ção, surgindo assim um novo conceito em telefonia. É a Telefonia IP.
A Telefonia IP proporciona alguns serviços adi-cionais não encontrados na telefonia convencional, mas o seu principal atrativo é sem sombra de dúvidas a re-dução de custos com ligações, e a convergência de da-dos e multimídia em uma rede já existente e tão difun-dida como a Internet.
II. PROTOCOLOS
Assim como em qualquer outra nova tecnologia, para que o VoIP funcionasse corretamente foi necessá-ria a padronização dos protocolos. Assim sendo, muitas pessoas interessadas se uniram e sob a ajuda da ITU (International Telecommunication Union), emitiram a Recomendação H.323, que consiste em um conjunto de protocolos que permitem a comunicação entre termi-nais usando aplicações de áudio, vídeo e dados multi-mídia. Em meados de 1999 a IETF (Internet Enginee-ring Task Force) apresenta outra solução denominada SIP (Session Initiation Protocol), que nada mais é do
que uma forma mais simples e modular de utilizar Voz Sobre IP. Outro protocolo existente é o MGCP (Media Gateway Control Protocol) que é o protocolo presente nos GWs (Gateways) dos sistemas VoIP. Ele foi criado pela IETF em conjunto com a ITU e tem como princi-pal função o controle de chamadas, transmissões de sinalizações e monitoramento de troncos de telefonia, enviando mensagens de mídia para endereços específi-cos. Existem diversas outras soluções proprietárias de protocolos VoIP, mas por possuírem maior destaque e eficiência comprovada os protocolos H.323, SIP, MGCP e IAX (utilizado especificamente pelo Software Livre Asterisk PBX) serão os principais focos desse artigo.
II.1. H.323
O protocolo H.323 é define uma arquitetura de telefonia para a Internet. O protocolo H.323 é um pro-tocolo típico da indústria telefônica. Possuí chamadas bem definidas, pilha de protocolos completa e definição de requisitos e limitações da arquitetura.
Existem diversos outros protocolos específicos referenciados ao H.323, protocolos específicos para: codificação de voz, configuração de chamadas, sinali-zação, transporte de dados e outras áreas que permitem o estabelecimento e controle de uma comunicação mul-timídia através da Internet.
A arquitetura básica do H.323 é apresentada a-baixo:
Figura 1. Modelo da arquitetura H.323 para telefonia na
Internet.
II.2. SIP
O SIP (Session Initiation Protocol) foi proposto pela IETF, e diferentemente do H.323 não é um con-junto de protocolos completo e sim um único protocolo
projetado para trabalhar juntamente com outras aplica-ções já existentes.
O SIP como sua própria sigla já diz, tem a fun-ção de iniciar, configurar, gerenciar e encerrar sessões multimídia, tais como chamadas telefônicas sobre IP ou conferências multimídia. O SIP atua na camada de a-plicação da Internet e foi projetado para interagir com outros protocolos da Internet como TCP, UDP, TLS, IP, HTTP, SMTP, entre outros. Por esse motivo oferece grande estabilidade e flexibilidade.
A arquitetura básica do SIP é apresentada abai-xo:
Figura 2. Modelo da arquitetura SIP para telefonia na
Internet.
II.3. MGCP / H.248 (MEGACO)
O MGCP (Media Gateway Control Protocol) foi proposto pelo grupo de trabalho IETF (Internet Engine-er Task Force) objetivando uma integração da arquite-tura SS#7, adotada em redes de sinalização na telefonia tradicional, com redes IP, Frame Relay e ATM. Em uma evolução do MGCP, o trabalho cooperativo de grupos do ITU-T e do IETF resultou na recomendação H.248, definida também com o protocolo Megaco (I-ETF), através do RFC 3015. O protocolo Megaco é um padrão desenvolvido cooperativamente entre o ITU e a IETF para permitir que um media gateway controller (MGC) controle um media gateway (MG). Competindo com outros protocolos como o MGCP e MDCP, é con-siderado um protocolo complementar ao H.323 e ao SIP, no qual o MGC controla os MGs via H.248, mas poderá comunicar-se via H.323 ou SIP, ou ainda IAX (utilizando o Asterisk PBX, por exemplo).
II.4. IAX
O IAX (Inter-Asterisk eXchange) foi um proto-colo criado pelos desenvolvedores do Software Livre Asterisk PBX, é um protocolo de controle e transmis-são de dados de mídia em uma rede ponto a ponto. O IAX tem capacidade de transportar qualquer tipo de mídia e tem como principal função à sinalização de chamadas.
Diferentemente do H.323 e do SIP, não utiliza os protocolos RTP/RTCP para a transmissão de dados, e sim faz uma multiplexação de diversos fluxos de mí-dia em um único datagrama UDP, que também é utili-zado para a sinalização das chamadas.
Todos os datagramas UDP são transmitidos em uma porta padrão (UDP 4569), podendo dessa forma unificar as duas atividades (sinalização e transmissão do fluxo) em um único protocolo. Essa característica pode ser utilizada com grande eficiência para eliminar problemas relacionados com o NAT (Network Address Translation), problemas esses existentes no SIP.
Abaixo mostramos como ocorre o estabeleci-mento de uma chamada entre dois terminais utilizando o protocolo IAX:
Figura 3. Múltiplos fluxos multiplexados em um único
canal.
III. PLATAFORMA UTILIZADA
O Software Livre PBX Asterisk é um PBX IP
completo criado pela Digium, empresa de software e hardware. Roda sobre UNIX e outras plataformas deri-vadas, como Linux e BSD. Foi projetado e desenvolvi-do para facilitar a adição e gerenciamento, de forma consistente, de qualquer componente de telefonia, seja ele hardware ou software, permitindo assim que o usuá-rio modele seu PBX IP da forma que preferir.
As diversas tecnologias e interfaces suportadas
pelo Asterisk são divididas em três grupos gerais: • Interface Pseudo TDM Zaptel: Estas interfaces
permitem a integração com o sistema telefônico digital e analógico e possuem suporte à Pseudo-TDM Swit-ching, o que permite a realização de conferências de vídeo.
• Interface não Zaptel: Estas interfaces permitem a integração com o sistema telefônico digital e analógi-co, mas não possuem suporte à Pseudo-TDM Swit-ching, permitindo somente a realização de chamadas telefônicas.
• Protocolos de pacotes de voz: São os protoco-los padrões para a comunicação através de VoIP (SIP, IAX, H.323, MGCP, etc.), e não necessitam de nenhum hardware adicional para realizar uma chamada.
• Áudio Codecs: Codificação de Voz utilizando métodos de codificação de voz que utilizam métodos adaptativos (alguns codecs suportados pelo Asterisk: G.711, G.723, G.729, G.728, ADPCM, etc).
Os componentes básicos da arquitetura do Aste-
risk são: • Canais - São equivalentes a uma linha telefô-
nica do STFC (Sistema Telefônico Fixo Comutado); • Codecs - São os responsáveis por permitir tal
compactação da voz, o que torna realizável a comuni-cação (em uma única rede de dados com limitação de banda) entre vários canais, simultaneamente. O Aste-risk possui também tradutores de codecs, o que permite que canais que utilizam diferentes codecs (com diferen-tes taxas de compressão) possam se comunicar.
•Protocolos - SIP, H.323, IAX, MGCP, etc; •Aplicação - São as funcionalidades adicionais,
em relação a um PABX legado, encontradas no Aste-risk PBX: como Voice-Mail, videoconferências, Fax-Mail, entre tantas outras.
A seguir mostramos um diagrama com os com-ponentes básicos da arquitetura do Asterisk e suas prin-cipais interações:
Figura 4 – Arquitetura geral da Plataforma Asterisk
IV. APLICAÇÕES
O Asterisk possui todas as características de
uma central telefônica de grande porte, disponibiliza ainda serviços de Voice-Mail, Fax-Mail, URA (Unida-de de Resposta Audível) e DAC (Distribuidor automá-tico de chamadas), etc.
O Asterisk pode ser utilizado em diversas apli-
cações, entre as quais podemos citar: • Gateway VoIP (MGCP, SIP, IAX, H.323); • Private Branch eXchange (PBX); • Servidor URA; • Softswitch – Atuando como comutador de cir-
cuitos de hardware; • Centrais de Telemarketing; • Correio de voz - uma secretária eletrônica ou
caixa de mensagens como as de um telefone celular;
• Sistema de mensagens unificadas - todas as mensagens, de qualquer espécie, de um usuário são direcionadas para um mesmo local, como sua caixa de e-mail, por exemplo;
• Distribuidor automático de chamadas com controle de filas (DAC);
• Servidor de música em espera; • Servidor de conferência (vídeo e voz). • Serviço de presença.
Além destas funcionalidades já esperadas na atua-lização de um PBX legado pelo Asterisk, existem mó-dulos de interligação entre o Asterisk e outras tecnolo-gias:
• Sistema de Anúncio
Recurso muito utilizado em que a secretária anun-cia um telefonema pelos alto-falantes: “Doutor Claudio – Ramal 22”. A interligação pode ser feita também com porteiros eletrônicos e demais sistemas half-duplex e full-duplex.
• Rádio UHF/VHF/GSM/PTT
Figura 5 – Integração rádio – Asterisk
• Notificação de chamada pela rede O Asterisk emite um datagrama UDP que sinaliza
no computador uma chamada sendo recebida no telefo-ne (ramal físico da pessoa).
Figura 6 – Notificação via rede.
• Notificação de chamada por SMS O usuário do ramal recebe no seu aparelho celular
o número da pessoa que ligou e se ela deixou ou não recado. Como já existe hoje na rede celular. Só que implementado no ramal do servidor Asterisk.
• Mobilidade de Ramais Os ramais podem ser alterados facilmente com o
uso de login e senha. Pode ser configurado um ramal via Internet. Um funcionário pode levar seu notebook a um cliente, efetuar o login em seu ramal na empresa
pela Internet e receber chamadas como se estivesse dentro da empresa.
• Fila de Atendimento Ao ligar para o número desejado, uma gravação
avisa que o chamada está na fila, passando o tempo estimado para retornar a ligação. Ao ligar novamente o chamador é atendido na hora ou seu tempo de espera é atualizado. Assim, não é necessário ficar escutando uma gravação e aguardando ser atendido. Ao ligar no-vamente, o chamador continua na fila e não perde: sua vez, tempo esperando no telefone e ainda pode ligar de outro número e continuar seu atendimento com o seu lugar na fila.
• Monitoramento de Call Center Permite ao administrador do Call Center, verificar
entre outras coisas, quais são os ramais atendendo no momento, a percentagem de utilização dos ramais, o tempo médio das ligações atendidas e realizadas, além da possibilidade de realização de gravações das liga-ções para uma posterior auditoria.
Figura 7 - Monitoramento de Call Center.
• Discagem Preditiva
Sistema que realiza chamadas automaticamente,
distribuindo-as automaticamente entre os agentes sem-pre que são atendidas e desloca ligações para números ocupados, ou que não tenham sido atendidos, para o final da lista de chamadas a realizar. Valendo-se de recursos avançados de software, os sistemas de disca-gem preditiva também dão conta de estimativas do nú-mero de chamadas a serem realizadas e do número de agentes disponíveis para lidar com estas ligações.
• Acesso ao PBX Externamente
Permite que um funcionário estando em casa ligue
na empresa, pague preço de “ligação local”, se autenti-que no PBX e faça chamadas para clientes e demais ramais da empresa.
• Ligações via Página WEB
Figura 8 – Página web contendo o ramal e número a
serem chamados.
As ligações pela página podem responder tanto para o ramal interno ou em outro tipo de interação, em que o cliente acessando seu site resolve obter mais in-formações e realiza uma chamada entre o site e o seu servidor VoIP pela Internet. Desta forma, é possível se acessar o Call Center da empresa. Tudo isto usando o seu servidor VoIP, seu link de internet e o link do seu cliente.
V. ESTUDO DE CASO
Abaixo mostramos os dados obtidos em uma li-
gação VoIP usando o protocolo SIP. Estes dados foram coletados no laboratório do Mestrado e Iniciação Cien-tífica do INATEL:
A análise de Jitter no nível IP não é realizável em um ambiente operacional comum. Portanto, reali-zamos uma análise no nível RTP, utilizando o sistema operacional UNIX, onde é possível medir o valor mé-dio de todas as diferenças de atrasos incrementais, do início de uma conversação, até o pacote final da mes-ma.
Figura 9 – Cálculo de Jitter em uma chamada VoIP intra-rede.
Realizamos também uma análise do estabeleci-mento de uma chamada VoIP utilizando SIP até sua finalização. O resultado é mostrado no diagrama de tempo da Figura 10. Nesta figura podemos observar os tempos, codecs e os IPs dos terminais reais envolvidos.
Figura 10 – Diagrama de tempo do SIP em uma cha-
mada VoIP intra-rede.
Além do diagrama temporal do SIP, capturamos nessa mesma análise o número de pacotes SIP e sua respectiva função.
Figura 11 – Pacotes SIP em uma chamada VoIP intra-rede.
VI. CONSIDERAÇÕES FINAIS
Através do presente artigo, apresentamos as principais características técnicas relativas aos protoco-los mais utilizados no VoIP, processos de estabeleci-mento de chamadas e os tipos de dispositivos envolvi-dos em uma rede VoIP. O que se espera é que o uso do VoIP cresça cada vez mais devido a fatores como o crescimento da oferta de serviços com maior largura de banda e com um preço cada vez mais acessível. Enxer-gamos na convergência entre a área de Telecomunica-ções e a de Informática um fator decisivo para a migra-ção, nas empresas e instituições, de sistemas proprietá-rios para sistemas abertos utilizando Software Livre.
O estudo de caso realizado de forma prática foi realizado inserindo a plataforma Asterisk PBX em um ambiente real, o laboratório da Iniciação Científica do INATEL, onde realizamos algumas chamadas entre terminais SoftPhones e assim conseguimos os dados para análise.
Alguns objetivos não foram possíveis de se al-cançar, tais como a interligação entre duas redes distin-tas, a ligação entre o Asterisk e a rede STFC. Isso ocor-reu em função da burocracia e questões relativas à se-gurança da rede da Instituição. Esperamos poder reali-zar até o final dos nossos estudos mais testes significa-tivos relacionados à implantação de uma possível rede VoIP dentro da Instituição e/ou ambientes correlatos a Instituição (filiais e/ou parceiros).
VII. AGRADECIMENTOS
Gostaríamos de agradecer a FINATEL (Funda-ção Instituto Nacional de Telecomunicações) e a FA-PEMIG (Fundação de Amparo à Pesquisa do Estado de Minas Gerais) pelo suporte a este trabalho e, também a todos que de alguma forma contribuíram para a realiza-ção do mesmo.
REFERÊNCIAS
[1] TANENBAUM, A. S. Redes de Computadores. 4. ed. São Paulo: Campus, 2003.
[2] DANTAS, M. Tecnologias de Redes de Comuni-cação e Computadores. 1. ed. Rio de Janeiro: Axcel Books, 2002.
[3] NUNES, M. S.; CASACA A. J. “Redes Digitais com Integração de Serviços”, ed. Presença, 1992.
[4] SPENCER, M.; ALLISON, M.; RHODES, C. The Asterisk Handbook. 2003. Disponível em: < http://www.digium.com/handbook-draft.pdf>. Acesso em: 01 jul. 2007.