WebRTC vem de Real Time Communications (RTC) e é um projeto OpenSource com alguns anos de existência (nasceu em maio de 2011). Seu objetivo é levar comunicações em tempo real para navegadores e aplicativos para dispositivos móveis. As comunicações em tempo real suportadas hoje são voz, texto e vídeo. Já é uma tecnologia sólida e bem estabelecida, bastando dizer que é utilizada por ninguém menos que WhatsApp e Facebook Messenger.
Por que usar o WebRTC?
Ainda que existam diversas alternativas para comunicação em tempo real no mundo desktop e mobile, quando estamos falando de navegadores, não existe muita opção. Se quiser implementar alguma ferramenta de comunicação em tempo real pelo navegador usando recursos nativos deles, é o WebRTC que você busca.
Navegadores suportados
O projeto é suportado pelo Google (Chrome), Mozilla Firefox e Opera. WebRTC não é um plugin, seus componentes rodam no sandbox do navegador e não em um processo separado.
Mobile
O projeto possui mobile em mente, e até mesmo os navegadores móveis devem suportar: http://iswebrtcreadyyet.com/
Peer-to-Peer ou cliente-servidor?
Depois que o processo de sinalização foi estabelecido, é possível fazer o streaming diretamente peer to peer, ou se isso falhar, através de um servidor de relay intermediário (servidor turn).
Consumo de banda do WebRTC
O consumo de banda está inteiramente ligado aos codecs opus (áudio). Áudio em tempo real geralmente tem bitrate variando entre 40 e 200kbit/s.
Para ligações telefônicas com a rede pública de telefonia, de nada adianta uma taxa alta de amostragem, se a rede pública de telefonia apresenta corte em 8khz. O tráfego de áudio sem compressão (g711) consome cerca de 80~90Kbps em ethernet e o G729 cerca de 30kbps.
Como primamos pela qualidade, o opus é convertido para g711 em nossos servidores e trafega assim daí em diante. Nos testes práticos de tráfego de áudio (medindo via wireshark) com a rede pública de telefonia, o consumo de banda ficou em cerca de 90kbps.
Sistema operacional
Telefonando do browser para sua casa
Fazer o seu navegador telefonar para sua casa não é algo que vai ocorrer de forma transparente e direta. WebRTC depende de codecs implementados nos navegadores (normalmente opus para áudio) e a rede de telefonia digital normalmente utiliza outro protocolo (SIP) e outros codecs (G711, G729, GSM…).
WebRTC e SIP são similares de mundos diferentes…. Nesse momento você já viu que o protocolo é diferente e os codecs também.
(No G729 for u, browser).
Em outros termos, para que possamos nos comunicar de um browser com um terminal SIP ou com a rede pública de telefonia, precisamos de uma tradução e são os gateways que irão fazer isso. Existem alguns gateways diferentes que fazem esta tradução Webrtc/SIP, alguns free como o famoso asterisk – através de alguns módulos adicionais.
Segurança com WebRTC
Simplifiquemos assim: Criptografia é obrigatória. Isso significa https no browser.
Não apenas nos dados de mídia, mas em toda a sinalização, criptografia é obrigatória.
WebRTC usa protocolos seguros como o DTLS e SRTP.
O microfone precisa ser liberado. Normalmente, a interface exibe isso na aba do navegador.
O jeito fácil de fazer WebRTC
Para acabar com toda essa complicação, a TotalVoice lançou seu próprio cliente WebRTC embutido dentro da plataforma. Isso significa que você pode implementar um cliente WebRCT em seu site apenas fazendo uma solicitação na API e pagando apenas pelas ligações que efetuar. O tutorial a seguir ensina como fazer isso.
Tutorial WebRTC
O objetivo deste tutorial de WebRTC é ensinar como integrar um discador telefônico em seu website ou sistema utilizando a API de Totalvoice.
Como o custo é muito baixo e toda a estrutura está hospedada na amazon, já é altamente escalável. O custo para usar o Webrtc da Totalvoice hoje é zero, então é só começar.
1 – Primeiro faça um cadastro na página da nossa solução de voz e acesse o painel para ter acesso ao seu access_token;
2 – Crie um ramal para ter um endpoint de origem/destino. Um ramal é uma “linha” telefônica com um número interno, que pode ser chamada ou chamar outros números;
3 – Solicite a URl do webphone, que é a aplicação completa de telefonia para ser embutida em seu site;
4 – Vamos testar! Abra o webphone e faça uma ligação para seu celular. Ex.: 11 – 99876-2345.
Referências
http://www.cisco.com/cisco/web/support/BR/8/82/82851_bwidth_consume.html
http://iswebrtcreadyyet.com/
https://webrtc.org/
Quer conhecer o poder da voz em estratégias de vendas, confira nosso artigo: O poder da voz nas vendas: conheça a técnica TALKER de comunicação