WebRTC é um framework, uma estrutura que possibilita aplicações em tempo real, RTC (Real-Time Communications), diretamente no browser de internet. Em outras palavras, possibilita que navegadores como o Chrome, Firefox, entre outros, possam executar aplicações em tempo real, sem a necessidade de instalar algum plugin adicional ou algum outro tipo de complemento.
É possível, por exemplo, a criação de um softphone totalmente integrado e funcional no próprio browser, onde a segurança é garantida pelo navegador – que por norma utiliza criptografia. Outro bom exemplo é a criação de click-to-call, um botão “fale conosco” em sites. Assim, o usuário poderá acionar um atendimento via web e com recurso de voz, sem custos de ligação para ele e expressivamente mais baixo para a empresa.
São várias as aplicações que se utilizam do WebRTC para comunicação em tempo real, como o Facetime, Skype, Google Talk e iChat, até os telefones IP. Com a proposta de trazer tudo isso diretamente para o navegador de internet, o WebRTC se apresenta como uma importante ferramenta de comunicação.
Atendimento online completo
O WebRTC não serve apenas para áudio. Ele pode agregar componentes de rede, áudio e vídeo em alta qualidade, necessários em aplicações que utilizam chats de voz e vídeo num só lugar, para que o atendimento online seja completo.
Além disso, ele também possibilita compartilhar arquivos sem depender de um servidor. Isso possibilita, por exemplo, usar o browser de internet para transferir arquivos de um computador para outro, sem instalar nenhum aplicativo específico, bastando que os dois computadores envolvidos estejam com o browser aberto numa página criada para este fim. Para essa troca de arquivos, o WebRTC utiliza a conexão P2P (Peer-to-peer).
Como ocorre a integração?
Essas aplicações são possíveis através de uma API escrita em JavaScript, tornando mais simples sua implementação pelos desenvolvedores.
API significa Application Programming Interface ou Interface de Programação de Aplicações, um conjunto de rotinas e padrões de software para utilização de suas funcionalidades por aplicativos que não se envolvem em detalhes da implementação do software, simplesmente utilizam seus serviços.
O WebRTC foi padronizado no nível de API pelo W3C, que é a principal organização de padronização da web. E também foi licenciado pelo Google, que não cobra royalties por seu uso, ou seja, uma ferramenta open-source.
Atendimento online com qualidade
O WebRTC oferece uma gama muito abrangente de codecs para comunicações de voz que garantem a melhor experiência do usuário como AEC, um cancelador de eco baseado em software, o AGC, que faz o controle de ganho automático (volumes), redutor e supressão de ruídos e controle de hardware através de diversas plataformas.
Para vídeo, o WebRTC utiliza, entre outros, o codec VP8, que é um codec que “esconde” possíveis perdas de pacote e limpa imagens com muito ruído. Esse codec também captura e re-transmite imagens através das mais diversas plataformas.
Outro detalhe importante é o uso de técnicas de correção de jitter buffer e erros para áudio e vídeo usadas, fazendo com que os efeitos das perdas de pacotes em redes não confiáveis ou não certificadas sejam solucionados.
Jitter, é a média da variação de tempo de entrega de pacotes através de uma rede, e se essa variação é muito grande, os pacotes podem se perder, ou serem descartados, causando falhas na transmissão de dados de áudio e vídeo.
O framework também provê soluções para o problema de travessia de NAT entre redes, através do uso dos protocolos STUN, ICE e TURN. Assim, independente do tipo de NAT que esteja à frente da aplicação, será possível estabelecer a comunicação entre os diferentes participantes da sessão.
WebRTC e Khomp
A API K3L permite a integração direta com os navegadores que suportam WebRTC realizando assim a transmissão da sinalização SIP pelo WS (WebSocket) e WSS (WebSocket secure) e o áudio sendo transmitido pelo protocolo RTP e o RTCP, utilizando tanto transportes planos (UDP, TCP), quanto criptografados (SRTP).
Junto a aplicações WebRTC baseadas em produtos Khomp poderá ser agregado também todas as funcionalidades do HMP VoIP, como por exemplo: gravação de áudio, reprodução de áudio, comutação de canais entre outras funcionalidades.
Saiba mais das famílias EBS e HMP de produtos Khomp que suportam essa integração e conheça o projeto WebRTC completo aqui.