Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

VoIP (Português)

From Wiki
Jump to: navigation, search
Article Metadata

Artigo
Criado por bazotti em 28 Nov 2007
Última alteração feita por lpvalente em 18 Mar 2012

Ezequiel Bazotti Universidade de Cruz Alta – UNICRUZ Faculdade de Ciência da Computação, Campus – Cruz Alta - RS ebazotti@unicruz.edu.br, zottti@gmail.com

Resumo. Com o emergente crescimento das redes de computadores sem fio, e, o atrativo transporte de voz e dados pela a rede Internet comercial ou caseira, surgiu a idéia principal do trabalho proposto. Que, tem como principal objetivo a transmissão de voz sobre o protocolo IP (Internet Protocol), utilizando uma rede Wireless como ponto de acesso a Internet, e, dispositivos móveis para os devidos testes. A importância do estudo é referente a pesquisas sobre o paradigma de comunicação VoIP (Voice Over Internet Protocol) num ambiente móvel. A principal contribuição será consequentemente a redução significativa da utilização da rede de telefonia móvel onde tiver um ponto de acesso a Internet sem fio.

Palavras-chave: VoIP, Wireless, Dispositivos Móveis.


Contents

INTRODUÇÃO

Há tempos na área da tecnologia o segmento de mercado que mais cresce são as redes de computadores sem fio, também conhecida como redes Wireless ou Wi-Fi, Andrew et al. [1]. E o método de transporte de Voz sobre IP, também chamado de VoIP (Voice Over IP), que é o roteamento de conversação humana usando a Internet ou qualquer outra rede de computadores baseada no Protocolo IP, vem tornando a transmissão de voz mais um dos serviços suportados pela rede de dados, Carlos et al. [2].

Com estas tecnologias emergentes, surgiu a idéia principal do trabalho proposto que tem como objetivo desenvolver um aplicativo para capturar e transmitir a voz sobre o protocolo IP, utilizando uma rede Wireless como ponto de acesso a Internet, e a computação móvel, com a utilização de equipamentos como celulares para os devidos testes. A importância do estudo é referente a pesquisas sobre este novo paradigma de comunicação, o qual nos possibilita a transmissão de voz via IP, num ambiente móvel.

Entre os serviços de multimídia, o transporte de voz em forma de dados para a comunicação entre pessoas, utilizando-se como suporte a rede Internet tem sido um forte atrativo para os usuários. Com a conexão destes equipamentos em redes sem fio e a interligação do aplicativo no sistema proposto, a principal conseqüência será, além da redução significativa de gastos com telefonia celular, a redução da utilização da rede de telefonia móvel onde tiver um ponto de acesso a Internet sem fio.

Podemos observar que num futuro próximo, e com as redes Wireless sendo difundidas cada vez mais, praticamente toda telefonia será IP, Grahan et al.[3]. Como conseqüência disto percebe-se o surgimento de um novo paradigma de comunicação, que aos poucos forçará a maioria das empresas de telecomunicações a convergirem para este novo caminho, gerando com isso uma sucessão de oportunidades de exploração e, também de geração de novos mercados neste ramo da tecnologia, Microsoft et al.[4].

O restante do artigo está organizado da seguinte maneira: A seção 2 apresenta uma descrição sucinta de alguns conceitos básicos sobre a tecnologia VoIP. A seção 3 detalha o aplicativo proposto num ambiente móvel. A seção 4 apresenta as ferramentas utilizadas e o desenvolvimento do projeto. A seção 5 mostra alguns resultados obtidos, enquanto a seção 6 conclui o trabalho.

A TECNOLOGIA VOIP

As telecomunicações vêm tendo uma grande revolução, resultante do crescimento das redes baseadas em pacotes, especialmente da Internet. Esta revolução está unificando os mundos de dados e telecomunicações em uma só rede convergente, presente em toda parte. Esta mudança demonstra o progresso da tecnologia de rede e a evolução das diversas técnicas de digitalização de voz, Leandro et al [5].

A proposta de convergência tornou-se tão interessante e importante para a manutenção da competitividade, que até mesmo as operadoras telefônicas tradicionais estão rendendo-se a esta tecnologia, através do desenvolvimento de soluções para racionalizar o uso de suas infra-estruturas baseadas em circuitos, fazendo a atualização para a comutação de pacotes. Não somente pelo apelo da redução de custos decorrentes da fusão de áreas, mas também pela possibilidade de prover uma melhor qualidade no transporte da voz, e, ao mesmo tempo, economizar em banda passante nacional e internacional, Ref. [5].

