Ativar o servidor

Para que a maioria dos aplicativos WebRTC funcione, é necessário um servidor para retransmitir o tráfego entre pares, já que um soquete direto geralmente não é possível entre os clientes, a menos que eles estejam na mesma rede local. A maneira comum de resolver isso é usando um servidor TURN. O termo significa Traversal Using Relays around NAT, e é um protocolo para retransmitir o tráfego de rede.

Atualmente, há várias opções de servidores TURN disponíveis on-line, como aplicativos auto-hospedados (como o projeto de código aberto COTURN) e serviços fornecidos pela nuvem.

Depois de ter um servidor TURN disponível on-line, tudo o que você precisa é do RTCConfiguration correto para que o aplicativo cliente o use. O snippet de código a seguir ilustra uma configuração de amostra para um RTCPeerConnection em que o servidor TURN tem o nome do host my-turn-server.mycompany.com e está em execução na porta 19403. O objeto de configuração também oferece suporte às propriedades username e credential para proteger o acesso ao servidor. Eles são necessários ao se conectar a um servidor TURN.

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

const peerConnection = new RTCPeerConnection(iceConfiguration);