WebRTC es un framework, una estructura que permite ejecutar aplicaciones en tiempo real (RTC – Real-Time Communications), directamente en el navegador de Internet. En otras palabras, permite que navegadores como Chrome o Firefox, entre otros, puedan ejecutar aplicaciones en tiempo real, sin necesidad de instalar un plugin adicional ni ningún otro tipo de complemento.
Por ejemplo, es posible crear un softphone totalmente integrado y funcional en el propio navegador, donde la seguridad está garantizada por el navegador, que utiliza cifrado de manera predeterminada. Otro buen ejemplo es la creación de click-to-call, un botón de “Llámenos” en los sitios web. Así, el usuario podrá ser atendido a través de la web y con un recurso de voz, sin costos de llamada para él y con un costo significativamente más bajo para la empresa.
Existen varias aplicaciones que utilizan WebRTC para comunicación en tiempo real, como Facetime, Skype, Google Talk e iChat, e incluso teléfonos IP. Con la propuesta de traer todo eso directamente al navegador de internet, WebRTC se presenta como una importante herramienta de comunicación.
Atención en línea completa
WebRTC no sirve solamente para audio. También puede agregar los componentes de red, audio y video de alta calidad, necesarios en aplicaciones que usan chats de voz y video en un solo lugar, para que la atención en línea sea completa.
Además, permite compartir archivos sin depender de un servidor. Eso posibilita, por ejemplo, usar el navegador de internet para transferir archivos entre PC, sin instalar ninguna aplicación específica: solo es necesario que las dos PC tengan el navegador abierto en una página creada para esa finalidad. Para ese intercambio de archivos, WebRTC utiliza una conexión P2P (Peer-to-Peer).
¿Cómo se realiza la integración?
Esas aplicaciones son posibles a través de una API escrita en JavaScript, lo que simplifica su implementación por parte de los desarrolladores.
________________________________________
API significa interfaz de programación de aplicaciones (Application Programming Interface), un conjunto de rutinas y patrones de software para el uso de sus funcionalidades por parte de aplicaciones que no se involucran en detalles de la implementación del software, sino que simplemente utilizan sus servicios.
________________________________________
WebRTC fue estandarizado en el nivel de API por el W3C, que es la principal organización de estandarización de la web. Y también fue licenciado por Google, que no cobra royalties por su uso, o sea, es una herramienta de código abierto.
Atención en línea con calidad
WebRTC ofrece una gama muy completa de códecs para comunicaciones de voz que garantizan la mejor experiencia del usuario, como AEC, un cancelador de eco basado en software, AGC, que realiza el control automático de ganancia (volúmenes), un reductor y supresor de ruidos y un control de hardware a través de diversas plataformas.
Para video, WebRTC utiliza, entre otros, el códec VP8, que “esconde” posibles pérdidas de paquete y limpia imágenes con mucho ruido. Ese códec también captura y retransmite imágenes a través de las más diversas plataformas.
Otro detalle importante es el uso de técnicas de corrección de jitter buffer y errores para audio y video usados, que soluciona los efectos de las pérdidas de paquetes en redes no confiables o no certificadas.
________________________________________
Jitter es el promedio de la variación de tiempo de entrega de paquetes a través de una red, y si esta variación es muy grande, los paquetes pueden perderse o ser descartados, lo que provoca fallas en la transmisión de datos de audio y video.
________________________________________
El framework también proporciona soluciones para el problema del atravesamiento de NAT entre redes mediante el uso de los protocolos STUN, ICE y TURN. Así, independientemente del tipo de NAT que esté al frente de la aplicación, será posible establecer la comunicación entre los diferentes participantes de la sesión.
WebRTC y Khomp
La API K3L permite la integración directa con los navegadores compatibles con WebRTC, realizando de esta manera la transmisión de la señalización SIP por WS (WebSocket) y WSS (WebSocket Secure) y transmitiendo el audio por medio del protocolo RTP y RTCP, ya sea usando transportes planos (UDP, TCP) o cifrados (SRTP).
Junto a las aplicaciones WebRTC basadas en productos Khomp podrán agregarse también todas las funciones del HMP VoIP, como por ejemplo grabación y reproducción de audio y conmutación de canales, entre otras.
Conozca más sobre las familias EBS y HMP de productos Khomp que admiten esta integración y vea el proyecto WebRTC completo aquí.