O funcionamento da tecnologia VoIP consiste em digitalizar e codificar a voz em pacotes de dados para que trafegue pela rede que utilize o protocolo UDP/TCP/IP e converter em voz novamente em seu destino. É uma nova maneira de se pensar sobre ligações de longa distância, Cláudio et al.[6].

A tecnologia de voz sobre IP recebe suporte das principais organizações de padronização mundiais, tais como a International Telecommunications Union (ITU) e a Internet Engineering Task Force (IETF), bem como dos fabricantes e distribuidores de equipamentos de telecomunicações. Hoje, pode-se encontrar com facilidade produtos de VoIP no mercado e informações para projetar e construir redes baseadas em VoIP, José et al. [7].

Com relação às aplicações, o VoIP representa uma alternativa competitiva sobre as redes convencionais de telefonia, reproduzindo as capacidades telefônicas necessárias para o serviço com um custo significativamente menor. A tecnologia é aplicável a quase todos os tipos de comunicação de voz, desde a simples comunicação entre pessoas ou entre escritórios até teleconferências entre matriz e filiais, por exemplo. Ref. [7].

Através do VoIP é possível permitir comunicações de voz entre os telefones tradicionais da rede de telefonia pública e os computadores que se encontrarem interligados em uma rede IP. Bastando para isso interligar esta rede à operadora de telefonia pública através de um gateway IP específico. Esse gateway será o responsável por interpretar os protocolos e as informações de voz provenientes das duas redes, Paulo et al. [8].

Um gateway VoIP tem, dentro de suas várias facilidades, a capacidade de comprimir a voz. Normalmente as chamadas são feitas em canais com largura de banda de 64Kbps. As conexões de voz podem então ser comprimidas em taxas de, por exemplo, 16Kbps ou mesmo 8Kbps, o que reduz os requisitos de largura de banda na rede de dados, sem comprometer a qualidade da informação transmitida. A implementação do gateway VoIP poderá ser um equipamento dedicado para esse fim, acrescido à central telefônica do usuário. Ref. [7].

A difusão do protocolo TCP/IP no contexto da Internet deu início a esse movimento em direção da integração de todas as tecnologias de comunicação, compreendendo voz, vídeo e dados. A tecnologia VoIP, por tudo isso, experimenta atualmente um desenvolvimento intenso, que está possibilitando a integração das redes privadas de dados e de telefonia. Ref. [7].

Entretanto, antes de se implementar essa tecnologia, é necessário familiarizar-se com suas aplicações, por exemplo, desenvolver conhecimentos em tecnologias fundamentais como o protocolo de transmissão, e por exemplo, o protocolo H.323 que é usado para a sinalização e controle de chamadas de voz, Nelson et al.[9], e outros padrões VoIP. E, também explorar as várias considerações para o desenvolvimento de um projeto envolvendo VoIP.

DISPOSITIVOS MÓVEIS

As novas gerações de celulares e PDA's estão trazendo a tecnologia Wi-Fi padrão IEEE (Institute of Electrical and Eletronics Engineers) 802.11x para suas arquiteturas. Com estas tecnologias podemos conectar estes aparelhos móveis em uma rede Internet facilmente, ganhando com isso, mobilidade, Jim et al.[10].

O aplicativo proposto foi desenvolvido na linguagem de programação Java J2ME (Java 2 Micro Edition), que é uma tecnologia para construção de aplicações em dispositivos móveis de baixa capacidade de processamento e memória. Esta linguagem foi escolhida pela portabilidade da plataforma de compilação e facilidade de programação. A figura 1 mostra a estrutura da arquitetura para o funcionamento do projeto. O qual funciona da seguinte forma:

Tendo um ponto de acesso Wireless a Internet para conexão do equipamento móvel com esta, basta apenas inserir o IP do outro equipamento para começar o roteamento da voz humana. Os equipamentos fazem uma conexão ponto a ponto. Depois de conectados, captam a voz de uma forma analógica e as transformam em pacotes de bytes de áudio. O aplicativo fica constantemente enviando e recebendo estes pacotes nos dois sentidos da conexão até que um usuário encerre fechando a conexão.

