SIP (Session Initiation Protocol)

Cos’è il protocollo SIP (Session Initiation Protocol)?

Il protocollo SIP (Session Initiation Protocol) è un protocollo di segnalazione utilizzato per avviare, mantenere, modificare e terminare sessioni di comunicazione in tempo reale tra dispositivi IP (Internet Protocol). SIP consente applicazioni e servizi di comunicazione vocale, di messaggistica, video e di altro tipo tra due o più endpoint su reti IP.

SIP è stato sviluppato dall’Internet Engineering Task Force nel 1996 e standardizzato nel 1999.

SIP risponde alle esigenze in continua evoluzione delle comunicazioni basate su IP. Il supporto nativo per mobilità, interoperabilità e multimedia è stato uno dei driver dello sviluppo di SIP. SIP integra altri protocolli di comunicazione, come Real-Time Transport Protocol (RTP) e Real-Time Streaming Protocol, utilizzati nelle sessioni basate su IP.

Caratteristiche SIP

Il protocollo di comunicazione SIP determina cinque attributi quando si stabiliscono e terminano sessioni multimediali:

  • Posizione dell’utente.
  • Disponibilità dell’utente.
  • Capacità dell’utente.
  • Impostazione della sessione.
  • Gestione della sessione.

Le sessioni SIP possono includere telefonia Internet, videoconferenze e altre forme di comunicazioni unificate. Il protocollo può essere utilizzato per invitare i partecipanti a sessioni unicast o multicast che non coinvolgono necessariamente l’iniziatore.

SIP non fornisce servizi di comunicazione. Invece, definisce implementazioni interoperabili di funzionalità SIP, chiamate primitive, che vengono utilizzate per facilitare diversi servizi. Le primitive consentono di incorporare informazioni aggiuntive in un messaggio SIP, come il collegamento della foto di un utente alle informazioni della directory per migliorare l’ID chiamante dell’utente.

SIP supporta anche i servizi di mappatura dei nomi e reindirizzamento, che sono due modi in cui il protocollo consente la mobilità. Gli utenti e gli endpoint vengono rilevati con un singolo identificatore, o Uniform Resource Identifier (URI), che è indipendente dalla loro posizione di rete. Gli URI sono alfanumerici, utilizzando una sintassi che assomiglia più a un indirizzo e-mail che a un numero di telefono o indirizzo IP. Altre funzionalità SIP sono disponibili tramite interfacce di programmazione delle applicazioni.

Oltre ai servizi in tempo reale, SIP viene utilizzato per notifiche di eventi asincroni, come callback automatici, indicatori di messaggio in attesa ed elenchi di amici in base alla presenza.

Come funziona il protocollo SIP?

SIP funziona in modo simile a Hypertext Transfer Protocol (HTTP) e Simple Mail Transfer Protocol (SMTP) e ne incorpora parti. Come HTTP o SMTP, SIP funziona nel livello applicativo del modello di comunicazione Open Systems Interconnection. È supportato da IPv4 e IPv6.

SIP può essere pensato come un’architettura client-server. SIP funziona anche in tandem con altri protocolli, vale a dire Session Description Protocol (SDP), che è contenuto nei messaggi SIP. SDP è utilizzato per descrivere la comunicazione multimediale alle sessioni per inviti, annunci e negoziazioni di parametri.

Inoltre, SIP è un protocollo basato su testo, come HTTP, il che significa che il suo contenuto è in un formato leggibile. Ciò rende SIP più facile da leggere e correggere rispetto a protocolli di segnalazione simili, come H.323.

SIP è un protocollo richiesta-risposta. Richieste e risposte sono i nomi che i protocolli di messaggio inviano tra dispositivi per comunicare. SIP riceve richieste dai client e risposte dai server. Le richieste possono essere inviate tramite qualsiasi protocollo di trasporto, come User Datagram Protocol, Stream Control Transmission Protocol o Transmission Control Protocol.

I dispositivi che utilizzano SIP comunicano tra loro direttamente tramite un server proxy SIP. Il proxy funge da sistema intermediario per scaricare attività che altrimenti verrebbero gestite da SIP.

SIP determina l’endpoint utilizzato per una sessione, i media di comunicazione e i parametri dei media e se la parte chiamata accetta di comunicare. Quindi, SIP stabilisce i parametri di chiamata a entrambe le estremità della comunicazione, gestendo anche il trasferimento e la terminazione della chiamata.

 

Esempi di richieste SIP

SIP effettua richieste in base alle sue caratteristiche e funzioni. Ecco alcuni esempi di richieste semplici:

Invita. Avvia un dialogo che avvierà una chiamata.
Aggiorna. Può essere utilizzato per modificare una sessione senza modificare lo stato del dialogo.
Annulla. Interrompe le richieste in sospeso.
Bye. Termina dialoghi e chiamate.

SIP & VoIP

Nelle telecomunicazioni, una chiamata vocale si compone di due fasi: la configurazione della chiamata e il trasferimento dei dati. Voice over IP (VoIP) viene utilizzato per trasmettere contenuti vocali e multimediali su Internet. SIP può essere considerato l’operatore del centralino telefonico in questo processo. Gestisce la fase di configurazione della chiamata delle chiamate VoIP.

La parte di impostazione della chiamata del processo comporta l’organizzazione dei dettagli che consentono a due telefoni o dispositivi di connettersi. Il trasferimento dei dati avviene dopo l’impostazione della chiamata. Protocolli come RTP inviano pacchetti nella fase di trasferimento dati di una chiamata.

Le reti SIP sono costituite da più elementi che gestiscono le richieste SIP tra due endpoint. Questi elementi sono necessari per impostare una chiamata VoIP, per far sì che ogni endpoint sia a conoscenza dell’indirizzo IP dell’altro e per iniziare a scambiare dati.

Di seguito sono riportati i tre principali elementi della rete SIP:

  • User Agents. Si tratta di endpoint o dispositivi che possono essere client o chiamanti e server o ricevitori.
  • Registrar service. Chiamati anche sistemi di nomi di dominio in questo caso, memorizzano informazioni sugli agenti utente, come l’indirizzo di rete/IP, in un database. Autenticano gli utenti nella rete.
  • Servizi di localizzazione. Ricevono richieste di invito dall’utente chiamante. Interrogano il registro per l’indirizzo IP del destinatario della chiamata e inviano l’invito all’agente utente del destinatario. Le risposte del destinatario all’invito vengono inviate tramite il server di localizzazione

Il servizio di localizzazione e il registrar service possono essere ospitati insieme su un singolo server, noto come server proxy. Il server proxy consente ai server di registrazione e di localizzazione di eseguire l’attività congiunta di autenticazione utente e fornisce le informazioni necessarie per comunicare. Possono anche essere ospitati sui propri server indipendenti.

Mentre VoIP si occupa solo di comunicazioni vocali, SIP può gestire altri trasferimenti multimediali, come immagini e video. Inoltre, SIP è un protocollo, mentre VoIP è una raccolta di tecnologie e metodi che abilitano la telefonia via Internet. Molte organizzazioni utilizzano una tecnica chiamata trunking SIP per migliorare l’efficienza VoIP nell’azienda.

SIP è ora lo standard per l’avvio della comunicazione di rete IP.