Passa al contenuto principale

5.8.1. Session-Level Parsing (Analisi a livello di sessione)

5.8.1. Session-Level Parsing (Analisi a livello di sessione)

Per prime vengono controllate e analizzate le righe a livello di sessione (Session-Level). Queste righe DEVONO comparire in un ordine specifico e con una sintassi specifica, come definito in [RFC4566], sezione 5. Si noti che, mentre i tipi di riga specifici (ad es. v=, c=) DEVONO comparire nell'ordine definito, le righe dello stesso tipo (tipicamente a=) possono comparire in qualsiasi ordine.

Le seguenti righe non-attributo non sono significative nel contesto JSEP e POSSONO essere scartate dopo essere state verificate.

  • La riga c= DEVE essere controllata per la sintassi, ma il suo valore è usato solo per il rilevamento di mismatch ICE, come definito in [RFC8445], sezione 5.4. Le implementazioni JSEP non dovrebbero incontrare questa condizione perché ICE è richiesto per WebRTC.

  • Le righe i=, u=, e=, p=, t=, r=, z= e k= DEVONO essere controllate per la sintassi, ma i loro valori non sono altrimenti usati.

Le rimanenti righe non-attributo sono elaborate come segue:

  • La riga v= DEVE avere versione 0, come specificato in [RFC4566], sezione 5.1.

  • La riga o= DEVE essere analizzata come specificato in [RFC4566], sezione 5.2.

  • La riga b=, se presente, DEVE essere analizzata come specificato in [RFC4566], sezione 5.8, e i valori bwtype e bandwidth memorizzati.

Infine vengono elaborate le righe attributo. DEVE essere applicata elaborazione specifica per le seguenti righe attributo (a=) a livello di sessione:

  • Qualsiasi riga a=group è analizzata come specificato in [RFC5888], sezione 5, e la semantica del gruppo e i mids sono memorizzati.

  • Se presente, una singola riga a=ice-lite è analizzata come specificato in [RFC8839], sezione 5.3, e un valore che indica la presenza di ice-lite è memorizzato.

  • Se presente, una singola riga a=ice-ufrag è analizzata come specificato in [RFC8839], sezione 5.4, e il valore ufrag è memorizzato.

  • Se presente, una singola riga a=ice-pwd è analizzata come specificato in [RFC8839], sezione 5.4, e il valore della password è memorizzato.

  • Se presente, una singola riga a=ice-options è analizzata come specificato in [RFC8839], sezione 5.6, e l'insieme delle opzioni specificate è memorizzato.

  • Qualsiasi riga a=fingerprint è analizzata come specificato in [RFC8122], sezione 5, e l'insieme dei valori di impronta e algoritmo è memorizzato.

  • Se presente, una singola riga a=setup è analizzata come specificato in [RFC4145], sezione 4, e il valore setup è memorizzato.

  • Se presente, una singola riga a=tls-id è analizzata come specificato in [RFC8842], sezione 5, e il valore dell'attributo è memorizzato.

  • Qualsiasi riga a=identity è analizzata e i valori di identità sono memorizzati per la verifica successiva, come specificato in [RFC8827], sezione 5.

  • Qualsiasi riga a=extmap è analizzata come specificato in [RFC5285], sezione 5, e i loro valori sono memorizzati.

Altri attributi non rilevanti per JSEP possono essere presenti, e le implementazioni DOVREBBERO elaborare quelli che riconoscono. Come richiesto da [RFC4566], sezione 5.13, le righe attributo sconosciute DEVONO essere ignorate.

Una volta analizzate tutte le righe a livello di sessione, l'elaborazione continua con le righe nelle sezioni m=.