ピア・コネクション・イベント
注: この機能は、JavaScript/TypeScript SDKでのみ利用可能です。
通話が発信または着信されると、Client SDKは RTCPeerConnection 内部で。その peerConnectionCreated このイベントにより、オブジェクトがインスタンス化された瞬間(ICEの収集が始まる前)にそのオブジェクトにアクセスできるため、必要なWebRTCライフサイクルイベントを自由に購読することができます。
これは、ICEの収集進捗状況、接続状態の遷移、障害の検出など、低レベルの接続診断を監視するのに役立ちます。
コピー
client.on('peerConnectionCreated', (callId, pc) => {
console.log(`Peer connection created for call ${callId}`);
pc.addEventListener('connectionstatechange', () => {
console.log(`[PC ${callId}] connectionState: ${pc.connectionState}`);
});
pc.addEventListener('iceconnectionstatechange', () => {
console.log(
`[PC ${callId}] iceConnectionState: ${pc.iceConnectionState}`
);
});
pc.addEventListener('icegatheringstatechange', () => {
console.log(`[PC ${callId}] iceGatheringState: ${pc.iceGatheringState}`);
});
});
通話IDの利用状況
| 通話の方向 | callId |
|---|---|
| インバウンド | 利用可能 — メディアの設定が開始される前にコールIDが判明している |
| アウトバウンド | null — ピア接続が確立された時点で、サーバーはまだIDを割り当てていない |
WebRTC イベントの登録
上記のコードスニペットは、 connectionstatechange, iceconnectionstatechangeそして icegatheringstatechange. これらは、通話の接続に関する問題を診断する際に最も役立つイベントです。完全なリストは RTCPeerConnection イベントは、以下の MDNのドキュメント.
通話品質統計の収集
通話中にリアルタイムの品質指標を収集するには、以下を使用します。 pc.getStats() ピア間接続について。これにより、音声品質の問題の診断に役立つWebRTCの統計情報(ジッター、パケットロス、往復伝送時間)が返されます。詳しくは、 MDN RTCPeerConnection.getStats() 詳細はこちら。