Figura 1. Estrutura VoIP móvel.

RedeN95WiFiI.JPG 

Com isso, temos uma telefonia VoIP móvel numa rede de dados Internet. Assim, é perfeitamente possível trabalhar com esses pacotes pela Internet. Quando o destino recebe os pacotes, estes são transformados novamente em sinais analógicos e transmitidos ao meio de forma possível de se ouvir o som.

= APLICATIVO PROPOSTO =

Com a incorporação da tecnologia de conexão de redes Wireless em dispositivos móveis e utilizando o TCP/IP para a transmissão da voz sobre IP, pode-se, facilmente, desenvolver um serviço que as operadoras de telefonia tradicionais possuem. E que atualmente, o grupo desenvolvedor do aplicativo Skype, que permite a transmissão de voz utilizando VoIP, já disponibiliza uma versão para Pocket PC, Smartphones e celulares que utilizam a tecnologia Wi-Fi, Skype et al. [11].

A seguir, demonstra-se como foi desenvolvido o aplicativo para dispositivos móveis e que possibilita a transmissão de dados entre os mesmos numa rede Wireless. Serão apresentadas as plataformas de desenvolvimento, descrições das ferramentas e tecnologias utilizadas no desenvolvimento do projeto.

Plataforma de desenvolvimento

Para o desenvolvimento do aplicativo foi utilizada a plataforma J2ME (Java 2 Micro Edition), que é uma coleção de API's (Application Programming Interface) do Java definida através da JCP (Java Community Proccess). Conforme descrito por Muchow et al. [12], para esta plataforma foram definidas duas configurações principais. Uma define a JVM (Java Virtual Machine) que é dividida em duas configurações: a CDC (Connected Device Configuration), que é para dispositivos com maior capacidade computacional e a CLDC (Connection Limited Device Configuration), para dispositivos com menor capacidade computacional Ref. [12].

A segunda configuração foi definida como um perfil. Um perfil consiste em um conjunto de classes que possibilita os desenvolvedores de software programar as aplicações de acordo com as características das aplicações dos pequenos dispositivos computacionais. Foi denominado o MIDP (Mobile Information Device Profile), oferecendo recursos como rede, componentes de interface, armazenamento local, entre outros. Ref. [12].

Ferramentas e Equipamentos Utilizados

A principal ferramenta utilizada para compilação é o Framework NetBeans Mobility Pack IDE 6.0 Beta 2 que inclui o Java ME Wireless Toolkit versão 2.5.2 que simula o funcionamento de dispositivos móveis, e, a máquina virtual Java 1.6.0_03-b05, todos disponibilizados pela Sun Microsystems Inc. [13]. Sendo utilizado o SO (Sistema Operacional) Microsoft Windows XP Professional, versão 2002 Service Pack 2, com licença para estudante.


Possibilidades de programação

É possível que o aplicativo funcione em celulares convencionais, que possua a configuração Java CLDC 1.0 e MIDP 2.0. Mas por segurança dos fabricantes, alguns métodos da linguagem de programação na maioria dos aparelhos celulares não funcionam. Como por exemplo, a API de multimídia que serve para capturar áudio, e o trabalho com arquivos. Estes métodos possuem restrições de uso nos equipamentos, necessitando de uma assinatura digital para que funcione, Felipe et al. [14].

Por mais que alguns dispositivos tenham a API de multimídia em sua configuração, algumas funcionalidades da máquina virtual podem não ser instaladas pelos fabricantes. Com isso evita que qualquer pessoa ou programador possa danificar o sistema do celular ou criar códigos maliciosos (informação verbal - Conversa com Phil Bartolo, tecnologista de Web, da Mobile & Embedded Community, Sun Microsystems, no 8º Fórum Internacional Software Livre (FISL 8.0), em 12 de abril de 2007, Porto Alegre (RS)).

E para utilizar outras redes como 3G e outras (EDGE, EV-DO e UMTS) podem custar caro, para isso é necessário um plano de acesso ilimitado. No entanto a maior parte das operadoras de telefonia móvel não criou pacotes atraentes e a preço fixo para acesso a redes de banda larga, Ref. [11].

RESULTADOS OBTIDOS

