Passa al contenuto principale

5.8.3. Semantics Verification (Verifica semantica)

5.8.3. Semantics Verification (Verifica semantica)

Supponendo che l'analisi si completi con successo, la descrizione analizzata viene quindi valutata per garantire coerenza interna e supporto adeguato delle funzionalità obbligatorie. In particolare, vengono eseguiti i seguenti controlli:

  • Per ogni sezione m=, DEVONO essere presenti valori validi per ciascuna delle funzionalità di uso obbligatorio elencate nella sezione 5.1.1. Questi valori POSSONO essere presenti a livello media o ereditati dal livello sessione.

    • Valori ICE ufrag e password, che DEVONO rispettare i limiti di dimensione specificati in [RFC8839], sezione 5.4.

    • Un valore tls-id, che DEVE essere impostato secondo [RFC8842], sezione 5. Se si tratta di una nuova offerta o di una risposta a una nuova offerta e il valore tls-id differisce da quello attualmente in uso, la connessione DTLS non sta continuando e la descrizione remota DEVE far parte di un riavvio ICE, insieme a nuovi valori ufrag e password.

    • Un valore di setup DTLS, che DEVE essere impostato secondo le regole specificate in [RFC5763], sezione 5, e DEVE essere coerente con il ruolo selezionato della connessione DTLS corrente, se esiste ed è in continuazione.

    • Valori di impronta DTLS, dove almeno un'impronta DEVE essere presente.

  • Tutti i rid-id referenziati in una riga a=simulcast DEVONO esistere come righe a=rid.

  • Ogni sezione m= è inoltre controllata per assicurare che non siano usate funzionalità proibite.

  • Se la politica di multiplexing RTP/RTCP è require, ogni sezione m= DEVE contenere un attributo a=rtcp-mux. Se una sezione m= contiene un attributo a=rtcp-mux-only, quella sezione DEVE contenere anche un attributo a=rtcp-mux.

  • Se una sezione m= era presente nella risposta precedente, lo stato del multiplexing RTP/RTCP DEVE corrispondere a quanto negoziato in precedenza.

Se questa descrizione di sessione è di tipo pranswer o answer, si applicano i seguenti controlli aggiuntivi:

  • La descrizione di sessione DEVE seguire le regole definite in [RFC3264], sezione 6, incluso il requisito che il numero di sezioni m= DEVE corrispondere esattamente al numero di sezioni m= nell'offerta associata.

  • Per ogni sezione m=, i valori di tipo media e protocollo DEVONO corrispondere esattamente ai valori di tipo media e protocollo nella sezione m= corrispondente nell'offerta associata.

Se uno dei controlli precedenti è fallito, l'elaborazione DEVE arrestarsi e DEVE essere restituito un errore.