SIP - Protocollo di descrizione della sessione

SDP è l'acronimo di Session Description Protocol. Viene utilizzato per descrivere sessioni multimediali in un formato compreso dai partecipanti su una rete. A seconda di questa descrizione, una parte decide se partecipare a una conferenza o quando o come partecipare a una conferenza.

  • Il proprietario di una conferenza la pubblicizza sulla rete inviando messaggi multicast che contengono la descrizione della sessione, ad esempio il nome del proprietario, il nome della sessione, la codifica, i tempi, ecc. A seconda di queste informazioni, i destinatari dell'annuncio prendere una decisione sulla partecipazione alla sessione.

  • SDP è generalmente contenuto nella parte del corpo del protocollo di avvio della sessione popolarmente chiamato SIP.

  • SDP è definito nella RFC 2327. Un messaggio SDP è composto da una serie di righe, chiamate campi, i cui nomi sono abbreviati da una singola lettera minuscola e sono nell'ordine richiesto per semplificare l'analisi.

Scopo dell'SDP

Lo scopo di SDP è trasmettere informazioni sui flussi multimediali in sessioni multimediali per aiutare i partecipanti a partecipare o raccogliere informazioni su una particolare sessione.

  • SDP è una breve descrizione testuale strutturata.

  • Trasmette il nome e lo scopo della sessione, i media, i protocolli, i formati dei codec, i tempi e le informazioni sul trasporto.

  • Un partecipante provvisorio controlla queste informazioni e decide se partecipare a una sessione e come e quando partecipare a una sessione se decide di farlo.

  • Il formato ha voci nella forma di <type> = <value>, dove <type> definisce un parametro di sessione univoco e <value> fornisce un valore specifico per quel parametro.

  • La forma generale di un messaggio SDP è:

    x = parameter1 parameter2 ... parameterN

  • La riga inizia con una singola lettera minuscola, ad esempio x. Non ci sono mai spazi tra la lettera e il = e c'è esattamente uno spazio tra ogni parametro. Ogni campo ha un numero definito di parametri.

Parametri di descrizione della sessione

Descrizione della sessione (* denota facoltativo)

  • v = (versione protocollo)
  • o = (proprietario / creatore e identificatore di sessione)
  • s = (nome sessione)
  • i = * (informazioni sulla sessione)
  • u = * (URI della descrizione)
  • e = * (indirizzo e-mail)
  • p = * (numero di telefono)
  • c = * (informazioni sulla connessione - non richieste se incluse in tutti i media)
  • b = * (informazioni sulla larghezza di banda)
  • z = * (aggiustamenti del fuso orario)
  • k = * (chiave di crittografia)
  • a = * (zero o più righe di attributi di sessione)

Versione protocollo

Il campo v = contiene il numero di versione dell'SDP. Poiché la versione corrente di SDP è 0, un messaggio SDP valido inizierà sempre con v = 0.

Origine

Il campo o = contiene informazioni sul mittente della sessione e gli identificatori di sessione. Questo campo viene utilizzato per identificare in modo univoco la sessione.

  • Il campo contiene:

    o = <username> <session-id> <version> <network-type> <address-type>

  • Il username Il parametro contiene il login o l'host del mittente.

  • Il session-id è un timestamp NTP (Network Time Protocol) o un numero casuale utilizzato per garantire l'unicità.

  • Il version è un campo numerico che viene aumentato per ogni modifica alla sessione, consigliato anche come timestamp NTP.

  • Il network-typeè sempre IN per Internet. Il parametro del tipo di indirizzo è IP4 o IP6 per l'indirizzo IPv4 o IPv6 in formato decimale puntato o un nome host completo.

Nome e informazioni della sessione

Il campo s = contiene un nome per la sessione. Può contenere qualsiasi numero di caratteri diverso da zero. Il campo i = facoltativo contiene informazioni sulla sessione. Può contenere un numero qualsiasi di caratteri.

