cuando sdp se establece en local? cuando la respuesta se establece en remoteDescription? ¿cuándo se agregaron datos o transmisiones a RTCPeerConnection?
Deberían comenzar a disparar tan pronto como haya establecido una descripción local, ya sea una oferta o una respuesta.
Piense en ello como una optimización: actualizaciones parciales de localDescription . Si espera un par de segundos para inspeccionar localDescription , el SDP ya contendrá todos los candidatos de ICE y no necesitará escuchar ningún evento. Funciona simplemente enviando el SDP e ignorando estos eventos. Pero esto es lento.
Para acelerar el establecimiento de la conexión, la localDescription inicial proporcionada está incompleta y faltan candidatos ICE, ya que tardan en generarse. Esto le permite señalar el SDP temprano, desbloqueando el otro extremo, siempre que prometa hacer un seguimiento y enviar los candidatos que faltan a medida que se generan (que es cuando se activa el evento).
Sí, el evento onicecandidate se activa tan pronto como establecemos la oferta o la respuesta a la descripción local, pero no activará el evento hasta que no creemos el canal de datos o ningún canal de transmisión primero.