5. Protocollo di trasferimento dati RTP (RTP Data Transfer Protocol)
5.1 Campi fissi dell'intestazione RTP (RTP Fixed Header Fields)
L'intestazione RTP ha il seguente formato:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
I primi dodici ottetti sono presenti in ogni pacchetto RTP, mentre l'elenco degli identificatori CSRC è presente solo quando inserito da un mixer. I campi hanno il seguente significato:
versione (V): 2 bit Questo campo identifica la versione di RTP. La versione definita da questa specifica è due (2).
padding (P): 1 bit Se il bit di padding è impostato, il pacchetto contiene uno o più ottetti di padding aggiuntivi alla fine che non fanno parte del payload.
estensione (X): 1 bit Se il bit di estensione è impostato, l'intestazione fissa DEVE essere seguita da esattamente un'estensione di intestazione, con un formato definito nella Sezione 5.3.1.
conteggio CSRC (CC): 4 bit Il conteggio CSRC contiene il numero di identificatori CSRC che seguono l'intestazione fissa.
marcatore (M): 1 bit L'interpretazione del marcatore è definita da un profilo. È destinato a consentire di contrassegnare eventi significativi come i limiti di frame nel flusso di pacchetti.
tipo di payload (PT): 7 bit Questo campo identifica il formato del payload RTP e determina la sua interpretazione da parte dell'applicazione.
numero di sequenza: 16 bit Il numero di sequenza si incrementa di uno per ogni pacchetto di dati RTP inviato e può essere utilizzato dal ricevitore per rilevare la perdita di pacchetti e ripristinare la sequenza di pacchetti.
timestamp: 32 bit Il timestamp riflette l'istante di campionamento del primo ottetto nel pacchetto di dati RTP.
SSRC: 32 bit Il campo SSRC identifica la sorgente di sincronizzazione.
elenco CSRC: da 0 a 15 elementi, 32 bit ciascuno L'elenco CSRC identifica le sorgenti contributrici per il payload contenuto in questo pacchetto RTP.
5.2 Multiplexing delle sessioni RTP (Multiplexing RTP Sessions)
Per motivi di efficienza, il numero di punti di multiplexing dovrebbe essere ridotto al minimo. In RTP, il multiplexing è fornito dall'indirizzo di trasporto di destinazione che è diverso per ogni sessione RTP.
5.3 Modifiche specifiche del profilo all'intestazione RTP (Profile-Specific Modifications to the RTP Header)
L'intestazione dati RTP esistente è ritenuta completa per l'insieme di funzioni richieste. Tuttavia, le modifiche possono essere apportate in profili specifici.
5.3.1 Estensione dell'intestazione RTP (RTP Header Extension)
Viene fornito un meccanismo di estensione per consentire alle singole implementazioni di sperimentare nuove funzioni indipendenti dal formato del payload.