Servidor turn

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

Actualmente, existen varias opciones de servidores TURN disponibles en línea, tanto como aplicaciones autoalojadas (como el proyecto de código abierto COTURN) y como los servicios que se proporcionan.

Una vez que tengas un servidor TURN disponible en línea, todo lo que necesitas es el RTCConfiguration para que lo use tu aplicación cliente. El siguiente código de código muestra una configuración de ejemplo para una RTCPeerConnection en la que El servidor TURN tiene el nombre de host my-turn-server.mycompany.com y se ejecuta en puerto 19403. El objeto de configuración también admite username y Propiedades credential para proteger el acceso al servidor. Son cuando se establece una conexión a un servidor TURN.

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

const peerConnection = new RTCPeerConnection(iceConfiguration);