Implementação e avaliação de cenário de convergência telefonia-rede integrando serviços de VoIP e video-chamada com o uso de WebRTC

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
Rafael Togo
Curso Superior de Sistemas em Telecomunicações - IFSC
Orientador: Prof. Arliones Stevert Hoeller Junior
email: togorafael@gmail.com



O objetivo geral deste trabalho é implementar e avaliar um cenário típico de convergência telefonia-rede integrando serviços de VoIP e video-chamadas, utilizados a partir de navegadores Web com suporte ao WebRTC. Neste cenário será desenvolvido uma aplicação onde um usuário encontrará outros que estarão disponíveis (online) em sua lista de contatos, para então iniciar uma chamada. Será necessário implementar test-bed de infraestrutura de controle de VoIP e Videoconferencia com Asterisk, desenvolver/buscar um mecanismo de divulgação de usuários disponíveis, realizar testes utilizando a rede do Campos IFSC/SJ e avaliar o desempenho do sistema.

Atualmente, para iniciar uma comunicação através de video-chamadas ou VoiP, é necessário a instalação de plugins ou softwares dedicados. Foi pensando nisso e em outros problemas que o WebRTC foi criado.

O WebRTC é um projeto de código aberto que permite aplicações de comunicação em tempo real, com voz, vídeos e dados, utilizando apenas um navegador web, não havendo necessidade de instalação de plugins ou softwares. Todas essas aplicações são feitas através de API's Javascript, não havendo necessidade que o desenvolvedor tenha grandes conhecimentos sobre codecs de áudio e vídeo, redução de ruído, cancelamento de eco, e outros tratamentos de mídia. Este serviço fica a cargo do "core" do WebRTC, deixando o desenvolvedor apenas focado no desenvolvimento da aplicação.


Através do objetivo geral, é necessário realizar:

1 - Através das linguagens HTML, CSS e Javascript, é necessário criar uma interface amigável e intuitiva aos usuários, para que estes possam interagir entre sí, sem grandes dificuldades. Essa interação ocorrerá de três maneiras: chamadas de áudio, video e texto.

2 - Fazer a integração do sistema com o Asterisk, pois toda a sinalização será através de SIP. É preciso criar um método que irá coletar todos os usuários que estão registrados, e mostrar quem está "online".

3 - Testar o sistema com usuários fora da rede local. Uso de NAT, servidores STUN, etc.

4 - Avaliar o desempenho e qualidade do serviço implementado.


Inicialmente o cenário será feito através de máquinas virtuais. Uma máquina rodando o Asterisk, outra rodando a aplicação em WebRTC e algumas máquinas que servirão como usuários do serviço. Com o cenário funcionando, será realizado os mesmos testes em máquinas reais, no campus do IFSC-SJ.

Como resultado, é esperado um sistema simples de ser implementado em diversas topologias já existentes, sem que haja adição de outro hardware. Desempenho satisfatório em relação a qualidade de vídeo e áudio e uma fácil usabilidade do sistema pelos usuários.

Mesmo sabendo que o WebRTC ainda está em amadurecimento, é interresante pensar que esse trabalho apresenta apenas uma das possibilidades de uso. Em uma época onde temos cada vez mais serviços rodando na nuvem, essa tecnologia tem tudo para se tornar a base de soluções de comunicação em tempo real, fazendo com que muitas empresas hoje consolidadas, busquem pelo mesmo tipo de solução, para não perderem espaço no mercado.


Cronograma

Etapas/Mes Março/2014 Abril/2014 Maio/2014 Junho/2014 Julho/2014 Agosto/2014 Setembro/2014 Outubro/2014 Novembro/2014
Pesquisa Bibliográfica x x x
Escrita de relatório de TCC1 x
Entrega do Documento e Apresentação TCC1 x
Desenvolvimento do projeto x x x x
Elaboração do Documento de Avaliação Final x x x x

Referências Bibliográficas

ASTERISK. Asterisk WebRTC Support. 2012. Disponível em: <https://wiki.asterisk.org/wiki/display/AST/Asterisk+WebRTC+Support>.

BORGES, F.S. WebRTC - Estudo e Análise do Projeto. 2012. Disponível em: <http://wiki.sj.ifsc.edu.br/images/9/97/TCC_FelipeSilvaBorges.pdf>.

DUTTOM, S. Real-time communication without plugins. 2013. Disponível em: <http://www.html5rocks.com/en/tutorials/webrtc/basics/>.

GOOGLE. WebRTC Architecture. 2012. Disponível em: <http://www.webrtc.org/reference/architecture>.