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 disponibles en línea, todo lo que necesita es la correcta RTCConfiguration para su aplicación cliente para utilizarlo. El siguiente fragmento de código muestra un ejemplo de configuración para un RTCPeerConnection donde el servidor a su vez tiene el nombre de host my-turn-server.mycompany.com y se está ejecutando en el puerto 19403 . El objeto de configuración también el apoyo de los username y credentials propiedades 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);