0

ターンアンドスタンサーバーを使用しているwebrtcクライアントを構築しています。ファイアウォールをオフにしている場合、これは機能しています。オン アイス候補関数をブレークポイントすると、自分のアイス サーバーが ICE 候補として追加されていないことがわかります。

これはコードです:

var rtc_configuration =
    {
        iceServers: [
            {urls: "stun:numb.viagenie.ca"},
            {urls: "turn:numb.viagenie.ca", username: "username", credential: "credential", credentialType: "password"}
        ],
        bundlePolicy: "balanced",
        iceTransportPolicy: "all",
        rtcpMuxPolicy: "negotiate",
        iceCandidatePoolSize: 20,
        certificates: []
    };
    var peer_connection = new rtc_peer_connection(rtc_configuration);
    peer_connection.onicecandidate = pc_on_ice_candidate;

しかし、onicecandidate 機能にブレークポイントを設定すると、デフォルトの候補のみが追加され、構成内の ice サーバーは追加されません。最新バージョンの firefox を使用しています。

誰か提案がありますか?

4

1 に答える 1

0

問題は、TURNサーバーのトランスポートタイプがUDPであり、ファイアウォールのおかげでUDPポートがブロックされるためだと思います。したがって、ICE候補はありません。TCPトランスポートモードでTURN資格情報を追加してみてください...

于 2016-07-04T17:10:08.587 に答える