Zum Hauptinhalt springen

14. Extensibility Considerations (Überlegungen zur Erweiterbarkeit)

Diese Spezifikation trifft sehr spezifische Entscheidungen darüber, wie beide Agenten in einer Sitzung koordiniert werden, um zu dem Satz von Kandidatenpaaren zu gelangen, die für Medien ausgewählt werden. Es wird erwartet, dass zukünftige Spezifikationen diese Algorithmen ändern wollen, sei es einfache Änderungen wie Timer-Optimierungen oder größere Änderungen wie eine Überarbeitung des Prioritätsalgorithmus. Wenn eine solche Änderung vorgenommen wird, ist die Gewährleistung der Interoperabilität zwischen den beiden Agenten in einer Sitzung von entscheidender Bedeutung.

Erstens stellt ICE das SDP-Attribut a=ice-options bereit. Jede Erweiterung oder Änderung an ICE ist einem Token zugeordnet. Wenn ein Agent, der eine solche Erweiterung oder Änderung unterstützt, ein Angebot oder eine Antwort generiert, MUST er das Token für diese Erweiterung in dieses Attribut aufnehmen. Dies ermöglicht es jeder Seite zu wissen, was die andere Seite tut. Dieses Attribut MUST NOT vorhanden sein, wenn der Agent keine ICE-Erweiterungen oder -Änderungen unterstützt.

Zu diesem Zeitpunkt sind keine IANA-Registrierungs- oder Registrierungsverfahren für diese Options-Tags definiert. Zum Zeitpunkt der Erstellung dieses Dokuments ist unklar, ob ICE-Änderungen und -Erweiterungen häufig genug sein werden, um eine Registrierung zu rechtfertigen.

Eine der Komplikationen bei der Erreichung der Interoperabilität besteht darin, dass ICE auf einem verteilten Algorithmus beruht, der auf beiden Agenten ausgeführt wird, um auf einen vereinbarten Satz von Kandidatenpaaren zu konvergieren. Wenn die beiden Agenten unterschiedliche Algorithmen ausführen, kann es schwierig sein, die Konvergenz auf denselben Kandidatenpaaren zu garantieren. Das in Abschnitt 8 beschriebene reguläre Nominierungsverfahren eliminiert einen Teil der engen Koordination, indem der Auswahlalgorithmus vollständig an den steuernden Agenten delegiert wird. Folglich, wenn ein steuernder Agent mit einem Peer kommuniziert, der Optionen unterstützt, die er nicht kennt, MUST der Agent einen regulären Nominierungsalgorithmus ausführen. Wenn die reguläre Nominierung verwendet wird, konvergiert ICE perfekt, selbst wenn beide Agenten unterschiedliche Paarpriorisierungsalgorithmen verwenden. Einer der Schlüssel zu einer solchen Konvergenz sind ausgelöste Überprüfungen, die sicherstellen, dass das nominierte Paar von beiden Agenten validiert wird. Folglich müssen alle zukünftigen ICE-Verbesserungen ausgelöste Überprüfungen beibehalten (MUST).

ICE ist auch auf andere Medienströme über RTP hinaus und für Transportprotokolle über UDP hinaus erweiterbar. Erweiterungen zu ICE für Nicht-RTP-Medienströme müssen angeben, wie viele Komponenten sie verwenden, und ihnen Komponenten-IDs zuweisen, beginnend bei 1 für die wichtigste Komponenten-ID. Spezifikationen für neue Transportprotokolle müssen definieren, wie sich verschiedene Schritte in der ICE-Verarbeitung gegebenenfalls von UDP unterscheiden.