2016-12-13 17 views
1

実際にこのWebRTCコードラブ(https://codelabs.developers.google.com/codelabs/webrtc-web/#7)に従っていますが、ICEサーバに接続する必要がある場合には立ち往生します。Nodejs WebRTCビデオコールを設定し、Turn/ICEが失敗し、CORSがブロックされます。

ここエッセンシャルコード:

main.js

var pcConfig = { 
    'iceServers': [{ 
    'url': 'stun:stun.l.google.com:19302' 
} 

[...] 

if (location.hostname !== 'localhost') { 
requestTurn(
    'https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913');} 

通常、私はどちらかのエラーを取得:「ICEに失敗しました」、またはブロックされた 「クロスオリジン・リクエスト:同一生成元ポリシーは、リモートを読ん禁止しますリソースはhttps://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913です。 (理由:CORSヘッダーの「Access-Control-Allow-Origin」が抜けています)」

後者によれば、 「A2enmodヘッダー」を有効にし、これをapache.confに設定しました。「ヘッダーは常にアクセス制御を設定します-Allow-Origin "*" "

問題は解決しません。私のSTUNサーバーは "'url': 'stun:stun.l.google.com:19302'" " 私が理解している限り、STUNは80%の時間で動作するはずです。しかしこれは決してうまくいかない。したがって、TURNサーバがもはや動作しなくても、時々STUNと接続する必要がありますか?

+0

私に関係する同じ!電化製品\ skypeを追加してこのソリューションをディスカッションすることはできますか? – Loint

+0

私はこれに対する解決策を見つけられませんでしたが、[email protected] – Gideons

+0

メールを送信することは大歓迎です。私のオフィスのネットワークがすべてをブロックしていたことがわかりました。私は自分のTURNサーバーとta-daaをセットアップしました - ビデオ呼び出しが最後に動作します – Gideons

答えて

1

STUNは80%の時間で動作するはずです。つまり、インターネットエンドユーザーの80%がSTUNで作業する必要があります。この80%にいるかどうかは、ネットワーク構成、特にUDPが許可されているかどうかによって異なります。

Wiresharkまたはtcpdumpのようなツールを使用して、STUNトラフィックを自分で確認できます。

ICEはSTUNとTURNの両方を使用します。 STUNとTURNのどちらも機能しない場合、WebRTCピア接続を自分のネットワーク外のエンドポイントに接続することはできません。

また、iceServersにTURNサーバーを追加する必要があります。

+1

はい - STUNサーバーは一度も動作しませんでした。 STUNサーバーを起動し、それをリストに設定するとすべてが解決されました。 – Gideons

+1

私は意味しました:はい - 私のオフィスネットワークがすべてをブロックするのでSTUNサーバーは決して働きませんでした。 TURNサーバーを展開し、それをリストに追加することでこれが解決されました。このアプリはトラフィックをテストするのにも役立ちましたdemor.easyrtc.com/demos/demo_ice_filter.html – Gideons

+0

@ギデオンそれは面白そうです。どのターンサーバーを展開したのですか? –

関連する問題