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 WebRTC funcionen, se requiere un servidor para 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 habitual de solucionar este problema es mediante un servidor TURN. El término significa Traversal Using Relay NAT, y es un protocolo para retransmitir tráfico de red.

Actualmente, hay varias opciones para los servidores TURN disponibles en línea, tanto como aplicaciones autohospedadas (como el proyecto COTURN de código abierto) como servicios proporcionados en la nube.

Una vez que tenga un servidor TURN disponible en línea, todo lo que necesita es la RTCConfiguration correcta para que su aplicación cliente lo use. El siguiente fragmento de código ilustra una configuración de muestra para una RTCPeerConnection donde 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 de username y credentials para asegurar 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);