14. Extensibility Considerations (Considerazioni sull'estensibilità)
Questa specifica compie scelte molto specifiche su come entrambi gli agenti in una sessione si coordinano per arrivare all'insieme di coppie di candidati selezionate per i media. Si prevede che le specifiche future vorranno modificare questi algoritmi, sia che si tratti di semplici modifiche come le modifiche del timer o modifiche più grandi come un rinnovamento dell'algoritmo di priorità. Quando viene apportata tale modifica, fornire l'interoperabilità tra i due agenti in una sessione è fondamentale.
In primo luogo, ICE fornisce l'attributo SDP a=ice-options. Ogni estensione o modifica a ICE è associata a un token. Quando un agente che supporta tale estensione o modifica genera un'offerta o una risposta, MUST includere il token per tale estensione in questo attributo. Ciò consente a ciascun lato di sapere cosa sta facendo l'altro lato. Questo attributo MUST NOT essere presente se l'agente non supporta alcuna estensione o modifica ICE.
Al momento, non sono definite procedure di registro o registrazione IANA per questi tag di opzione. Al momento della stesura, non è chiaro se le modifiche e le estensioni ICE saranno sufficientemente comuni da giustificare un registro.
Una delle complicazioni nel raggiungimento dell'interoperabilità è che ICE si affida a un algoritmo distribuito in esecuzione su entrambi gli agenti per convergere su un insieme concordato di coppie di candidati. Se i due agenti eseguono algoritmi diversi, può essere difficile garantire la convergenza sulle stesse coppie di candidati. La procedura di nomina regolare descritta nella Sezione 8 elimina parte dello stretto coordinamento delegando completamente l'algoritmo di selezione all'agente di controllo. Di conseguenza, quando un agente di controllo comunica con un peer che supporta opzioni di cui non è a conoscenza, l'agente MUST eseguire un algoritmo di nomina regolare. Quando viene utilizzata la nomina regolare, ICE convergerà perfettamente anche quando entrambi gli agenti utilizzano algoritmi di priorità delle coppie diversi. Una delle chiavi di tale convergenza sono i controlli attivati, che assicurano che la coppia nominata sia convalidata da entrambi gli agenti. Di conseguenza, eventuali miglioramenti futuri di ICE MUST preservare i controlli attivati.
ICE è anche estendibile ad altri flussi multimediali oltre RTP e per protocolli di trasporto oltre UDP. Le estensioni a ICE per i flussi multimediali non RTP devono specificare quanti componenti utilizzano e assegnare loro ID componente, a partire da 1 per l'ID componente più importante. Le specifiche per i nuovi protocolli di trasporto devono definire come, se non del tutto, i vari passaggi nell'elaborazione ICE differiscono da UDP.