Zum Hauptinhalt springen

5.5. Processing a Local Description (Verarbeitung einer lokalen Beschreibung)

5.5. Processing a Local Description (Verarbeitung einer lokalen Beschreibung)

Wenn ein SessionDescription an setLocalDescription übergeben wird, MÜSSEN die folgenden Schritte ausgeführt werden:

  • Ist die Beschreibung vom Typ "rollback", ist die in Abschnitt 5.7 definierte Verarbeitung zu befolgen, und die im restlichen Teil dieses Abschnitts beschriebene Verarbeitung ist auszulassen.

  • Andernfalls wird der Typ des SessionDescription mit dem aktuellen Zustand des PeerConnection abgeglichen:

    • Ist der Typ "offer", MUSS der Zustand des PeerConnection entweder "stable" oder "have-local-offer" sein.

    • Ist der Typ "pranswer" oder "answer", MUSS der Zustand des PeerConnection entweder "have-remote-offer" oder "have-local-pranswer" sein.

  • Entspricht der Typ nicht dem aktuellen Zustand, MUSS die Verarbeitung gestoppt und ein Fehler zurückgegeben werden.

  • Anschließend wird das SessionDescription daraufhin geprüft, ob sein Inhalt mit dem bei dem letzten Aufruf von createOffer/createAnswer erzeugten Inhalt identisch ist und also nicht verändert wurde, wie in Abschnitt 5.4 erläutert; andernfalls MUSS die Verarbeitung gestoppt und ein Fehler zurückgegeben werden.

  • Als Nächstes wird das SessionDescription in eine Datenstruktur geparst, wie unten in Abschnitt 5.8 beschrieben.

  • Schließlich wird das geparste SessionDescription angewendet, wie in Abschnitt 5.9 unten beschrieben.