Eventos de conexão entre colegas
Observação: Esse recurso está disponível apenas no SDK para JavaScript/TypeScript.
Quando uma chamada é iniciada ou recebida, o Client SDK cria um RTCPeerConnection internamente. O peerConnectionCreated O evento permite que você acesse esse objeto no momento em que ele é instanciado — antes do início da coleta do ICE — para que você possa se inscrever em quaisquer eventos do ciclo de vida do WebRTC que forem necessários.
Isso é útil para observar diagnósticos de conexão em nível detalhado, como o andamento da coleta de ICE, as transições no estado da conexão e a detecção de falhas.
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}`);
});
});
Disponibilidade do ID da chamada
| Direção da chamada | callId |
|---|---|
| Entrada | Disponível — o ID da chamada já é conhecido antes do início da configuração da mídia |
| Saída | null — o servidor ainda não atribuiu um ID no momento em que a conexão entre pares é estabelecida |
Inscrição em eventos WebRTC
O trecho acima mostra como se inscrever no connectionstatechange, iceconnectionstatechange, e icegatheringstatechange. Esses são os eventos mais úteis para diagnosticar problemas de conectividade nas chamadas. A lista completa de RTCPeerConnection A seção de eventos está disponível no Documentação do MDN.
Coleta de estatísticas de qualidade das chamadas
Para coletar métricas de qualidade em tempo real durante uma chamada, use pc.getStats() na conexão entre pares. Isso retorna estatísticas do WebRTC (jitter, perda de pacotes, tempo de ida e volta) que podem ajudar a diagnosticar problemas de qualidade de áudio. Consulte MDN RTCPeerConnection.getStats() para mais detalhes.