En Google, luchamos por la equidad racial de la comunidad negra. Más información

Servidor turn

Para que la mayoría de las aplicaciones de WebRTC funcionen, se necesita un servidor a fin de retransmitir el tráfico entre pares, ya que, a menudo, no es posible un socket directo entre los clientes (a menos que residan en la misma red local). La forma común de resolver esto es mediante un servidor TURN. El término significa transversal mediante relés en NAT y es un protocolo para retransmitir tráfico de red.

En la actualidad, existen varias opciones para los servidores TURN disponibles en línea, como aplicaciones autoalojadas (como el proyecto de código abierto COTURN) y como servicios proporcionados en la nube.

Una vez que tengas un servidor TURN disponible en línea, todo lo que necesitas es el RTCConfiguration correcto para que lo use tu aplicación cliente. En el siguiente fragmento de código, se ilustra una configuración de muestra para un RTCPeerConnection en el que el servidor TURN tiene el nombre de host my-turn-server.mycompany.com y se ejecuta en el puerto 19403. El objeto de configuración también admite las propiedades username y credentials para proteger el acceso al servidor. Estos son necesarios cuando se conecta a un servidor TURN.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credentials: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);