SIP: tutto ciò che dovete sapere su Session Initiation Protocol

Session Initiation Protocol (SIP) serve a stabilire e chiudere connessioni audio e video in tempo reale ed è utilizzato in particolare nella telefonia IP.

Che cos’è SIP?

Le videoconferenze, la messagistica istantanea, la condivisione di file, le telefonate tramite IP e altre forme di comunicazione in tempo reale fanno parte della vita quotidiana di molte persone sia in ambito privato che lavorativo. Per tutte queste applicazioni, un fattore importante è l’uso di Session Initiation Protocol o, in breve, SIP. Questo protocollo di rete è particolarmente importante per l’instaurazione iniziale, il controllo e la successiva chiusura di chiamate audio o video tramite VoIP (Voice over IP) tra due o più utenti. Questa tecnologia tiene conto delle particolarità delle reti IP e costituisce un componente determinante nel settore della comunicazione in tempo reale.

L’introduzione di SIP, definito nella norma RFC 3261, ha reso la telefonia tramite internet una reale alternativa alle telefonate tradizionali fatte con un impianto telefonico hardware. Grazie al protocollo SIP, gli utenti possono sfruttare una mobilità di gran lunga maggiore e approfittare di notevoli vantaggi in termini di costi. Per questo motivo SIP, sin dalla sua introduzione nel 2004, è diventato sempre più importante e ha sostituito quasi del tutto gli impianti telefonici fissi.

Session Initiation Protocol è un protocollo testuale e sotto diversi aspetti è paragonabile all’HTTP (Hypertext Transfer Protocol) per il web e all’SMTP (Simple Mail Transfer Protocol) per la comunicazione tramite e-mail.

Quali sono le funzioni del protocollo SIP?

Analogamente agli altri due protocolli menzionati, anche SIP funziona sul quinto livello del modello ISO/OSI, ossia sul livello di sessione (in inglese: “Session Layer”). La funzione del protocollo SIP è quindi simile a quella di un centralino telefonico di una volta, quando i telefonisti dovevano innanzitutto assicurarsi di stabilire il collegamento tra due persone. Nel corso della chiamata, la linea veniva mantenuta e, quando entrambe le parti avevano terminato, il collegamento veniva chiuso e la linea veniva nuovamente liberata per altre chiamate. SIP svolge anch’esso le stesse funzioni. Altri aspetti della comunicazione, invece, non sono di competenza di Session Initiation Protocol.

Con l’espansione SIPS (Session Initiation Protocol Secure) il protocollo SIP permette anche di effettuare chiamate sicure e crittografate. Poiché sessione e strumenti sono separati l’una dagli altri, in teoria è possibile crittografare anche i rispettivi flussi di dati stessi. Per la trasmissione dei dati vocali veri e propri esistono alcuni altri protocolli, ad esempio Real Time Transport Protocol (RTP) e Session Description Protocol (SDP), che fornisce gli indirizzi IP.

Come funziona SIP?

SIP si basa su una tradizionale architettura client-server. Il protocollo di base funziona tramite richieste e risposte: Session Initiation Protocol funge quindi da intermediario tra i terminali collegati, che possono essere dispositivi praticamente di qualsiasi tipo dotati di collegamento a internet. SIP riceve le richieste dei client o User Agent Client (UAC) e le risposte dai rispettivi server o User Agent Server (UAS). L’interfaccia [SIP trunk] si occupa di mettere a disposizione i numeri di telefono. Lo scambio di dati vero e proprio è tuttavia affidato agli altri protocolli menzionati. Ulteriori componenti per la comunicazione con SIP possono essere i server proxy e altri gateway.

Per individuare il tipo di connessione possibile si utilizza Session Description Protocol, che ne gestisce le modalità. Queste diverse metodologie sono note anche come codec. Anche gli indirizzi di rete da utilizzare sono stabiliti dal protocollo SDP. Una volta chiariti questi punti, un protocollo come RTP si occupa della trasmissione dei dati veri e propri. A sessione conclusa, la connessione viene interrotta correttamente dal protocollo SIP.

Come funziona l’indirizzamento di Session Initiation Protocol?

Per eseguire correttamente l’indirizzamento, SIP utilizza il cosiddetto Uniform Resource Identifier (URI) e il Domain Name System (DNS). Gli indirizzi, assegnati a tutti gli utenti, presentano una struttura simile a normali indirizzi e-mail. Analogamente a un indirizzo e-mail, un indirizzo SIP è composto da due parti: un nome utente o un numero di telefono nella prima parte, seguiti dalla rete corrispondente. L’uso dei numeri di telefono è particolarmente comune sui dispositivi che offrono un’interfaccia con le normali reti telefoniche.

Quali sono le richieste SIP?

SIP utilizza diverse richieste (in inglese: “Request”) alle quali occorre reagire con delle risposte (in inglese: “Response”). Queste risposte si basano sui codici di stato HTTP. Le richieste dei protocolli SIP si suddividono in richieste SIP fondamentali e richieste SIP avanzate. Nel dettaglio, le richieste sono le seguenti:

Richieste SIP fondamentali

  • ACK conferma la ricezione di una richiesta o di una risposta.
  • BYE chiude correttamente una sessione attiva.
  • CANCEL annulla una richiesta in corso.
  • INVITE invia una richiesta a un server per stabilire una sessione.
  • OPTIONS fornisce ai terminali un riepilogo delle specifiche degli altri dispositivi coinvolti.
  • REGISTER registra un dispositivo presso il fornitore di servizi.

Richieste SIP avanzate

  • INFO permette di fornire informazioni non direttamente correlate alla sessione SIP.
  • MESSAGE trasmette un messaggio di testo a un dispositivo.
  • NOTIFY verifica lo stato della connessione e invia messaggi in caso di modifiche.
  • PRACK conferma una richiesta in via provvisoria.
  • REFER consente il trasferimento di chiamata verso un altro utente.
  • SUBSCRIBE permette di monitorare un dato evento e di inviare un messaggio se tale evento si verifica.
  • UPDATE consente di cambiare lo stato di una chiamata.

Quali risposte SIP si utilizzano?

Le risposte SIP servono per rispondere alle richieste sopra elencate. Tali risposte sono suddivise in sei categorie:

  • 1xx fornisce informazioni di stato provvisorie, ad esempio prima che il server reagisca.
  • 2xx indica che la richiesta è andata a buon fine.
  • 3xx fornisce informazioni sulla possibilità o sulla necessità di un reindirizzamento.
  • 4xx indica che non è stato possibile gestire una richiesta.
  • 5xx fornisce informazioni su un errore del server.
  • 6xx indica che è stato possibile contattare il server, ma che la transazione non è andata a buon fine per vari motivi.

Qual è la differenza fra SIP e VoIP?

Anche se questi termini sono utilizzati spesso nello stesso contesto e i due protocolli sono strettamente correlati tra loro, SIP e VoIP non sono sinonimi. Il protocollo SIP serve a stabilire, mantenere e terminare una connessione. Per la trasmissione vera e propria dei pacchetti di dati su diversi tipi di rete e server è invece necessario il protocollo VoIP, che entra quindi in gioco là dove SIP ha già svolto la sua funzione.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top