ユーザーが呼び出しを行うか、呼び出しを受け入れると、複数のステップとメッセージがシグナリング層とメディア トランスポートの間で交換されます。 呼び出しのセットアップに時間がかかりすぎる場合は、大抵ネットワークの問題が原因です。 呼び出しのセットアップの遅延に影響するもう 1 つの要因は、ストリーム取得の遅延です。これは、ブラウザーがメディア ストリームを取得するのにかかる時間です。 さらに、デバイスのパフォーマンスが呼び出しのセットアップ時間に影響することもあります。 たとえば、ビジー状態のブラウザーでは API 要求のスケジュール設定に時間がかかるため、呼び出しのセットアップ時間が長くなる場合があります。
SDK を使用して検出する方法
アプリケーションは、呼び出しが開始されてから接続されるまでの遅延を計算できます。
軽減または解決する方法
呼び出しのセットアップ時間が長くなる状況が続く場合は、ネットワーク速度が遅い、ラウンド トリップ時間が長い、パケット損失が多いなどの問題がないか、ネットワークを確認する必要があります。
これらの問題は、シグナリング層が TCP
接続を使用するため、呼び出しのセットアップ時間に影響する可能性があり、再送信などの要因によって遅延が発生することもあります。
さらに、ストリームの取得による遅延が疑われる場合は、ユーザーのデバイスを確認する必要があります。 たとえば、別のオーディオ入力デバイスを選択できます。
ユーザーが常にこの問題に遭遇していて、お客さまで原因を特定できない場合は、サポート チケットを提出して追加のサポートを受けることを検討してください。
ストリーム取得の期間を確認する
ストリームの取得は、呼び出し設定フローの一部です。 この情報は、webrtc-internals ページから取得できます。 ページにアクセスするには、新しいタブを開き、edge://webrtc-internals (Edge の場合) または chrome://webrtc-internals (Chrome の場合) と入力します。
webrtc-internals ページに移動したら、getUserMedia 呼び出しのタイムスタンプと結果を比較することで、ストリーム取得の期間を計算できます。 期間が異常に長い場合は、デバイスを確認する必要があります。
HTTP 要求の期間を確認する
開発者ツールの [ネットワーク] タブで、要求のサイズと完了までの時間を確認することもできます。 シグナリング要求の期間が長いために問題が起こっている場合は、ネットワーク トレースを確認すると、一部の要求で非常に長い時間がかかっていることがわかります。
サポート チケットを提出する必要がある場合は、ブラウザー HAR ファイルが必要となる場合があります。 HAR ファイルを収集する方法については、「トラブルシューティングのためにブラウザー トレースをキャプチャする」を参照してください。