Articulo de referencia

Puerta de enlace WebRTC

WebRTC Gateway conecta WebRTC con una tecnología VoIP establecida como SIP . WebRTC (Web Real-Time Communication) es una definición de API elaborada por el Consorcio World Wide ...

WebRTC Gateway conecta WebRTC con una tecnología VoIP establecida como SIP . WebRTC (Web Real-Time Communication) es una definición de API elaborada por el Consorcio World Wide Web (W3C) que admite aplicaciones de navegador a navegador para llamadas de voz , videollamadas y mensajería sin necesidad de complementos internos o externos . [ 1 ]

Escenario de uso

Para permitir que los navegadores que utilizan distintos proveedores de aplicaciones se comuniquen entre sí (por ejemplo, un usuario que ha iniciado sesión en el proveedor de aplicaciones X quiere llamar a alguien que ha iniciado sesión en el proveedor de aplicaciones Y), se puede utilizar un llamado trapecio WebRTC. En este caso, los dos proveedores utilizan un protocolo de señalización VoIP ampliamente utilizado , como SIP, para establecer la comunicación entre ellos. Sin embargo, cada uno de sus respectivos clientes basados ​​en navegador envía señales a su servidor utilizando protocolos de aplicación propietarios basados ​​en HTTP y WebSocket .

Este componente que actúa como intermediario entre WebRTC y SIP se denomina puerta de enlace WebRTC. Además de conectar diferentes aplicaciones WebRTC, una puerta de enlace WebRTC también permite la comunicación entre un teléfono WebRTC y un teléfono VoIP o incluso un teléfono PSTN . De este modo, una puerta de enlace WebRTC amplía el alcance de las aplicaciones WebRTC y permite un mayor alcance y escenarios de uso. [ 2 ]

Ejemplo de un trapecio WebRTC

Funcionalidad

El proceso habitual con WebRTC consiste en que un usuario descarga una aplicación JavaScript WebRTC . Esta aplicación se utiliza para comunicarse con otro usuario. Una puerta de enlace WebRTC normalmente contiene el servidor desde donde el usuario descarga la aplicación JavaScript WebRTC . Al recibir una llamada del usuario, la puerta de enlace WebRTC debe determinar si el destinatario es accesible a través de WebRTC. Si no lo es, la llamada deberá traducirse a SIP, por ejemplo. Para traducir una llamada a SIP, la puerta de enlace deberá mapear diferentes capas:

  • Señalización: No existe un protocolo de señalización estandarizado para aplicaciones WebRTC. Sin embargo, se suele utilizar SIP sobre WebSockets ( RFC 7118 ), en parte debido a su aplicabilidad a la mayoría de los escenarios de comunicación previstos, así como a la disponibilidad de software de código abierto como JsSIP . En tal caso, la puerta de enlace solo necesitaría convertir los paquetes SIP de la capa WebSocket a UDP , TCP o TLS . 
  • Transporte de medios: Las especificaciones de WebRTC indican que, por motivos de seguridad, las aplicaciones WebRTC deben usar SRTP para transportar contenido multimedia. Si bien algunas aplicaciones VoIP también admiten SRTP, esto es opcional y, por lo tanto, no siempre es así. Si el receptor no admite SRTP, la puerta de enlace WebRTC tendrá que realizar una conversión entre SRTP y RTP .
  • Contenido multimedia: Las especificaciones de WebRTC indican que las aplicaciones WebRTC deben usar G.711 u OPUS como códec de audio para la comunicación de audio . Las aplicaciones que usan SIP para establecer una sesión de audio pueden elegir cualquier tipo de códec . Si el destinatario no admite OPUS ni G.711, la puerta de enlace WebRTC tendrá que transcodificar entre los lados WebRTC y SIP de la comunicación.
  • Negociación de direcciones de medios: Para poder atravesar todo tipo de NAT , las especificaciones de WebRTC indican que las aplicaciones WebRTC deben usar STUN e ICE para detectar las direcciones bajo las cuales dos puntos finales pueden intercambiar paquetes de medios. Si bien estas tecnologías también son implementadas por algunos agentes de usuario SIP, esto no es obligatorio. Si el receptor no admite ICE o si se requiere mapeo de la capa de transporte de medios o transcodificación de medios, entonces la puerta de enlace WebRTC tendrá que actuar como un punto final ICE y enrutar los paquetes de medios entre el emisor y el receptor.
Mapeo de WebRTC a SIP

Soluciones disponibles

Ya existen diversas soluciones de código abierto y comerciales para proporcionar la funcionalidad de puerta de enlace WebRTC. Dado que muchas de las funciones necesarias para una puerta de enlace WebRTC, como el manejo de medios y el mapeo de señalización, son compatibles con el SBC , la función de puerta de enlace WebRTC suele estar integrada en los SBC o proporcionada por los fabricantes de SBC.

Pasarelas WebRTC de código abierto

Soluciones patentadas

Referencias

  1. "WebRTC 1.0: Comunicación en tiempo real entre navegadores" . Dev.w3.org . Consultado el 12 de septiembre de 2012 .
  2. "WebRTC: ¿Cómo y por qué?" (PDF) . FRAFOS. 12 de enero de 2015. Archivado del original (PDF) el 12 de junio de 2016. Consultado el 28 de enero de 2015 .
  3. "Video RTC" .
  4. "Vídeo, voz y mensajería enormemente flexibles | Frozen Mountain Software" .
  5. "WebRTC-SIP Gateway | Simplifique la implementación de WebRTC" . 8 de enero de 2025.