Zum Hauptinhalt springen

5.2.2. Subsequent Offers (Nachfolgende Angebote)

5.2.2. Subsequent Offers (Nachfolgende Angebote)

Wenn createOffer ein zweites (oder späteres) Mal aufgerufen wird oder nach der Installation einer lokalen Beschreibung aufgerufen wird, ist die Verarbeitung etwas anders als bei einem initialen Angebot.

Wenn das vorherige Angebot nicht mit setLocalDescription angewendet wurde, was bedeutet, dass die PeerConnection sich noch im "stable"-Zustand befindet, MÜSSEN die Schritte zur Generierung eines initialen Angebots befolgt werden, vorbehaltlich der folgenden Einschränkung:

  • Die Felder der "o="-Zeile MÜSSEN gleich bleiben, mit Ausnahme des <session-version>-Feldes, das bei jedem Aufruf von createOffer um eins erhöht werden MUSS, wenn sich das Angebot von der Ausgabe des vorherigen Aufrufs von createOffer unterscheiden könnte; Implementierungen KÖNNEN sich dafür entscheiden, <session-version> bei jedem Aufruf zu erhöhen.

Wenn das vorherige Angebot mit setLocalDescription angewendet wurde, aber eine entsprechende Antwort von der entfernten Seite noch nicht angewendet wurde, was bedeutet, dass die PeerConnection sich noch im "have-local-offer"-Zustand befindet, wird ein Angebot generiert, indem die Schritte im "stable"-Zustand oben befolgt werden, mit diesen Ausnahmen:

  • Die "s="- und "t="-Zeilen MÜSSEN gleich bleiben.
  • Jede "a=mid"-Zeile MUSS gleich bleiben.
  • Jede "a=ice-ufrag"- und "a=ice-pwd"-Zeile MUSS gleich bleiben, es sei denn, die ICE-Konfiguration hat sich geändert oder die IceRestart-Option wurde angegeben.
  • Für RtpTransceiver, die noch vorhanden sind, MÜSSEN die "a=rid"-Zeilen gleich bleiben.
  • Für RtpTransceiver, die noch vorhanden sind, MUSS jede "a=simulcast"-Zeile gleich bleiben.