Aller au contenu principal

5.2.2. Subsequent Offers (Offres suivantes)

5.2.2. Subsequent Offers (Offres suivantes)

Lorsque createOffer est appelé une deuxième fois (ou plus tard) ou est appelé après qu'une description locale a déjà été installée, le traitement est quelque peu différent de celui d'une offre initiale.

Si l'offre précédente n'a pas été appliquée en utilisant setLocalDescription, ce qui signifie que le PeerConnection est toujours dans l'état "stable", les étapes de génération d'une offre initiale DOIVENT être suivies, sous réserve de la restriction suivante:

  • Les champs de la ligne "o=" DOIVENT rester les mêmes sauf pour le champ <session-version>, qui DOIT s'incrémenter de un à chaque appel à createOffer si l'offre peut différer de la sortie de l'appel précédent à createOffer; les implémentations PEUVENT choisir d'incrémenter <session-version> à chaque appel.

Si l'offre précédente a été appliquée en utilisant setLocalDescription, mais qu'une réponse correspondante du côté distant n'a pas encore été appliquée, ce qui signifie que le PeerConnection est toujours dans l'état "have-local-offer", une offre est générée en suivant les étapes de l'état "stable" ci-dessus, avec ces exceptions:

  • Les lignes "s=" et "t=" DOIVENT rester les mêmes.
  • Chaque ligne "a=mid" DOIT rester la même.
  • Chaque ligne "a=ice-ufrag" et "a=ice-pwd" DOIT rester la même, sauf si la configuration ICE a changé ou si l'option IceRestart a été spécifiée.
  • Pour les RtpTransceivers qui sont toujours présents, les lignes "a=rid" DOIVENT rester les mêmes.
  • Pour les RtpTransceivers qui sont toujours présents, toute ligne "a=simulcast" DOIT rester la même.