Apesar de não ter sido feito testes em equipamentos móveis equipados da tecnologia Wireless, apenas em celulares com Bluetooth e computadores, apresentam-se os resultados experimentais de captura e envio da voz com o uso do aplicativo proposto em emuladores da plataforma de programação Java J2ME. Também, foi desenvolvido um simples aplicativo para a captura e envio de áudio feito com J2SE (Java 2 Standard Edition) que é a ferramenta necessária para o desenvolvimento de aplicações em Java. Ambos utilizados na análise do funcionamento da captura e transmissão de áudio.


Observou-se que toda a captura de voz feita com o J2ME tem-se eco nos bytes capturados, já na captura com o J2SE não foram observadas falhas ou eco na captura. No envio e recebimento dos pacotes IP, ambas as plataformas não tiveram nenhum problema e funcionaram perfeitamente, quando utilizaram sockets.

Na figura 2 têm-se os emuladores em funcionamento e conectados. A voz humana é capturada no emulador A (cliente), e, consequentemente enviada pelo protocolo TCP/IP ao emulador B (servidor), fazendo uma conexão ponto a ponto no sentido de A para B.


Após a confirmação do usuário para criar um arquivo de áudio, são criados pacotes de bytes, e consequentemente transmitidos um pacote por segundo nas duas direções da conexão. Os dados são gravados, empacotados e enviados. No seu destino são desempacotados e executados.

Figura 2. Transmissão VoIP.

TransporteTCP.jpg


A confirmação para o usuário gravar no emulador é pedida apenas quando o processo se inicia, mostrados na figura 3. Isso acontece porque existe na plataforma Java J2ME um sistema de segurança que alerta o usuário sobre o que a plataforma está fazendo. Em dispositivos reais esta confirmação pode ser marcada como sempre autorizado a executar, ou então com uma assinatura digital não será necessário à intervenção do usuário neste processo. Com a última versão do Framework NetBeans, citada na seção 4.2, foi possível criar uma assinatura e os testes de transmissão com J2ME puderam ser melhor analisados.

Figura 3: Perguntas de segurança.

ProtectAPI.jpg


A forma de conexão utilizada na Figura 2 foi através de Sockets (TCP) entre computadores e a transmissão feita nos dois sentidos da conexão. Foi possível ter uma conversação, mas, não com a qualidade de uma ligação de telefones convencionais. Utilizou-se também para fazer esta conexão datagramas (UDP). Mas pelo fato de ainda não ter sido implementado um protocolo de controle de transporte dos pacotes e outras observações necessárias para VoIP, observou-se na transmissão de áudio em duplo sentido da conexão, muita perda de pacotes, e não foi possível ter uma conversação.

Quando testamos à transmissão de áudio em um único sentido da conexão observou-se que além de melhorar qualidade do áudio o atraso de transmissão foi inferior ao atraso utilizando com sockets. E praticamente nenhum pacote foi perdido. Estes testes foram feitos numa rede Wireless com apenas três computadores conectados.

Diferentemente da implementação com sockets e datagramas que simplesmente se conectam pelo seu IP e uma porta específica. E após isso despejam seus streams de bytes para seu par de conexões. Também foi implementado um aplicativo a utilização de redes Bluetooth, e criou-se um pequeno protocolo para a questão de sinalização para iniciação de uma seção para conexão e troca de dados.

No entanto, os testes com Bluetooth foram feitos apenas com conexão em duplo sentido de transmissão, e também não foi possível ter uma conversação por haver muita colisão dos pacotes na rede.

A figura 4 mostra como um dispositivo, utilizando o nosso aplicativo enxerga os outros utilizadores a sua volta.

Figura 4: Rede Bluetooth.

RedeBluetooth.jpg

Outra observação que tivemos, foi quanto ao tamanho do pacote de áudio sem contar com os cabeçalhos do protocolo. Abaixo esta a configuração utilizada.

