SIP, SDP e RTSP: scopri come si gestiscono le sessioni multimediali

SIP, SDP e RTSP svolgono funzioni fondamentali nella gestione delle sessioni multimediali, ma non trasportano necessariamente direttamente il contenuto audio e video. In questa dispensa analizzeremo il Session Initiation Protocol, utilizzato per creare, modificare e terminare comunicazioni multimediali, e il Session Description Protocol, che descrive parametri come codec, indirizzi, porte e protocolli di trasporto. Vedremo poi come SIP, SDP, RTP e RTCP possano collaborare all’interno della stessa comunicazione, mantenendo separati segnalazione, descrizione, trasporto e controllo. Approfondiremo infine il Real-Time Streaming Protocol, utilizzato per il controllo della sessione streaming tramite operazioni come DESCRIBE, SETUP, PLAY, PAUSE e TEARDOWN, chiarendo anche la differenza concettuale tra SIP e RTSP.

Protocolli streaming: Segnalazione,
descrizione e controllo della sessione

Elementi chiave

  • RTP ≠ protocollo di segnalazione: RTP trasporta i contenuti multimediali, ma non stabilisce autonomamente partecipanti, codec, indirizzi, porte e parametri della sessione.
  • SIP (Session Initiation Protocol) = protocollo di segnalazione utilizzato per creare, modificare e terminare sessioni multimediali, senza trasportare direttamente audio e video.
  • SDP (Session Description Protocol) = formato utilizzato per descrivere i parametri tecnici di una sessione, inclusi media, codec, protocolli, indirizzi e porte.
  • SIP ≠ SDP: SIP gestisce lo scambio dei messaggi di segnalazione, mentre SDP descrive le caratteristiche multimediali e può essere trasportato da protocolli differenti.
  • Modello Offer/Answer → un partecipante propone i parametri multimediali tramite SDP e l’altro risponde indicando quelli che può utilizzare.
  • Instaurazione di una chiamata SIP → INVITE + SDP → 200 OK + SDP → ACK → Trasmissione RTP.
  • SIP, SDP, RTP e RTCP → svolgono funzioni complementari di segnalazione, descrizione della sessione, trasporto multimediale e feedback sulla qualità.
  • Segnalazione ≠ trasporto multimediale: i messaggi SIP gestiscono la sessione, mentre i flussi RTP possono viaggiare direttamente tra endpoint o attraverso infrastrutture intermedie.
  • RTSP (Real-Time Streaming Protocol) = protocollo client-server che permette di controllare sessioni di streaming attraverso comandi inviati a un server multimediale.
  • RTSP ≠ RTP: RTSP controlla la sessione e la riproduzione, mentre RTP trasporta effettivamente i dati audio e video.
  • DESCRIBE → richiede la descrizione del contenuto multimediale disponibile, che può essere restituita dal server attraverso SDP.
  • SETUP → configura il trasporto delle tracce multimediali, definendo parametri come protocollo, indirizzi, porte e modalità unicast o multicast.
  • PLAY ≠ PAUSE ≠ TEARDOWN: PLAY avvia o riprende la trasmissione, PAUSE la sospende mantenendo la sessione, TEARDOWN termina la sessione liberando le risorse.
  • SEEK ≠ metodo RTSP standard: lo spostamento temporale può essere realizzato attraverso PLAY con l’header Range, quando supportato dal server.
  • Workflow RTSP → DESCRIBE → SETUP → PLAY → PAUSE → PLAY → TEARDOWN, con trasporto multimediale normalmente affidato a RTP.
  • SIP ≠ RTSP: SIP gestisce principalmente comunicazioni tra partecipanti, mentre RTSP controlla contenuti multimediali forniti da un server.
  • SIP + SDP + RTP ≠ RTSP + SDP + RTP: entrambe le combinazioni descrivono e trasportano media, ma differiscono nella gestione della sessione.
  • RTSP 1.0 ≠ RTSP 2.0: le due versioni condividono diversi principi operativi, ma non sono direttamente compatibili.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.

Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.

Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.

Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.

Support the project

All the materials I share stem from a very simple conviction: good training should not be limited to teaching which buttons to press, but should help people understand the ideas, principles, and processes behind the tools.

That is why I dedicate a significant portion of my time to researching, organizing, and producing free content focused on multimedia, design, and visual communication—articles, lessons, in-depth analyses, and resources aimed at making accessible topics that are often addressed in a fragmented or superficial way.

However, this work requires time, research, and care. Every guide, video, and piece of material published for free is the result of many hours of study, writing, and revision.
Supporting the project via Patreon enables me to continue producing high-quality educational content, keep it accessible to as many people as possible, and devote more energy to building a resource that benefits students, professionals, and enthusiasts alike.

If you believe that a deeper, more rigorous, and informed understanding of multimedia is valuable, your contribution does more than just support my work: it helps make these resources available to the entire community.
Thank you for your support and trust.

Is Patreon too demanding?

You can also support me with a voluntary donation—no subscription or commitment required.

Even a small contribution helps me continue creating games, educational content, and free materials with greater freedom.