OpenReplay Logo
12k
12k

WebRTC ICE テスト

STUN または TURN サーバーを指定して ICE candidate を収集し、実際に動作するかを確認します。完全にブラウザ内で動作する Trickle ICE チェックです。

STUN / TURN サーバー

ブラウザ内で動作
ICE トランスポート

Relay のみにすると STUN と host candidate を無視し、TURN だけをテストします。

任意です。メディア権限がない場合、Chrome は 1 つのネットワークインターフェースからのみ candidate を収集します。許可するとすべてのインターフェースが表示されます。記録は一切行われず、ストリームはただちに停止されます。

ICE candidate

candidate はまだありません。サーバーを追加して「candidate を収集」を選択してください。

このツールについて

WebRTC 接続が確立しないときに開発者が頼る Trickle ICE チェックです。STUN または TURN サーバーの URI(TURN の場合はユーザー名と認証情報も)を入力すると、そのサーバーだけを使うローカルの RTCPeerConnection を立ち上げ、ICE candidate を収集して結果を表示します。server-reflexive(srflx)candidate が出れば STUN が機能しており、relay candidate が出れば TURN が機能しています。

TURN の認証情報が誤っている場合、onicecandidateerror イベントに 401 として現れます。これは最も役立つ診断情報であり、認証の問題か到達不能なホストかを切り分けられます。トランスポートポリシーを「Relay のみ」に設定すると TURN だけをテストでき、任意のマイク/カメラ権限を許可すると、ブラウザは 1 つだけでなくすべてのネットワークインターフェースから candidate を公開します。任意のアドレスをクリックするとコピーできます。

サーバー URI と TURN 認証情報は、ブラウザのローカルな RTCPeerConnection にのみ渡され、OpenReplay には何も送信されません。唯一発生するネットワーク動作は、テスト対象のサーバーへの STUN/TURN バインディング要求であり、それがこのツールの目的そのものです。なお STUN テストは、その仕組み上、あなたのパブリック IP をその STUN サーバーに開示します。

よくある質問

STUN サーバーとは何ですか?

STUN サーバーは、インターネットから見たデバイス自身のパブリック IP アドレスとポートを伝えるもので、NAT の背後にいる 2 つのピアが互いへの経路を見つけられるようにします。WebRTC はこれを使って「server-reflexive」(srflx)candidate を収集します。アドレスを発見するだけで、メディアを中継することはありません。

TURN サーバーとは何ですか?

TURN サーバーは、直接接続が不可能な場合(対称型 NAT や制限の厳しいファイアウォール)にピア間のメディアを中継します。STUN と異なりトラフィックがそこを通過するため、認証情報が必要です。WebRTC では、機能している TURN サーバーは「relay」candidate を生成します。

STUN と TURN の違いは何ですか?

STUN はパブリックアドレスを発見するだけで、ピアが直接接続できるようにします。軽量で無料です。TURN は直接の経路が失敗したときに実際のトラフィックを中継するため、帯域を消費し認証が必要です。ほとんどの WebRTC 構成はまず STUN を試し、失敗すると TURN にフォールバックします。

TURN サーバーが機能しているかをテストするには?

turn: URI とそのユーザー名・認証情報を入力し、トランスポートを「relay」に設定して candidate を収集します。種類が「relay」の candidate が現れれば、その TURN サーバーは機能しています。代わりに 401 エラーが出れば認証情報が誤っており、candidate がまったく出なければ到達不能です。

STUN サーバーが機能しているかを知るには?

stun: URI を入力して candidate を収集します。あなたのパブリック IP を伴う種類「srflx」(server-reflexive)の candidate が現れれば、その STUN サーバーは到達可能で機能しています。「host」candidate しか出ない場合、その STUN サーバーは応答しませんでした。

Trickle ICE とは何ですか?

Trickle ICE は、収集が完了するのを待たずに、発見した ICE candidate を順次もう一方のピアへ送る WebRTC の手法です。このツールは同じ candidate 収集プロセスを実行するため、各 candidate が現れる様子を見ながらサーバーが応答することを確認できます。