Zum Hauptinhalt springen

5.9. Applying a Local Description (Anwenden einer lokalen Beschreibung)

5.9. Applying a Local Description (Anwenden einer lokalen Beschreibung)

Die folgenden Schritte werden auf der Ebene der Medien-Engine ausgeführt, um eine lokale Beschreibung (local description) anzuwenden. Wird ein Fehler zurückgegeben, MUSS die Sitzung in den Zustand vor der Ausführung dieser Schritte zurückversetzt werden.

Zuerst werden „m=“-Abschnitte verarbeitet. Für jeden „m=“-Abschnitt MÜSSEN die folgenden Schritte ausgeführt werden; sind Parameter außerhalb der Grenzen oder nicht anwendbar, MUSS die Verarbeitung gestoppt und ein Fehler zurückgegeben werden.

  • Ist dieser „m=“-Abschnitt neu, mit der Sammlung von Kandidaten dafür beginnen, wie in [RFC8445], Abschnitt 5.1.1 definiert, es sei denn, er wird definitiv gebündelt (entweder (1) dies ist ein Angebot und der „m=“-Abschnitt ist als bundle-only markiert oder (2) dies ist eine Antwort und der „m=“-Abschnitt ist in einen anderen „m=“-Abschnitt gebündelt).

  • Oder, wenn sich die ICE-ufrag- und Passwortwerte geändert haben, den ICE-Agenten auslösen, einen ICE-Neustart wie in [RFC8445], Abschnitt 9 beschrieben zu beginnen, und mit der Sammlung neuer Kandidaten für den „m=“-Abschnitt beginnen. Ist diese Beschreibung eine Antwort, auch Prüfungen für diesen Medienabschnitt starten.

  • Gibt der Wert des Feldes proto des „m=“-Abschnitts die Verwendung von RTP an:

    • Ist kein RtpTransceiver mit diesem „m=“-Abschnitt verknüpft, einen finden und gemäß den folgenden Schritten mit diesem „m=“-Abschnitt verknüpfen. Diese Situation tritt nur beim Anwenden eines Angebots auf.

      • Den RtpTransceiver finden, der diesem „m=“-Abschnitt entspricht, unter Verwendung der Zuordnung zwischen Transceivern und „m=“-Abschnittsindizes, die beim Erstellen des Angebots festgelegt wurde.

      • Den Wert der mid-Eigenschaft dieses RtpTransceiver auf die MID des „m=“-Abschnitts setzen.

    • Ist RTCP-Mux angegeben, die Demultiplexierung von RTP und RTCP von der RTP-ICE-Komponente vorbereiten, wie in [RFC5761], Abschnitt 5.1.3 spezifiziert.

    • Für jede angegebene RTP-Header-Erweiterung eine Zuordnung zwischen Erweiterungs-ID und URI herstellen, wie in [RFC5285], Abschnitt 6 beschrieben.

    • Wird die MID-Header-Erweiterung unterstützt, die Demultiplexierung von RTP-Strömen für diesen „m=“-Abschnitt auf Basis der MID-Header-Erweiterung vorbereiten, wie in [RFC8843], Abschnitt 15 beschrieben.

    • Für jedes angegebene Medienformat eine Zuordnung zwischen Payload-Typ und dem tatsächlichen Medienformat herstellen, wie in [RFC3264], Abschnitt 6.1 beschrieben. Außerdem die Demultiplexierung von RTP-Strömen für diesen „m=“-Abschnitt auf Basis der von diesem „m=“-Abschnitt unterstützten Medienformate vorbereiten, wie in [RFC8843], Abschnitt 9.2 beschrieben.

    • Für jedes angegebene „rtx“-Medienformat eine Zuordnung zwischen dem RTX-Payload-Typ und seinem zugehörigen primären Payload-Typ herstellen, wie in den Abschnitten 8.6 und 8.7 von [RFC4588] beschrieben.

    • Ist das Richtungsattribut vom Typ „sendrecv“ oder „recvonly“, Empfang und Dekodierung von Medien aktivieren.

Wenn diese Beschreibung schließlich vom Typ „pranswer“ oder „answer“ ist, die in Abschnitt 5.11 definierte Verarbeitung ausführen.