8. Modifying the Session (Modifica della sessione)
8. Modifying the Session (Modifica della sessione)
In qualsiasi momento durante la sessione, ciascun partecipante PUÒ emettere una nuova offerta per modificare le caratteristiche della sessione. È fondamentale per il funzionamento del modello offer/answer che la stessa identica procedura offer/answer definita sopra sia usata per modificare i parametri di una sessione esistente.
L'offerta PUÒ essere identica all'ultimo SDP fornito all'altra parte (che può essere stato fornito in un'offerta o in una risposta), oppure PUÒ essere diversa. Ci riferiamo all'ultimo SDP fornito come "previous SDP (SDP precedente)". Se l'offerta è la stessa, la risposta PUÒ essere uguale al SDP precedente dell'answerer, oppure PUÒ essere diversa. Se l'SDP offerto differisce dal SDP precedente, si applicano alcuni vincoli alla sua costruzione, discussi sotto.
Quasi tutti gli aspetti della sessione possono essere modificati. Si possono aggiungere nuovi flussi, eliminare flussi esistenti e cambiare i parametri dei flussi esistenti. Quando si emette un'offerta che modifica la sessione, la riga o= del nuovo SDP DEVE essere identica a quella del SDP precedente, salvo che la versione nel campo origin (origine) DEVE incrementarsi di uno rispetto al SDP precedente. Se la versione nella riga origin non si incrementa, l'SDP DEVE essere identico all'SDP con quel numero di versione. L'answerer DEVE essere preparato a ricevere un'offerta che contenga SDP con versione invariata, ciò equivale effettivamente a una no-op (nessuna operazione). Tuttavia, l'answerer DEVE generare una risposta valida (che PUÒ essere uguale al SDP precedente dell'answerer, oppure PUÒ essere diversa), secondo le procedure definite nella sezione 6.
Se viene offerto un SDP diverso dal SDP precedente, il nuovo SDP DEVE avere un flusso media corrispondente per ogni flusso media nel SDP precedente. In altre parole, se il SDP precedente aveva N righe m=, il nuovo SDP DEVE avere almeno N righe m=. L'i-esimo flusso media nel SDP precedente, contando dall'alto, corrisponde all'i-esimo flusso media nel nuovo SDP, contando dall'alto. Questa corrispondenza è necessaria affinché l'answerer determini quale flusso nel nuovo SDP corrisponde a un flusso nel SDP precedente. A causa di questi requisiti, il numero di righe m= non diminuisce mai, ma resta uguale o aumenta. I flussi media eliminati da un SDP precedente NON DEVONO essere rimossi in un nuovo SDP, tuttavia gli attributi per questi flussi possono non essere presenti.