Manager.createPlayer(``capture://audio? encoding=pcm \&rate=2000 \&bits=8 \&Channels=1);

No inicio do projeto, e os testes feitos com o bluetooth, era gerado em torno de 16.044 bytes por segundo. Atualmente o aplicativo esta configurado para transmitir em torno de 2.028 bytes por segundo.

Contudo, ainda é necessária uma maior análise e melhorias nos aspectos da qualidade do áudio, tanto na transmissão quanto na recepção do áudio. E também é necessário desenvolver um protocolo mais específico para a manipulação e controle dos pacotes que trafegarão pela rede.


CONCLUSÕES

Os telefones móveis constituem uma tecnologia de grande uso no mercado, sendo inclusive usados para substituir por completo telefones tradicionais. Portanto, não está claro ainda se haverá demanda suficiente para o VoIP entre os consumidores até que as redes sem fio possuam cobertura similar às redes de celular, permitindo o uso dos telefones ou PDA's com Wi-Fi em qualquer lugar.


O VoIP é uma tecnologia revolucionária que tem o potencial de reformular completamente os sistemas telefônicos mundiais. Suas aplicações e o potencial desta tecnologia emergente, um dia provavelmente vão substituir o sistema telefônico tradicional completamente.


Ainda, quanto ao aplicativo proposto, pelo fato da indisponibilidade de equipamentos dotados da tecnologia Wireless, foram feitas pesquisas e implementações para a utilização de redes Bluetooth. Com isso, um maior número de equipamentos poderá ser usado, e não apenas dispositivos com Wi-Fi. Também é necessária uma maior análise e melhorias nos aspectos da qualidade do áudio, tanto na captura quanto na chegada ao destinatário, pois, o áudio capturado apresentou eco nos testes em computadores. E quando o áudio é roteado por vários servidores pela Internet, ele acaba por chegar ao destino com uma qualidade muitas vezes inferior da qual foi enviado. É necessário, e as pesquisas feitas até agora, dão suporte para uma implementação futura de um protocolo de transmissão VoIP, com fontes perceptíveis e adaptativas ao congestionamento da rede mundial de computadores.


REFERÊNCIAS

[1] A. S. Tanenbaum Redes de Computadores. 3. ed. Rio de Janeiro: Campus, 1997.

[2] C. A. S. Alves. VOIP - Voz sobre IP. 2004. Acesso em: 25 jun. 2007.

[3] G. Finnie. Fixed-mobile convergence reality check. Heavy Reading, v. 2, n. 26, 2004. Disponível em: < http://img.lightreading.com/heavyreading/pdf/hr20041209_esum.pdf>. Acesso em: 08 abr. 2007. [4] Microsoft Corporation. © 2007. Infra-estrutura: Redes concorrentes. Disponível em: < http://www.microsoft.com/portugal/uc/itfocus.mspx >. Acesso em: 14 ago. 2007.

[5] L. C. G. Lustosa. VoIP Laboratório de Voz sobre IP. 2004. Disponível em: < http://www.voip.nce.ufrj.br >. Acesso em: 16 ago. 2007.

[6] C. L. Sitolino. Voz sobre IP (VoIP): um estudo experimental. 2000. Disponível em: http://www.apostilando.com/download.php?cod=206&categoria=Redes . Acesso em: 16 jul. 2007.

[7] J. M. S. Pinheiro. Um pouco de Voz Sobre IP. 2004. Disponível em: www.malima.com.br/article_read.asp?id=25 (broken link). Acesso em: 16 ago. 2007.

[8] P. H. A. Rodrigues, et al. GT-VOIP Relatório P4.1: Documento de Avaliação do Ambiente Experimental de VOIP durante o 4º WRNP e 21º SBRC. 2003. Acesso em: 17 ago. 2007.

[9] N. L. L. Fernandes. Voz Sobre IP: Uma Visão Geral. [200-]. Acesso em: 20 jul. 2007.

[10] J. Higdon. Coming Soon: Wifi VoIP. 2007. Disponível em: < http://www.voip-news.com/feature/coming-soon-wifi-voip-041707/ >. Acesso em: 08 out. 2007.

[11] Skype Limited © 2007. Como o Skype funciona no celular. 2007. Disponível em: < http://www.skype.com/intl/en/get-skype/on-your-mobile/download/>. Acesso em: 26 set. 2007.

[12] J. W. Muchow. Core J2ME: Tecnologia e MIDP. São Paulo: Makron Bos, 2004.

[13] Sun Microsystems Copyright 1994-2000, Inc. Java ME at a Glance - Java Sun Developer Network (SDN). 2007. Disponível em: < http://www.oracle.com/technetwork/java/javame/index.html >. Acesso em: 30 jun. 2007.

[14] F. Juan. Programa de Desenvolvedores Nextel. Fórum Java ME: Captura de áudio. 2007. Disponível em: < http://programa.nii.com/pt/node/251 >. Acesso em: 16 mar. 2007.

This page was last modified on 18 March 2012, at 00:06.
186 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×