5.8.2. Media Section Parsing (Analisi della sezione media)
5.8.2. Media Section Parsing (Analisi della sezione media)
Come le righe a livello di sessione, le righe della sezione media (Media Section) DEVONO comparire nell'ordine specifico e con la sintassi specifica definita in [RFC4566], sezione 5.
La riga m= stessa DEVE essere analizzata come descritto in [RFC4566], sezione 5.14, e i valori <media>, <port>, <proto> e <fmt> memorizzati.
Dopo la riga m=, DEVE essere applicata elaborazione specifica per le seguenti righe non-attributo:
-
Come per la riga
c=a livello di sessione, la rigac=DEVE essere analizzata secondo [RFC4566], sezione 5.7, ma il suo valore non è usato. -
La riga
b=, se presente, DEVE essere analizzata come specificato in [RFC4566], sezione 5.8, e i valori bwtype e bandwidth memorizzati.
DEVE essere applicata elaborazione specifica anche per le seguenti righe attributo:
-
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 attributo
a=candidateDEVE essere analizzato come specificato in [RFC8839], sezione 5.1, e i suoi valori memorizzati. -
Qualsiasi attributo
a=remote-candidatesDEVE essere analizzato come specificato in [RFC8839], sezione 5.2, ma i suoi valori sono ignorati. -
Se presente, un singolo attributo
a=end-of-candidatesDEVE essere analizzato come specificato in [RFC8840], sezione 8.1, e la sua presenza o assenza è segnata e memorizzata. -
Qualsiasi riga
a=fingerprintè analizzata come specificato in [RFC8122], sezione 5, e l'insieme dei valori di impronta e algoritmo è memorizzato.
Se il valore <proto> di m= indica l'uso di RTP, come descritto nella sezione 5.1.2, le seguenti righe attributo DEVONO essere elaborate:
-
Il valore
<fmt>dim=DEVE essere analizzato come specificato in [RFC4566], sezione 5.14, e i singoli valori memorizzati. -
Qualsiasi riga
a=rtpmapoa=fmtpDEVE essere analizzata come specificato in [RFC4566], sezione 6, e i suoi valori memorizzati. -
Se presente, una singola riga
a=ptimeDEVE essere analizzata come descritto in [RFC4566], sezione 6, e il suo valore memorizzato. -
Se presente, una singola riga
a=maxptimeDEVE essere analizzata come descritto in [RFC4566], sezione 6, e il suo valore memorizzato. -
Se presente, una singola riga attributo di direzione (ad es.
a=sendrecv) DEVE essere analizzata come descritto in [RFC4566], sezione 6, e il suo valore memorizzato. -
Qualsiasi attributo
a=ssrcDEVE essere analizzato come specificato in [RFC5576], sezione 4.1, e i suoi valori memorizzati. -
Qualsiasi attributo
a=extmapDEVE essere analizzato come specificato in [RFC5285], sezione 5, e i suoi valori memorizzati. -
Qualsiasi attributo
a=rtcp-fbDEVE essere analizzato come specificato in [RFC4585], sezione 4.2, e i suoi valori memorizzati. -
Se presente, un singolo attributo
a=rtcp-muxDEVE essere analizzato come specificato in [RFC5761], sezione 5.1.3, e la sua presenza o assenza è segnata e memorizzata. -
Se presente, un singolo attributo
a=rtcp-mux-onlyDEVE essere analizzato come specificato in [RFC8858], sezione 3, e la sua presenza o assenza è segnata e memorizzata. -
Se presente, un singolo attributo
a=rtcp-rsizeDEVE essere analizzato come specificato in [RFC5506], sezione 5, e la sua presenza o assenza è segnata e memorizzata. -
Se presente, un singolo attributo
a=rtcpDEVE essere analizzato come specificato in [RFC3605], sezione 2.1, ma il suo valore è ignorato, poiché questa informazione è superflua quando si usa ICE. -
Se presenti, gli attributi
a=msidDEVONO essere analizzati come specificato in [RFC8830], sezione 3.2, e i loro valori memorizzati, ignorando qualsiasi campoappdata. Se non sono presenti attributia=msid, viene generato un valore msid-id casuale per un MediaStreamdefaultdella sessione, se non già presente, e questo valore è memorizzato. -
Qualsiasi attributo
a=imageattrDEVE essere analizzato come specificato in [RFC6236], sezione 3, e i suoi valori memorizzati. -
Qualsiasi riga
a=ridDEVE essere analizzata come specificato in [RFC8851], sezione 10, e i suoi valori memorizzati. -
Se presente, una singola riga
a=simulcastDEVE essere analizzata come specificato in [RFC8853], e i suoi valori memorizzati.
Altrimenti, se il valore <proto> di m= indica l'uso di SCTP, le seguenti righe attributo DEVONO essere elaborate:
-
Il valore
<fmt>dim=DEVE essere analizzato come specificato in [RFC8841], sezione 4.3, e il valore del protocollo applicativo memorizzato. -
Un attributo
a=sctp-portDEVE essere presente, e DEVE essere analizzato come specificato in [RFC8841], sezione 5.2, e il valore memorizzato. -
Se presente, un singolo attributo
a=max-message-sizeDEVE essere analizzato come specificato in [RFC8841], sezione 6, e il valore memorizzato. Altrimenti usare il valore predefinito specificato.
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.