URI

Il campo u = facoltativo contiene un URI (Uniform Resource Indicator) con ulteriori informazioni sulla sessione

Indirizzo e-mail e numero di telefono

Il campo e = facoltativo contiene un indirizzo e-mail dell'ospite della sessione. Il campo p = facoltativo contiene un numero di telefono.

Dati di connessione

Il campo c = contiene informazioni sulla connessione multimediale.

  • Il campo contiene:

    c = <network-type> <address-type> <connection-address>

  • Il network-type parametro è definito come IN per Internet.

  • Il address-type è definito come IP4 per gli indirizzi IPv4 e IP6 per gli indirizzi IPv6.

  • Il connection-address è l'indirizzo IP o l'host che invierà i pacchetti multimediali, che potrebbero essere multicast o unicast.

  • Se multicast, il campo dell'indirizzo di connessione contiene -

    indirizzo-connessione = indirizzo-multicast-base / ttl / numero-di-indirizzi

  • dove ttl è il valore time-to-live e il numero di indirizzi indica quanti indirizzi multicast contigui sono inclusi a partire dall'indirizzo multicast di base.

Larghezza di banda

Il campo b = facoltativo contiene informazioni sulla larghezza di banda richiesta. È della forma -

b = modificatore: larghezza di banda - valore

Ora, orari di ripetizione e fusi orari

Il campo t = contiene l'ora di inizio e l'ora di fine della sessione.

t = ora di inizio ora di fine

Il campo facoltativo r = contiene informazioni sui tempi di ripetizione che possono essere specificati in NTP o in giorni ( d ), ore ( h ) o minuti ( m ).

Il campo z = facoltativo contiene informazioni sugli offset del fuso orario. Questo campo viene utilizzato se si verificano sessioni che coprono un cambiamento dall'ora legale all'ora solare o viceversa.

Annunci dei media

Il campo m = facoltativo contiene informazioni sul tipo di sessione multimediale. Il campo contiene:

m = elenco dei formati di trasporto della porta multimediale

  • Il parametro multimediale è audio, video, testo, applicazione, messaggio, immagine o controllo. Il parametro port contiene il numero di porta.

  • Il parametro di trasporto contiene il protocollo di trasporto o il profilo RTP utilizzato.

  • L'elenco dei formati contiene ulteriori informazioni sui media. Di solito, contiene i tipi di payload multimediali definiti nei profili video audio RTP.

Example:
m = audio 49430 RTP/AVP 0 6 8 99

Uno di questi tre codec può essere utilizzato per la sessione multimediale audio. Se l'intenzione è di stabilire tre canali audio, verranno utilizzati tre campi multimediali separati.

Attributi

Il campo a = facoltativo contiene gli attributi della sessione multimediale precedente. Questo campo può essere utilizzato perextend SDP to provide more information about the media. Se non completamente compreso da un utente SDP, il campo dell'attributo può essere ignorato. Possono esserci uno o più campi attributo per ogni tipo di payload multimediale elencato nel campo media.

Gli attributi in SDP possono essere entrambi

  • livello di sessione, o
  • livello dei media.

Livello di sessione significa che l'attributo è elencato prima della prima riga multimediale nell'SDP. In questo caso, l'attributo si applica a tutte le linee multimediali sottostanti.

Livello supporto significa che è elencato dopo una riga multimediale. In questo caso, l'attributo si applica solo a questo particolare flusso multimediale.

SDP può includere attributi sia a livello di sessione che a livello di supporto. Se lo stesso attributo appare come entrambi, l'attributo del livello multimediale sostituisce l'attributo del livello della sessione per quel particolare flusso multimediale. Si noti che il campo dei dati di connessione può anche essere a livello di sessione o a livello di supporto.

Un esempio di SDP

Di seguito è riportata una descrizione di sessione di esempio, presa da RFC 2327 -

v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = [email protected](Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait