Você está na página 1de 8

Voz Sobre IP - VOIP

Bruno do N. Monteiro1 , Davison H. Pacheco1 , Leonardo S. N. de Moraes1


1

Instituto de Ci ncias Exatas e Naturais Universidade Federal do Par (UFPA) e a 66075-100 Bel m PA Brasil e
{matakura, bnmonteiro2, davisonph}@gmail.com

Abstract. This article aims to present a summary of VOIP technology discussing related work and its settings, its operation and its advantages and disadvantages. To assist the understanding was developed in a Java application that allows simplied VOIP voice communication through IP protocol using TCP and UDP in application layer enabling a comparative analysis of the performance of this implementation with these two protocols. The application is developed and demonstrated its architecture is presented and some techniques used in their implementation. Resumo. Este artigo tem por objetivo apresentar de forma resumida tecnologia VOIP discutindo os trabalhos relacionados, suas denicoes, o seu funciona mento e suas vantagens e desvantagens. Para auxiliar o entendimento foi desenvolvido em Java um aplicativo VOIP simplicado que permite a comunicacao de voz por meio do protocolo IP utilizando TCP e UDP na camada de aplicacao permitindo uma analise comparativa do desempenho do desta implementacao com estes dois protocolos. A aplicacao desenvolvida e demonstrada e e apre sentada sua arquitetura e algumas t cnicas utilizadas em suas implementacao. e

1. Introducao
A disseminacao de Voz sobre IP (VoIP) e atual e principalmente motivada pela reducao de custos de telefonia para empresas e consumidores residenciais. Al m disso, a cone verg ncia do servico de voz com a rede de dados abre espaco para uma grande variedade e de inovacoes que podem revolucionar a maneira como pessoas e empresas encaram a comunicacao. Entre as v rias possibilidades da utilizacao da tecnologia VoIP, a que mais a tem tido sucesso entre os usu rios nais s o as aplicacoes que permitem ligacoes graa a tuitas na Internet, como Skype, Google Talk, Yahoo! Messenger e Netmeeting. Apesar de se basearem em uma rede que n o oferece garantias, essas aplicacoes alcancam bons a resultados, considerando o custo-benefcio entre o preco e os padr es de qualidade ofere o cidos pelo sistema telef nico convencional, o que tem sido o principal motivo da grande o difus o dos aplicativos de VoIP e da eminente revolucao no acesso ao servico p blico de a u telefonia. Apesar da tecnologia VoIP ter recebido bastante destaque nos ultimos anos , o conceito de voz sobre IP e bastante antigo, datando da d cada de 1970. Os primeiros e experimentos com transmiss o de voz em redes n o tradicionais ocorreram em 1973 a a com o protocolo NVP (Network Voice Protocol) que utilizava a ARPANET5 como rede de transmiss o. Devido ao avanco das tecnologias de infra-estrutura de redes e, cona seq entemente, ao aumento das taxas de transmiss o, somente por volta de meados da u a

d cada de 1990, comecaram a surgir aplicacoes, chamadas de softphones, capazes de ree alizar ligacoes IP com qualidade. Atualmente, com o grande avanco das tecnologias de infra-estrutura e com a adicao de novas tecnologias, como o uso de codecs e protocolos de QoS (Quality of Service), a tecnologia VoIP e capaz de conferir qualidade de ligacao bastante pr xima a do sistema telef nico. o o Para auxiliar o entendimento da tecnologia VOIP, foi desenvolvida uma aplicacao utilizando a linguagem JAVA onde o servico foi desenvolvido sobre os protocolos UDP e TCP permitindo assim uma an lise comparativa destes dois protocolos de transporte a com relacao ao suporte a servicos VOIP. Este artigo visa descrever o funcionamento desta aplicacao que atrav s de uma estrutura arquitetural simples facilita o entendimento do e servico fornecido.

2. Fundamentacao Te rica o
Nesta sess o ser o abordados de forma breve os conceitos mais importantes relacionados a a ao VOIP visando estabelecer uma base de entendimento para facilitar a compreens o do a trabalho desenvolvido que e explanado ao longo das seguintes sess es. o Voz sobre IP, tamb m conhecida como VoIP (Voice Over Internet Protocol), telee fonia IP ou telefonia Internet, e um conjunto de tecnologias, largamente utilizadas em redes IP, Internet ou Intranet, com o objetivo de realizar comunicacao de voz. Os sistemas VoIP empregam protocolos de controle, geralmente chamados protocolos VoIP, para o provimento do transporte dos sinais de voz em uma rede IP. Os principais benefcios da utilizacao do VoIP s o a reducao do custo operacional devido ao uso de uma unica rede a para transportar dados e voz, e a exibilidade, pois facilita tarefas e prov servicos n o e a suportados pelo sistema de telefonia convencional. Para o uso do VoIP e necess ria a exa ist ncia de uma rede de telecomunicacoes, m vel ou xa, que d suporte a esse conjunto e o e de tecnologias, conforme demonstra a gura 1.

Figure 1. Infraestrutura de suporte para servicos VOIP

O procedimento consiste em digitalizar a voz em pacotes de dados para que trafegue pela rede IP e converter em voz novamente em seu destino. Segue passo a passo um caso de uso de uma ligacao. O utilizador retira o telefone IP do gancho, e nesse mo mento e emitido um sinal para a aplicacao sinalizadora do roteador de telefone fora do gancho. A parte de aplicacao emite um sinal de discagem. O utilizador digita o n mero u de destino, cujos dgitos s o acumulados e armazenados pela aplicacao da sess o. Os a a

gateways comparam os dgitos acumulados com os n meros programados; quando h u a uma coincid ncia ele mapeia o endereco discado com o IP do gateway de destino. A e aplicacao de sess o roda o protocolo de sess o sobre o IP, para estabelecer um canal de a a transmiss o e recepcao para cada direcao atrav s da rede IP. Se a ligacao estiver sendo a e realizada por um PABX, o gateway troca a sinalizacao anal gica digital com o PABX, o informando o estado da ligacao. Se o n mero de destino atender a ligacao, e estabelecido u um uxo RTP sobre UDP entre o gateway de origem e destino, tornando a conversacao possvel. Quando qualquer das extremidades da chamada desligar, a sess o e encerrada. a O funcionamento do VOIP e ilustrado na gura 2.

Figure 2. Visao geral do funcionamento do VOIP

A tecnologia VoIP utiliza o Real-time Transport Protocol (RTP), que e um protocolo da camada de aplicacao da pilha TCP/IP, para transmitir os dados relativos a voz. O RTP prover servicos de entrega m-a-m de audio e vdeo em tempo real. Para garantir tais servicos, o protocolo prover identicacao de conte do (payload), seq enciamento, u u timestamp e monitoramento de entrega de pacotes. Apesar de, normalmente, ser utilizado o protocolo de transporte UDP, o RTP tamb m pode ser utilizado sobre o TCP (e.g. e Skype).

3. Estado da Arte
Arruda Filho at al, 2009] discute o uso da tecnologia Voip como meio de comunicacao utilizado pelas empresas de telecomunicacao, garantindo o mesmo uso para os usu rios e a melhores benefcios para os provedores. O autor comenta que baseado na melhor quali dade de transmiss o atual, pode-se transmitir cerca de 120 canais de voz sobre um canal a 2 MB de transmiss o de dados enquanto que J no mesmo link de 2 MB, o VOIP, que a a converte o pacote de voz em dados, pode transmitir pelo menos 240 canais de voz simult neos. O autor levanta questionamento que empresas utilizam a tecnologia voip com a

a nalidade de seduzir seus custo, por m esta reducao n o chega ao consumidor, isso e a por falta de alguns fatores, dentre eles uma regulamentacao apropriada e a falta de uma competitividade entre empresas de telecomunicacao. [Barbosa at al, 2006] realiza uma avaliacao de desempenho de aplicacoes voip P2P, neste trabalho o autor utiliza um algoritmo para avaliar duas aplicacoes de voz sobre IP P2P: Skype e Google Talk. Este trabalho tamb m discute as polticas de adaptacao e din mica das aplicacoes atrav s da observacao da taxa transmitida e do jitter. Ao nal faz a e uma comparacao do desempenho das duas aplicacoes mostrando gracamente as vanta gens das mesmas. [Callado at al, 2007] prop e uma descricao detalhada da construcao de redes de o voz sobre IP, o autor descrevi a tecnologia e compara tecnologias voip coma nalidade de esclarecer o funcionamento da mesma. Por ser um mini curso o autor explica a tecnologia voip, esclarecendo arquiteturas e protocolos utilizados, ap s a descricao e feito um o detalhamento da contrucao de uma rede de voz sobre IP. [Moreira at AL, 2007] apresenta uma metodologia para a deteccao do tr fego a gerado pela aplicacao Skype baseada exclusivamente na an lise das caractersticas dos a ` uxos, sem nenhum acesso a carga util dos pacotes. Para tal, foi desenvolvida uma extens o da t cnica BLINC, que se baseia no comportamento dos n s e no n mero de a e o u pacotes por uxo, permitindo identicar o tr fego Skype sob protocolo UDP com uma a precis o de 96,7 a

4. Proposta
Como proposta de implementacao para o trabalho sobre a tecnologia Voip e equipe de senvolveu um projeto de aplicativo para implementar um conversa de voz somente entre dois sistemas nais, em que e possvel escolher qual protocolo de transporte deseja-se utilizar podendo escolher entre os protocolos de disponveis para a Internet, o UDP e o TCP. A aplicacao possui uma interface bem simples onde somente e possvel determinar qual o host que desejamos nos conectar para iniciar a conversa e qual tipo de protocolo de transporte ser utilizado. E importante frisar que ambos os lados da conversa devem est a a com o mesmo tipo de protocolo de transporte selecionado, caso n o estejam, a conex o a a n o poder ser realizada com exito. Neste sentido, o aplicativo apresenta basicamente a a apenas dois casos de uso que s o resumidos na gura abaixo. a

Figure 3. Tela do aplicativo

Figure 4. Casos de Uso

Segundo a arquitetura denida, a aplicacao e dividida em tr s camadas que resum e idamente s o: a interface gr ca com o usu rio, representando o pacote GUI; a camada a a a respons vel pelo audio e realiza basicamente os processos de captura e reproducao da a voz. A ultima camada e a respons vel pelo estabelecimento e controle da conex o ena a tre os sistemas nais e repassa os dados capturados para o componente respons vel pela a reproducao e recebe do respons vel pela captura as informacoes que devem ser transmiti a das para o outro host. A gura abaixo ilustra em um diagrama de pacotes como aplicacao est dividida. a

Figure 5. Diagrama de pacotes

No pacote chamado GUI est o componente de interface gr ca com o usu rio e a a a nele se localiza a implementacao de todos os tipos de interacao que o usu rio possa ter a com o aplicativo que neste caso s o: a especicacao de qual host se conectar e a escolha a de qual protocolo de transporte usar. O pacote Audio por suar vez cont m os componentes que trabalham para e realizacao da captura e reproducao da voz. Todos os componentes dessa aplicacao tra balham em nvel de bytes para um controle mais efetivo dos dados, pois assim e possvel o controle da quantidade de informacao que pode ser reproduzida e tamb m do quando de e informacao pode ser repassado para a rede no sentido de evita que o buffer dos protocolos

de transporte estoure, principalmente o do UDP. A ultima camada e a SocketConnection que tem por responsabilidade o controle da conex o, os seus dois componentes principais a s o o SendConnectionController e o ReciveConnectionController que respectivamente a tem as funcionalidades de envio e recebimentos dos pacotes que chegam pela rede. Por ultimo para um detalhamento mais especco da arquitetura iremos falar sobre os compo nentes do diagrama de componentes da gura abaixo.

Figure 6. Diagrama de componentes

Seguindo uma descricao ?Top down? o primeiro componente a ser descrito e a interface com o usu rio que apresenta como componentes um campo para inserir o nome a ou endereco ip do hospedeiro com o qual o usu rio ir se comunicar, um bot o para a a a a execucao da conex o e dois radioButtons para especicacao de qual protocolo de trans a porte usar. Descendo, temos o MicrophoneAudioCapturer que tem por responsabilidade a implementacao do controle sobre todo e qualquer tipo de microfone instalada no sistema nal e que possa vir a ser utilizado para a entrada do dados representativos das vozes dos interlocutores. Durante o perodo em que a conversacao dura este componente funciona como um processo em paralelo, thread, que roda indeterminadamente fazendo a captura da voz e armazenando as informacoes em uma estrutura de dados do tipo array de bytes. Assim que a conversa e nalizada o processo em que o MicrophoneAudioCapturer estava funcionando e nalizado. O outro componente que est no mesmo nvel e o AudioPlayer que como pelo a pr prio nome indica se responsabiliza em fazer a reproducao dos dados de voz que o cheguem atrav s da rede. Assim como o componente anterior, o AudioPlayer tamb m e e e executado sobre uma thread que ca indenidamente executando recuperando as informacoes que vem pela rede e reproduziando-as. Assim que a conversa e nalizada a execucao do AudioPlayer tamb m e terminada atrav s da nalizacao da thread que o e e continha. No nvel mais baixo, temos a implementacao dos componentes que ir o se a responsabilizar pela comunicacao dos sistemas nais. Para tanto S o denidas duas inter a faces de comunicacao, a primeira e a SendConnectionSetup que dene todos os m todos e que s o necess rios para a especicacao de qual host deseja-se estabelecer conex o, qual a a a protocolo da transporte usar e o m todo para o envio das informacoes pela rede. Essa e interface e implementada pelo SendConnectioController que especica toda a l gica que o deve ser seguida para o estabelecimento da conex o e envio das informacoes, segundo o a protocolo utilizado.

A pr xima interface e a ReceiveConnectionSetup que permite somente determinar o qual protocolo de transporte usar e declara o m todo para o recebimento de dados provee nientes da rede. O componente chamado ReceiveConnectionController se responsabiliza em implementar todos os m todos que a referida interface disp e para a captura correta e o dos dados. A utilizacao das interfaces neste nvel da arquitetura e de fundamental import ncia a para possveis expans es que o aplicativo possa vir a sofre, pois com est conguracao o a e possvel facilmente adicionar uma nova implementacao de ReceiveConnectionCon troller e SendConnectionController que oferecam tamb m para o transporte dos dados e a utilizacao do RTP (Real Time Protocol) que apesar de n o ser considerado como pro a tocolo de transporte e est localizado a nvel de aplicacao poderia ser utilizado como a ferramenta que encapsularia a implementacao do envio e recebimento dos dados pela rede. Como ultimas consideracoes sobre a arquitetura do aplicativo, podemos dizer que o mesmo funciona segundo o paradigma de cliente servidor onde o componente AudioPlayer funciona como um servidor a espera do estabelecimento de conex o, por m a troca a e padr o que a troca de dados seja no sentido do de informacao se d em sentido contr rio. E a a a servidor para o cliente no entanto, neste caso o MicrophoneAudioCapturer, cliente, faz o envio dos dados para o AudioPlayer reproduzir. Por ultimo, este aplicativo foi totalmente desenvolvido na linguagem de programacao Java por ser a mesma de maior anidade de todos os membros da equipe.

5. Analise dos Resultados


Ap s a execucao do aplicativo em um ambiente de uma rede dom stica com um nvel o e de tr fego na rede muito baixo, percebeu-se que o aplicativo consegue funcionar bem e a a comunicacao e inteligvel, por m a qualidade do audio e o nvel de rudo s o bastante con e a sider veis, mas n o ao ponto de atrapalharem o entendimento do que e conversado. Como a a a aplicacao oferece dois protocolos de transporte para serem utilizados, o comportamento da aplicacao foi totalmente divergente na utilizacao de cada um dos protocolos. Inicialmente foram feitos testes com o protocolo UDP que n o e orientado a a conex o e permite que a informacao seja diretamente entregue ao destinat rio sem a nea a cessidade de estabelecimento de conex o. Neste contexto, o aplicativo apresentou muitas a falhas e n o foi capaz de executar satisfatoriamente, pois em funcao do buffer reduzido a do UDP a aplicacao em muitos dos testes acabava ?estourando? o buffer do protocolo e parava de funcionar e em uma tentativa de solucionar tal problema foi reduzido a quantidade de informacao que era repassada para a rede, por m por ser uma quantia muito e pouca o componente de reproducao do audio n o era capaz de executar, pois n o possui a a informacoes o suciente para reproducao. J no contexto do protocolo TCP a aplicacao conseguir funcionar satisfatoriaa mente, pois os empecilhos de buffer reduzido foram eliminados e apesar deste protocolo apresentar o controle de congestionamento e de uxo a conversa se manteve em um nvel inteligvel, por m a qualidade da voz n o e boa, pois h muita ecoacao e reverberacao. e a a

6. References
BASET, Salman A., SCHULZRINNE, Henning (2004). An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Disponvel em:http://www1.cs.columbia.edu/ library/TR-repository/reports/reports-2004/cucs039-04.pdf. Acesso em: 20/06/2011. Examining Two Well-Known Attacks on VoIP. CircleID. Disponvel em:http://www.circleid.com/posts/examiningtwowellknownattacksonvoip1/. Acesso em: 20/06/2011. Servicos de voz sobre IP (VoIP) - Ag ncia Nacional de Telecomunicacoes e Brasil - (Anatel). Disponvel em: http://www.anatel.gov.br/Portal/exibirPortalInternet.do. Acesso em: 20/06/2011 Barbosa, R.; Callado, A.; Kamienski, C. A.; Fernandes, S.; Mariz, D.; Kelner, J. e Sadok, D. (2005?) Avaliacao do Desempenho de Aplicacoes VoIP P2P. Disponvel em: http://www.lbd.dcc.ufmg.br:8080/colecoes/sbrc/2006/st83.pdf. Acesso em: 20/06/2011. Linhares, A. G.; (2008) Interceptacao Legal de Chamadas VOIP Baseadas em SIP. Disponvel em: http://www.lbd.dcc.ufmg.br:8080/colecoes/sbrc/2006/st83.pdf. Acesso em: 20/06/2011. Arruda Filho, E. J. M.; Dholakia, R. R. (2009) Uso de converg ncia tece nol gica sem regulamentacao apropriada: VOIP e competitividade. Disponvel em o http://www.scielo.br/pdf/ci/v38n1/03.pdf. Acesso em: 20/06/2011.

Você também pode gostar