8. Modifying the Session (Sitzung ändern)
8. Modifying the Session (Sitzung ändern)
Zu jedem Zeitpunkt während der Sitzung KANN jeder Teilnehmer ein neues Offer ausgeben, um Eigenschaften der Sitzung zu ändern. Für das Funktionieren des Offer/Answer-Modells (Angebot/Antwort-Modells) ist es grundlegend, dass genau dieselbe oben definierte Offer/Answer-Prozedur zur Änderung von Parametern einer bestehenden Sitzung verwendet wird.
Das Offer KANN identisch mit dem zuletzt an die andere Partei übergebenen SDP sein (das in einem Offer oder einer Answer übergeben worden sein kann), oder es KANN unterschiedlich sein. Wir bezeichnen das zuletzt übergebene SDP als "previous SDP (vorheriges SDP)". Wenn das Offer dasselbe ist, KANN die Answer dasselbe wie das vorherige SDP des Answerers sein, oder sie KANN unterschiedlich sein. Wenn das angebotene SDP vom vorherigen SDP abweicht, gelten bestimmte Einschränkungen für seinen Aufbau, die unten erörtert werden.
Nahezu alle Aspekte der Sitzung können geändert werden. Neue Streams können hinzugefügt werden, bestehende Streams können gelöscht werden, und Parameter bestehender Streams können sich ändern. Beim Ausgeben eines Offers, das die Sitzung ändert, MUSS die o=-Zeile des neuen SDP mit der des vorherigen SDP identisch sein, außer dass die Version im Ursprungsfeld (origin) sich gegenüber dem vorherigen SDP um eins erhöhen MUSS. Wenn sich die Version in der Ursprungszeile nicht erhöht, MUSS das SDP identisch mit dem SDP dieser Versionsnummer sein. Der Answerer MUSS darauf vorbereitet sein, ein Offer zu erhalten, das SDP mit unveränderter Version enthält, dies ist faktisch eine No-Op (keine Operation). Der Answerer MUSS jedoch eine gültige Answer erzeugen (die dasselbe wie das vorherige SDP des Answerers sein KANN, oder unterschiedlich sein KANN), gemäß den in Abschnitt 6 definierten Verfahren.
Wenn ein SDP angeboten wird, das sich vom vorherigen SDP unterscheidet, MUSS das neue SDP für jeden Medienstream im vorherigen SDP einen passenden Medienstream haben. Mit anderen Worten, wenn das vorherige SDP N m=-Zeilen hatte, MUSS das neue SDP mindestens N m=-Zeilen haben. Der i-te Medienstream im vorherigen SDP, von oben gezählt, entspricht dem i-ten Medienstream im neuen SDP, von oben gezählt. Diese Zuordnung ist nötig, damit der Answerer bestimmen kann, welcher Stream im neuen SDP einem Stream im vorherigen SDP entspricht. Aufgrund dieser Anforderungen nimmt die Anzahl der m=-Zeilen niemals ab, sondern bleibt gleich oder steigt. Gelöschte Medienstreams aus einem vorherigen SDP DÜRFEN in einem neuen SDP nicht entfernt werden, Attribute für diese Streams müssen jedoch nicht vorhanden sein.