Événements « Peer Connection »

Remarque : Cette fonctionnalité n'est disponible que dans le SDK JavaScript/TypeScript.

Lorsqu'un appel est lancé ou reçu, le Client SDK crée un RTCPeerConnection en interne. Le peerConnectionCreated Cet événement vous donne accès à cet objet dès son instanciation — avant même que la collecte ICE ne commence —, ce qui vous permet de vous abonner à tous les événements du cycle de vie WebRTC dont vous avez besoin.

Cela s'avère utile pour observer les diagnostics de connexion de bas niveau, tels que la progression de la collecte ICE, les transitions d'état de la connexion et la détection des défaillances.

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}`);
  });
});

Disponibilité de l'identifiant d'appel

Sens de l'appel callId
Inbound Disponible — l'identifiant de l'appel est connu avant le début de la configuration multimédia
Sortie null — le serveur n'a pas encore attribué d'identifiant au moment où la connexion entre pairs est établie

S'abonner aux événements WebRTC

L'extrait ci-dessus montre comment s'abonner à connectionstatechange, iceconnectionstatechangeet icegatheringstatechange. Ce sont les événements les plus utiles pour diagnostiquer les problèmes de connectivité des appels. La liste complète des RTCPeerConnection La rubrique « Événements » est disponible dans le Documentation MDN.

Collecte des statistiques sur la qualité des appels Pour collecter des indicateurs de qualité en temps réel pendant un appel, utilisez pc.getStats() sur la connexion entre pairs. Cette fonction renvoie des statistiques WebRTC (gigue, perte de paquets, temps aller-retour) qui peuvent aider à diagnostiquer les problèmes de qualité audio. Voir MDN RTCPeerConnection.getStats() pour plus de détails.