RFC 4566 - SDP: Protocollo di descrizione della sessione
- Stato: Proposed Standard
- Pubblicato: July 2006
- Stream: IETF
- Sostituisce: RFC2327, RFC3266
- Sostituito da: RFC8866
- Errata: Nessun errata
Sommario (Abstract)
Questo memo definisce il protocollo di descrizione della sessione (Session Description Protocol, SDP). SDP è destinato a descrivere sessioni multimediali ai fini dell'annuncio di sessione, invito di sessione e altre forme di avvio di sessione multimediale.
Indice (Contents)
- 1. Introduction (Introduzione)
- 2. Glossary of Terms (Glossario dei termini)
- 3. Examples of SDP Usage (Esempi di utilizzo di SDP)
- 4. Requirements and Recommendations (Requisiti e raccomandazioni)
- 5. SDP Specification (Specifica SDP)
- 6. SDP Attributes (Attributi SDP)
- 7. Security Considerations (Considerazioni sulla sicurezza)
- 8. IANA Considerations (Considerazioni IANA)
- 9. SDP Grammar (Grammatica SDP)
- 10. Summary of Changes from RFC 2327 (Riepilogo delle modifiche rispetto a RFC 2327)
- 11. Acknowledgements (Ringraziamenti)
- 12. References (Riferimenti)
Risorse correlate
- RFC ufficiale: RFC 4566
- Pagina ufficiale: RFC 4566 DataTracker
- Errata: RFC Editor Errata
2. Glossary of Terms (Glossario dei termini)
I termini seguenti sono usati in questo documento e hanno un significato specifico nel contesto di questo documento.
Conference (conferenza): una conferenza multimediale è un insieme di due o più utenti che comunicano tra loro e del software che usano per comunicare.
Session (sessione): una sessione multimediale è un insieme di mittenti e destinatari multimediali e dei flussi di dati che passano dai mittenti ai destinatari. Una conferenza multimediale è un esempio di sessione multimediale.
Session Description (descrizione di sessione): un formato ben definito per comunicare informazioni sufficienti a scoprire una sessione multimediale e parteciparvi.
Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" e "OPTIONAL" in questo documento devono essere interpretate come descritto in RFC 2119 [3].
3. Examples of SDP Usage (Esempi di uso di SDP)
3.1 Session Initiation (Avvio della sessione)
Il Session Initiation Protocol (SIP) [15] è un protocollo di controllo a livello applicativo usato per creare, modificare e terminare sessioni, come conferenze multimediali Internet, chiamate telefoniche Internet e distribuzione multimediale. I messaggi SIP usati per creare sessioni trasportano descrizioni di sessione, consentendo ai partecipanti di concordare un insieme di tipi di media compatibili. Queste descrizioni di sessione sono di solito formattate usando SDP. Quando viene usato con SIP, il modello offer/answer [17] fornisce un quadro limitato per la negoziazione tramite SDP.
3.2 Streaming Media (Media in streaming)
Il Real Time Streaming Protocol (RTSP) [16] è un protocollo a livello applicativo usato per controllare la consegna di dati con proprietà in tempo reale. RTSP fornisce un framework estensibile per la consegna controllata e su richiesta di dati in tempo reale, come audio e video. Client e server RTSP negoziano un insieme appropriato di parametri di consegna dei media, usando in parte la sintassi SDP per descriverli.
3.3 Email and the World Wide Web (Email e World Wide Web)
Metodi alternativi per comunicare descrizioni di sessione includono email e World Wide Web (WWW). Per la distribuzione tramite email e WWW viene usato il media type "application/sdp". Questo consente alle applicazioni di essere avviate automaticamente da un client WWW o da un lettore di posta per partecipare a una sessione.
Si noti che gli annunci di sessioni multicast effettuati solo tramite email o WWW non hanno la proprietà per cui il destinatario dell'annuncio sia necessariamente in grado di ricevere la sessione, poiché le sessioni multicast possono avere un ambito limitato, mentre l'accesso al server WWW o la ricezione dell'email possono avvenire al di fuori di tale ambito.
3.4 Multicast Session Announcement (Annuncio di sessione multicast)
Per assistere l'annuncio di conferenze multimediali multicast e di altre sessioni multicast, e per comunicare ai potenziali partecipanti le informazioni rilevanti di configurazione della sessione, può essere usata una directory di sessione distribuita. Le istanze di tale directory inviano periodicamente pacchetti contenenti descrizioni di sessione a un gruppo multicast ben noto. Questi annunci sono ricevuti da altre directory di sessione, così che i potenziali partecipanti remoti possano usare la descrizione di sessione per avviare gli strumenti necessari a partecipare alla sessione.
Un protocollo per implementare tale directory distribuita è il Session Announcement Protocol (SAP) [14]. SDP fornisce il formato raccomandato per le descrizioni di sessione in questi annunci.
4. Requirements and Recommendations (Requisiti e raccomandazioni)
Lo scopo di SDP è trasmettere informazioni sui flussi multimediali in sessioni multimediali, in modo che il destinatario di una descrizione di sessione possa partecipare alla sessione. SDP è pensato principalmente per l'uso negli internetwork, anche se è abbastanza generale da descrivere conferenze in altri ambienti di rete. I flussi multimediali possono essere molti-a-molti. Una sessione non deve necessariamente essere attiva in modo continuativo.
Finora le sessioni multicast basate su Internet si sono distinte da molte altre forme di conferenza perché chiunque riceva il traffico può unirsi alla sessione, salvo che il traffico della sessione sia cifrato. In un ambiente di questo tipo SDP ha due scopi principali: comunicare l'esistenza di una sessione e comunicare informazioni sufficienti per consentire di unirsi alla sessione e parteciparvi. Negli ambienti unicast può essere rilevante solo il secondo scopo.
Una descrizione di sessione SDP include:
- Il nome e lo scopo della sessione
- Il periodo in cui la sessione è attiva
- I media che compongono la sessione
- Le informazioni necessarie per ricevere tali media (indirizzi, porte, formati e così via)
Poiché le risorse necessarie per partecipare a una sessione possono essere limitate, possono essere richieste anche alcune informazioni aggiuntive:
- Informazioni sulla larghezza di banda usata dalla sessione
- Informazioni di contatto della persona responsabile della sessione
In generale, SDP DEVE trasmettere informazioni sufficienti per consentire alle applicazioni di unirsi a una sessione, con la possibile eccezione delle chiavi di cifratura, e per annunciare le risorse che saranno usate a qualunque non partecipante che debba conoscerle. Questa seconda caratteristica è utile soprattutto quando SDP viene usato con protocolli di annuncio di sessioni multicast.
4.1 Media and Transport Information (Informazioni su media e trasporto)
Una descrizione di sessione SDP include le seguenti informazioni sui media:
- Tipo di media (video, audio e così via)
- Protocollo di trasporto (RTP/UDP/IP, H.320 e così via)
- Formato del media (video H.261, video MPEG e così via)
Oltre al formato del media e al protocollo di trasporto, SDP comunica dettagli su indirizzi e porte. Per le sessioni IP multicast, questi includono:
- L'indirizzo del gruppo multicast per il media
- La porta di trasporto per il media
Questo indirizzo e questa porta sono l'indirizzo e la porta di destinazione del flusso multicast, indipendentemente dal fatto che si invii, si riceva o entrambe le cose.
Per le sessioni IP unicast vengono comunicate le informazioni seguenti:
- L'indirizzo remoto per il media
- La porta di trasporto remota per il media
La semantica di questo indirizzo e di questa porta dipende dal media e dal protocollo di trasporto definiti. Per impostazione predefinita, questi DOVREBBERO essere l'indirizzo remoto e la porta remota a cui inviare i dati. Alcuni tipi di media possono ridefinire questo comportamento, ma ciò NON È RACCOMANDATO perché complica l'implementazione, inclusi i dispositivi intermedi che devono analizzare gli indirizzi per aprire varchi NAT o firewall.
4.2 Timing Information (Informazioni temporali)
Le sessioni possono essere limitate o illimitate nel tempo. Indipendentemente dal fatto che siano limitate, possono essere attive solo in momenti specifici. SDP può comunicare:
- Un elenco arbitrario di orari di inizio e fine che delimitano la sessione
- Per ciascun intervallo, orari di ripetizione, ad esempio "ogni mercoledì alle 10 per un'ora"
Queste informazioni temporali sono globalmente coerenti, indipendentemente dai fusi orari locali o dall'ora legale (vedere la Sezione 5.9).
4.3 Private Sessions (Sessioni private)
Possono essere create sessioni pubbliche e private. SDP non distingue direttamente tra le due; le sessioni private sono in genere comunicate cifrando la descrizione di sessione durante la distribuzione. I dettagli della cifratura dipendono dal meccanismo usato per trasportare SDP; attualmente sono definiti meccanismi per SDP trasportato mediante SAP [14] e SIP [15], e in futuro potrebbero esserne definiti altri.
Se l'annuncio di sessione è privato, tale annuncio privato può essere usato per comunicare le chiavi di cifratura necessarie a decodificare ciascun media nella conferenza, incluse informazioni sufficienti a indicare quale schema di cifratura sia usato per ciascun media.
4.4 Obtaining Further Information about a Session (Ottenere ulteriori informazioni su una sessione)
Una descrizione di sessione DOVREBBE comunicare informazioni sufficienti per decidere se partecipare alla sessione. SDP può includere ulteriori puntatori a informazioni sulla sessione sotto forma di Uniform Resource Identifier (URI).
4.5 Categorisation (Categorizzazione)
Quando SAP o un altro meccanismo di annuncio distribuisce molte descrizioni di sessione, può essere necessario filtrare gli annunci di sessione interessanti da quelli che non lo sono. SDP supporta meccanismi di categorizzazione delle sessioni che possono essere automatizzati (l'attributo "a=cat:"; vedere la Sezione 6).
4.6 Internationalisation (Internazionalizzazione)
La specifica SDP raccomanda l'uso del set di caratteri ISO 10646 con codifica UTF-8 [5], per permettere la rappresentazione di molte lingue diverse. Tuttavia, per agevolare una rappresentazione compatta, SDP consente anche l'uso di altri set di caratteri, come ISO 8859-1, quando necessario. L'internazionalizzazione si applica solo ai campi di testo libero (nome della sessione e informazioni di contesto), non a SDP nel suo complesso.
5. SDP Specification (Specifica SDP)
Una descrizione di sessione SDP è rappresentata dal tipo di media "application/sdp" (vedere la Sezione 8).
Le descrizioni di sessione SDP sono interamente in forma testuale e usano il set di caratteri ISO 10646 con codifica UTF-8. I nomi dei campi SDP e i nomi degli attributi usano solo il sottoinsieme US-ASCII di UTF-8, ma i campi testuali e i valori degli attributi POSSONO usare l'intero set di caratteri ISO 10646. I campi e i valori degli attributi che usano l'intero set UTF-8 non vengono mai confrontati direttamente, quindi non è richiesta la normalizzazione UTF-8. La forma testuale, invece di una codifica binaria come ASN.1 o XDR, è stata scelta per aumentare la portabilità, supportare diversi metodi di trasporto e permettere l'uso di strumenti testuali flessibili per generare ed elaborare descrizioni di sessione.
Formato della descrizione SDP
Una descrizione di sessione SDP consiste in più righe di testo nel formato:
<type>=<value>
Dove <type> DEVE essere esattamente un carattere sensibile alle maiuscole e minuscole, e <value> è testo strutturato il cui formato dipende da <type>.
Struttura della descrizione SDP
Una descrizione di sessione SDP è composta da una sezione a livello di sessione e da zero o più sezioni a livello di media. Alcune righe della descrizione sono OBBLIGATORIE (REQUIRED), altre sono FACOLTATIVE (OPTIONAL), ma tutte le righe DEVONO apparire nell'ordine indicato qui. Gli elementi facoltativi sono contrassegnati con "*".
Descrizione di sessione (Session description):
v=(versione del protocollo)o=(originatore e identificatore della sessione)s=(nome della sessione)i=* (informazioni sulla sessione)u=* (URI della descrizione)e=* (indirizzo e-mail)p=* (numero di telefono)c=* (informazioni di connessione - non richieste se presenti in tutti i media)b=* (zero o più righe di informazioni sulla larghezza di banda)- Una o più descrizioni temporali (righe "t=" e "r=")
z=* (aggiustamenti di fuso orario)k=* (chiave di cifratura)a=* (zero o più righe di attributi di sessione)- Zero o più descrizioni di media
Descrizione temporale (Time description):
t=(periodo in cui la sessione è attiva)r=* (zero o più tempi di ripetizione)
Descrizione di media (Media description, se presente):
m=(nome del media e indirizzo di trasporto)i=* (titolo del media)c=* (informazioni di connessione - facoltative se presenti a livello di sessione)b=* (zero o più righe di informazioni sulla larghezza di banda)k=* (chiave di cifratura)a=* (zero o più righe di attributi di media)
Esempio SDP
v=0
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.example.com/seminars/sdp.pdf
[email protected] (Jane Doe)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
a=recvonly
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 99
a=rtpmap:99 h263-1998/90000
Sottosezioni
5.1 Protocol Version ("v=") (Versione del protocollo)
v=0
Il campo "v=" indica la versione del Session Description Protocol. Questo memo definisce la versione 0. Non esiste un numero di versione secondaria.
5.2 Origin ("o=") (Origine)
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
Il campo "o=" indica l'originatore della sessione, cioè il suo nome utente e l'indirizzo dell'host utente, oltre all'identificatore di sessione e al numero di versione.
5.3 Session Name ("s=") (Nome della sessione)
s=<session name>
Il campo "s=" è il nome testuale della sessione. Ogni descrizione di sessione DEVE avere uno e un solo campo "s=".
5.4 Session Information ("i=") (Informazioni sulla sessione)
i=<session description>
Il campo "i=" fornisce informazioni testuali sulla sessione. Ogni descrizione di sessione può avere al massimo un campo "i=" a livello di sessione, e ogni media può avere al massimo un campo "i=".
5.5 URI ("u=")
u=<uri>
Il campo "u=" contiene un URI che punta a ulteriori informazioni sulla sessione.
5.6 Email Address and Phone Number ("e=" and "p=") (Indirizzo e-mail e numero di telefono)
e=<email-address>
p=<phone-number>
Il campo "e=" contiene l'indirizzo e-mail della persona responsabile della conferenza. Il campo "p=" contiene il numero di telefono della persona responsabile della conferenza.
5.7 Connection Data ("c=") (Dati di connessione)
c=<nettype> <addrtype> <connection-address>
Il campo "c=" contiene le informazioni richieste per i dati di connessione.
5.8 Bandwidth ("b=") (Larghezza di banda)
b=<bwtype>:<bandwidth>
Il campo "b=" indica la larghezza di banda suggerita per la sessione.
5.9 Timing ("t=") (Tempi)
t=<start-time> <stop-time>
La riga "t=" specifica gli orari di inizio e fine della sessione.
5.10 Repeat Times ("r=") (Tempi di ripetizione)
r=<repeat interval> <active duration> <offsets from start-time>
La riga "r=" specifica i tempi per le sessioni ricorrenti.
5.11 Time Zones ("z=") (Fusi orari)
z=<adjustment time> <offset> <adjustment time> <offset> ...
La riga "z=" specifica aggiustamenti di fuso orario usati per compensare l'ora legale o altre variazioni di offset del fuso orario.
5.12 Encryption Keys ("k=") (Chiavi di cifratura)
k=<method>
k=<method>:<encryption key>
Il campo "k=" è usato per comunicare chiavi di cifratura.
5.13 Attributes ("a=") (Attributi)
a=<attribute>
a=<attribute>:<value>
Gli attributi sono il principale meccanismo per estendere SDP. Possono essere definiti a livello di sessione o a livello di media.
5.14 Media Descriptions ("m=") (Descrizioni di media)
m=<media> <port> <proto> <fmt> ...
Una descrizione di media inizia con una riga "m=" e contiene informazioni sufficienti a descrivere un flusso multimediale.
Nota: la Sezione 5 contiene numerosi dettagli tecnici e definizioni di sintassi ABNF. Per la specifica completa, vedere la documentazione ufficiale di RFC 4566.
6. SDP Attributes (Attributi SDP)
Gli attributi (Attributes) sono il principale meccanismo per estendere SDP. Possono essere definiti a livello di sessione o a livello di media. Gli attributi a livello di sessione si applicano all'intera sessione, salvo che siano sovrascritti da attributi a livello di media; gli attributi a livello di media si applicano solo allo specifico flusso multimediale.
Il formato di una riga di attributo è:
a=<attribute>
a=<attribute>:<value>
Elenco degli attributi standard
Di seguito sono riportati gli attributi SDP standard definiti da questa specifica:
cat (Category) (Categoria)
a=cat:<category>
Usato per categorizzare la sessione, facilitando filtraggio e ricerca.
keywds (Keywords) (Parole chiave)
a=keywds:<keywords>
Fornisce un elenco di parole chiave relative alla sessione.
tool (Tool) (Strumento)
a=tool:<name and version of tool>
Identifica lo strumento software che ha creato la descrizione di sessione.
ptime (Packet Time) (Durata del pacchetto)
a=ptime:<packet time>
Indica la durata del media in ciascun pacchetto, in millisecondi.
maxptime (Maximum Packet Time) (Durata massima del pacchetto)
a=maxptime:<maximum packet time>
Indica la durata massima del media in ciascun pacchetto, in millisecondi.
rtpmap (RTP Mapping) (Mappatura RTP)
a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]
Mappa un tipo di payload RTP a un nome di codifica del media.
recvonly (Receive Only) (Solo ricezione)
a=recvonly
Indica che lo strumento può solo ricevere media e non può inviarli.
sendrecv (Send and Receive) (Invio e ricezione)
a=sendrecv
Indica che lo strumento può sia inviare sia ricevere media; questo è il valore predefinito.
sendonly (Send Only) (Solo invio)
a=sendonly
Indica che lo strumento può solo inviare media e non può riceverli.
inactive (Inactive) (Inattivo)
a=inactive
Indica che il flusso multimediale è attualmente inattivo.
orient (Orientation) (Orientamento)
a=orient:<whiteboard orientation>
Usato per i tipi di media whiteboard, indica l'orientamento della lavagna.
type (Conference Type) (Tipo di conferenza)
a=type:<conference type>
Specifica il tipo di conferenza, ad esempio "broadcast", "meeting", "moderated", "test" o "H332".
charset (Character Set) (Set di caratteri)
a=charset:<character set>
Specifica il set di caratteri usato per i campi testuali nella descrizione di sessione.
sdplang (SDP Language) (Lingua SDP)
a=sdplang:<language tag>
Specifica la lingua usata nella descrizione di sessione.
lang (Language) (Lingua)
a=lang:<language tag>
Specifica la lingua usata dal flusso multimediale.
framerate (Frame Rate) (Frequenza dei fotogrammi)
a=framerate:<frame rate>
Indica la frequenza dei fotogrammi del video, in fotogrammi al secondo.
quality (Quality) (Qualità)
a=quality:<quality>
Indica un valore consigliato per la qualità di codifica.
fmtp (Format Parameters) (Parametri di formato)
a=fmtp:<format> <format specific parameters>
Usato per specificare parametri specifici del formato.
Nota: questo capitolo elenca gli attributi principali di SDP. I singoli tipi di media e le applicazioni possono definire attributi aggiuntivi. Per l'elenco completo degli attributi e le descrizioni dettagliate, vedere la Sezione 6 della documentazione ufficiale di RFC 4566.
7. Security Considerations (Considerazioni sulla sicurezza)
Le descrizioni di sessione SDP non costituiscono di per sé un protocollo di trasporto e DEVONO essere usate insieme a un protocollo di trasporto per consegnare la descrizione di sessione ai partecipanti. Questa sezione discute le considerazioni di sicurezza nell'uso di SDP.
Riservatezza (Confidentiality)
Le descrizioni di sessione possono contenere informazioni sensibili, tra cui:
- Informazioni sull'identità dei partecipanti
- Informazioni di contatto (e-mail, numeri di telefono)
- Chiavi di cifratura
- Informazioni sulla topologia di rete (indirizzi IP, porte)
- Orari e argomenti della sessione
Si raccomanda di usare meccanismi di cifratura appropriati, come TLS o S/MIME, per proteggere la riservatezza della descrizione di sessione durante il trasporto.
Integrità e autenticità (Integrity and Authenticity)
Le descrizioni di sessione DEVONO essere protette da modifiche non autorizzate. Modificando una descrizione di sessione, un attaccante potrebbe:
- Reindirizzare flussi multimediali verso server malevoli
- Inserire attributi malevoli
- Modificare chiavi di cifratura
- Cambiare gli orari della sessione
Si raccomanda di usare firme digitali o Message Authentication Code (MAC) per verificare l'integrità e l'autenticità della descrizione di sessione.
Denial of Service (Denial of Service)
Un attaccante potrebbe sfruttare descrizioni di sessione per avviare attacchi Denial of Service:
- Inviando un grande numero di annunci di sessione falsificati
- Creando descrizioni di sessione molto grandi che consumano le risorse del parser
- Puntando a indirizzi inesistenti per consumare risorse di rete
Le implementazioni DOVREBBERO limitare dimensione e complessità delle descrizioni di sessione e gestire in modo appropriato gli errori di parsing.
Distribuzione delle chiavi di cifratura (Encryption Key Distribution)
Sebbene SDP fornisca un meccanismo per comunicare chiavi di cifratura (il campo "k="), in molti casi trasferire chiavi tramite una descrizione di sessione può non essere sicuro. Si raccomanda di usare protocolli dedicati di gestione delle chiavi, come MIKEY o ZRTP, oppure metodi di scambio delle chiavi fuori banda.
Considerazioni sulla privacy (Privacy Considerations)
Il campo "o=" contiene il nome utente e l'indirizzo IP del creatore della sessione, e ciò può rivelare informazioni private. Negli scenari in cui è richiesta la privacy, possono essere usati un nome utente arbitrario e un indirizzo privato, purché non venga compromessa l'unicità globale del campo.
Network Address Translation (NAT) e firewall
Gli indirizzi IP e le informazioni sulle porte contenuti in SDP possono diventare non validi quando attraversano NAT o firewall. Le applicazioni DOVREBBERO usare meccanismi come Interactive Connectivity Establishment (ICE) per gestire queste situazioni.
8. IANA Considerations (Considerazioni IANA)
Questa sezione descrive i requisiti di registrazione IANA per i vari parametri usati da SDP.
8.1 The "application/sdp" Media Type (Tipo di media "application/sdp")
Le descrizioni di sessione SDP usano il tipo di media "application/sdp".
Nome del tipo di media: application
Nome del sottotipo di media: sdp
Parametri richiesti: nessuno
Parametri facoltativi: nessuno
Considerazioni sulla codifica: i file SDP sono file di testo che usano il set di caratteri ISO 10646 con codifica UTF-8.
Considerazioni sulla sicurezza: vedere la Sezione 7 di RFC 4566
Considerazioni sull'interoperabilità: vedere RFC 4566
Specifica pubblicata: RFC 4566
Applicazioni che usano questo tipo di media: strumenti per impostare e annunciare sessioni multimediali
Informazioni aggiuntive:
- Estensione file: .sdp
- Codice del tipo di file Macintosh: 'sdp '
8.2 Registration of Parameters (Registrazione dei parametri)
SDP usa diversi tipi di parametri che possono essere registrati dalla IANA.
8.2.1 Media Types ("media") (Tipi di media)
I nomi dei tipi di media usati da SDP DOVREBBERO essere registrati presso la IANA. I tipi di media inizialmente registrati includono:
- audio (audio)
- video (video)
- text (testo)
- application (applicazione)
- message (messaggio)
Nuovi tipi di media possono essere registrati tramite il processo di standardizzazione IETF o tramite Expert Review.
8.2.2 Transport Protocols ("proto") (Protocolli di trasporto)
I protocolli di trasporto inizialmente registrati includono:
- RTP/AVP (RTP Audio/Video Profile)
- RTP/SAVP (RTP Secure Audio/Video Profile)
- UDP (User Datagram Protocol)
Nuovi protocolli di trasporto possono essere registrati tramite il processo di standardizzazione IETF o tramite Expert Review.
8.2.3 Media Formats ("fmt") (Formati di media)
La registrazione dei formati di media, come i tipi di payload RTP, segue le procedure definite in RFC 3555.
8.2.4 Attribute Names ("att-field") (Nomi degli attributi)
I nomi degli attributi SDP sono registrati presso la IANA. La registrazione di nuovi attributi DOVREBBE includere:
- Nome dell'attributo
- Tipo (livello di sessione, livello di media o entrambi)
- Valore, se presente
- Uso previsto e semantica
- Specifica di riferimento
La registrazione degli attributi usa una procedura di Expert Review o una procedura di registrazione approvata dall'IESG.
8.2.5 Bandwidth Specifiers ("bwtype") (Specificatori di larghezza di banda)
Gli specificatori di larghezza di banda inizialmente registrati includono:
- CT (Conference Total, larghezza di banda totale della conferenza)
- AS (Application Specific, larghezza di banda specifica dell'applicazione)
Nuovi specificatori di larghezza di banda possono essere registrati tramite il processo di standardizzazione IETF o tramite Expert Review.
8.2.6 Network Types ("nettype") (Tipi di rete)
I tipi di rete inizialmente registrati includono:
- IN (Internet)
Nuovi tipi di rete possono essere registrati tramite il processo di standardizzazione IETF.
8.2.7 Address Types ("addrtype") (Tipi di indirizzo)
I tipi di indirizzo inizialmente registrati includono:
- IP4 (indirizzo IPv4)
- IP6 (indirizzo IPv6)
Nuovi tipi di indirizzo possono essere registrati tramite il processo di standardizzazione IETF.
8.2.8 Registration Procedure (Procedura di registrazione)
Salvo diversa indicazione, tutte le registrazioni di parametri descritte in questa sezione usano una delle procedure seguenti:
- Standards Action (Azione di standardizzazione): richiede un RFC IETF
- Expert Review (Revisione esperta): richiede la revisione di un esperto designato
- IESG Approval (Approvazione IESG): richiede l'approvazione esplicita dell'IESG
8.3 Encryption Key Access Methods (Metodi di accesso alle chiavi di cifratura)
I metodi di accesso alle chiavi di cifratura usati dal campo "k=" DOVREBBERO essere registrati presso la IANA. I metodi inizialmente registrati includono:
- clear (chiave in chiaro)
- base64 (chiave codificata in Base64)
- uri (chiave ottenuta tramite URI)
- prompt (richiesta all'utente di inserire la chiave)
Nuovi metodi di accesso alle chiavi possono essere registrati tramite Expert Review.
10. Summary of Changes from RFC 2327 (Sintesi delle modifiche rispetto a RFC 2327)
RFC 4566 obsoleta RFC 2327 e RFC 3266. Questa sezione riassume le principali modifiche rispetto a RFC 2327.
Modifiche principali
Riferimenti normativi
- Aggiornamento dei riferimenti ad altri RFC, usando le versioni correnti dei documenti normativi
- Aggiunta di un riferimento a RFC 3986 (sintassi degli URI)
Nomi di dominio internazionalizzati (IDN)
- Requisito esplicito secondo cui i nomi di dominio internazionalizzati DEVONO usare la forma ASCII-Compatible Encoding (ACE)
- Divieto di rappresentare direttamente gli IDN in SDP usando UTF-8 o altre codifiche
Registrazione del tipo di media
- Aggiornamento delle informazioni di registrazione per il tipo di media "application/sdp"
- Chiarimento delle considerazioni sulla codifica e sulla sicurezza
Grammatica ABNF
- Aggiornamento della grammatica ABNF per riflettere la pratica corrente
- Correzione di alcuni errori minori nelle regole grammaticali
- Uso della notazione ABNF di RFC 4234 (ora RFC 5234)
Considerazioni sulla sicurezza
- Estensione della sezione sulle considerazioni di sicurezza
- Aggiunta di una discussione su attraversamento NAT e firewall
- Enfasi sui problemi di sicurezza nella distribuzione delle chiavi di cifratura
Considerazioni IANA
- Aggiornamento delle procedure di registrazione dei parametri
- Chiarimento dei requisiti di registrazione per vari parametri SDP
- Aggiunta di nuove categorie di registrazione
Definizioni degli attributi
- Chiarimento della semantica di alcuni attributi
- Aggiornamento degli esempi d'uso degli attributi
Indirizzo di connessione
- Chiarimento dell'uso dell'indirizzo di connessione nella riga "c="
- Chiarimento della rappresentazione degli indirizzi IPv4 e IPv6
Descrizione temporale
- Chiarimento della semantica dei campi temporali
- Aggiornamento delle indicazioni sull'uso dei timestamp NTP
Modifiche redazionali
- Miglioramento della struttura del documento e della leggibilità
- Aggiornamento degli esempi per riflettere la pratica corrente
- Correzione di errori di ortografia e grammatica
- Uniformazione dell'uso della terminologia
Compatibilità all'indietro
RFC 4566 conserva la compatibilità all'indietro con RFC 2327. Le implementazioni conformi a RFC 2327 dovrebbero essere in grado di elaborare descrizioni di sessione conformi a RFC 4566, e viceversa.
Nota: per l'elenco dettagliato delle modifiche e le spiegazioni tecniche, vedere la Sezione 10 della documentazione ufficiale di RFC 4566.
11. Acknowledgements (Ringraziamenti)
Lo sviluppo di SDP ha beneficiato dei contributi di molti membri della comunità Multicast Backbone (MBONE). Un ringraziamento particolare va a Eve Schooler, Steve Casner, Bill Fenner, Ron Frederick, Allison Mankin, Scott Shenker, Henning Schulzrinne e molte altre persone per commenti e suggerimenti sulle prime versioni di SDP.
Si ringraziano tutti i membri del gruppo di lavoro MMUSIC per la revisione e i commenti sulle diverse versioni di questo documento.
Un ringraziamento particolare va alle seguenti persone per i contributi e i commenti a RFC 4566:
- Dave Singer
- Joerg Ott
- Jonathan Rosenberg
- Magnus Westerlund
- e tutti i membri della comunità IETF che hanno fornito feedback
Per l'elenco completo dei ringraziamenti, vedere la Sezione 11 del documento ufficiale RFC 4566.