TURN サーバー

ほとんどの WebRTC アプリケーションが機能するには、 ピアリング トラフィックを直接制御できます。これは多くの場合、ピア ネットワーク間で直接の (同じローカル ネットワーク上にある場合を除く)。一般的な TURN サーバーを使用します。Traversal Using Relays の略 ネットワーク トラフィックを中継するためのプロトコルです。

現在、オンラインで利用可能な TURN サーバーのオプションは複数あります。 自己ホスト型のアプリケーション(オープンソースの COTURN プロジェクトなど)や、 提供します。

TURN サーバーをオンラインで使用できるようになったら、次は クライアント アプリケーションで使用するために RTCConfiguration。次のコードでは、 スニペットでは、RTCPeerConnection のサンプル構成を示します。 TURN サーバーのホスト名が my-turn-server.mycompany.com で、動作しているサーバー ポート 19403。この構成オブジェクトは、username と サーバーへのアクセスを保護するための credential プロパティ。これらは TURN サーバーに接続する際に必要となります。

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

const peerConnection = new RTCPeerConnection(iceConfiguration);