Eventos de «Peer Connection»
Nota: Esta función solo está disponible en el SDK de JavaScript/TypeScript.
Cuando se inicia o se recibe una llamada, el Client SDK crea un RTCPeerConnection internamente. El peerConnectionCreated Este evento te permite acceder a este objeto en el momento en que se instancia —antes de que comience la recopilación de ICE— para que puedas suscribirte a cualquier evento del ciclo de vida de WebRTC que necesites.
Esto resulta útil para observar los diagnósticos de conexión de bajo nivel, como el progreso de la recopilación de ICE, las transiciones de estado de la conexión y la detección de fallos.
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}`);
});
});
Disponibilidad del identificador de llamada
| Dirección de la llamada | callId |
|---|---|
| Entrada | Disponible: se conoce el identificador de la llamada antes de que comience la configuración de los medios |
| Salida | null — el servidor aún no ha asignado un identificador en el momento en que se establece la conexión entre pares |
Suscribirse a eventos de WebRTC
El fragmento de código anterior muestra cómo suscribirse a connectionstatechange, iceconnectionstatechangey icegatheringstatechange. Estos son los eventos más útiles para diagnosticar problemas de conectividad en las llamadas. La lista completa de RTCPeerConnection La sección de eventos está disponible en el Documentación de MDN.
Recopilación de estadísticas sobre la calidad de las llamadas
Para recopilar métricas de calidad en tiempo real durante una llamada, utiliza pc.getStats() en la conexión entre pares. Esto devuelve estadísticas de WebRTC (fluctuación, pérdida de paquetes, tiempo de ida y vuelta) que pueden ayudar a diagnosticar problemas de calidad de audio. Véase MDN RTCPeerConnection.getStats() Para más información.