Session Initiation Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m varie |
m Correzione URI |
||
(185 versioni intermedie di oltre 100 utenti non mostrate) | |||
Riga 1:
'''Session Initiation Protocol''' (in acronimo SIP), nelle [[telecomunicazioni]], indica [[protocollo di rete]] di controllo del [[livello applicativo]] usato per creare, modificare, e terminare [[sessione|sessioni]] tra uno o più partecipanti.<ref>[https://tools.ietf.org/html/rfc3261 Nota RFC 3261 del ''Network Working Group''.]</ref>
Queste sessioni includono chiamate telefoniche via [[Internet]] ([[Voip]]), distribuzioni [[multimedialità|multimediali]], e [[videoconferenza|videoconferenze]]. SIP viene comunemente usato per instaurare o terminare chiamate [[video]] o vocali e permette di modificare le caratteristiche di chiamate in corso come l'[[indirizzo IP]] e la [[porta (reti)|porta]], l'invito di ulteriori partecipanti e aggiungere o cancellare media stream. Gli elementi principali della rete SIP sono: [[user agent]], [[proxy server]], [[registrar]], redirect server, session border controller, [[Gateway (informatica)|gateway]]. Gli URI identificano ogni elemento di una rete SIP usando lo schema: <code><nowiki>sip://username:password@host:port</nowiki></code> oppure <code><nowiki>sips://username:password@host:port</nowiki></code> (nel caso si usi la crittografia TLS).
==Descrizione==
SIP gestisce in modo generale una [[sessione]] di comunicazione tra due o più entità, ovvero fornisce meccanismi per instaurare, modificare e terminare (rilasciare) una sessione. Attraverso il protocollo SIP possono essere trasferiti dati di diverso tipo ([[audio]], [[video]], [[testo|messaggistica testuale]] ecc). Inoltre, il SIP favorisce un'architettura modulare e [[scalabilità|scalabile]], ovvero capace di crescere con il numero degli utilizzatori del servizio. Queste potenzialità hanno fatto sì che il SIP sia, oggi, il protocollo VoIP più diffuso nel mercato residenziale e business, sorpassando di molto, altri protocolli quali [[H.323]] ed [[MGCP]].
Intorno al SIP sono sorti diversi tipi di utilizzatori, pensati per facilitare la fruizione della telefonia VoIP da parte di tutte le categorie di persone. Alcuni esempi sono gli ATA ([[Analog Telephone Adapter]]), capaci di convertire la segnalazione elettrica di un normale [[telefono]] analogico in un flusso di dati IP, e, dall'unione tra telefono tradizionale e ATA, gli [[IP Phones]], telefoni dalle funzionalità elevate ai quali non arriva il [[doppino telefonico]] ma i cavi di rete. Evoluzione ulteriore sono i [[soft-phones]], applicazioni [[software]] per [[personal computer]] che emulano le funzioni di un telefono VoIP.
== Panoramica del protocollo ==
SIP supporta cinque sfaccettature per l'avvio e la terminazione di una connessione:
* '''Locazione dell'utente''': determinazione degli end system usati nella comunicazione;
* '''Disponibilità dell'utente''': identificazione della disponibilità delle parti ad impegnarsi in una comunicazione;
* '''Capacità dell'utente''': identificazione di media e parametri utilizzati;
* '''Impostazione della sessione''': avviso, instaurazione dei parametri di una sessione su chiamate;
* '''Gestione della sessione''': trasferimento e terminazione di una sessione, modifica dei parametri della sessione, e invocazione dei servizi.
SIP non è un sistema per le comunicazioni integrato verticalmente, ma piuttosto può essere usato come componente in altri protocolli IETF per costruire un'architettura multimediale completa (di solito includono il protocollo [[Real-time Transport Protocol|RTP]] per la comunicazione trasparente in [[sistema real-time]] e fornitura di [[Retroazione|feedback]] in [[Qualità di servizio|QoS]], oppure RTSP per il controllo della consegna di contenuti in [[streaming]]). SIP non fornisce servizi, ma primitive per implementarli. Per esempio esso può individuare un utente e consegnargli un oggetto opaco alla sua locazione corrente.
=== Caratteristiche ===
Storicamente SIP utilizza il protocollo di trasporto [[User Datagram Protocol|UDP]] con porta di [[default (informatica)|default]] 5060.
Recenti revisioni di questo standard permettono anche l'utilizzo attraverso [[Transmission Control Protocol|TCP]] e [[Transport Layer Security|TLS]]
Il protocollo SIP ha fondamentalmente le seguenti funzioni:
* Localizzazione degli utenti
** acquisire le preferenze degli utenti
* Invitare gli utenti a partecipare ad una sessione:
** negoziare le capability
** trasportare una descrizione della sessione
* Instaurare le connessioni di sessione
Riga 14 ⟶ 33:
* Cancellare la sessione in qualunque momento si desideri.
Alcune delle caratteristiche importanti del protocollo SIP:
* è impiegabile sia in contesti client-server sia in contesti [[peer to peer]].
* è facilmente estendibile e programmabile
*
*
Un messaggio SIP è una ''richiesta'' o una ''risposta''; una sequenza di una richiesta e una o più risposte è detta ''transazione'': una transazione è identificabile da un ''transaction-ID'', un identificativo che ne specifica la sorgente, la destinazione e il numero di sequenza.
Il protocollo SIP supporta la mobilità ed è dialog-oriented: un ''dialogo'' è una relazione persistente tra entità paritetiche che si scambiano richieste e risposte in un contesto comune.
==
Le entità essenziali di una rete SIP sono:
* ''SIP [[User Agent]]'': [[File:SIP User Agents.jpg|thumb|Schema di chiamata tra User Agents]] è un end-point e può fungere da client o da server; i due ruoli sono dinamici, nel senso che nel corso di una sessione un client può fungere da server e viceversa. Quando funge da client, dà inizio alla transazione originando richieste. Quando funge da server, ''ascolta'' le richieste e le soddisfa, se possibile.
Uno User Agent è in sostanza una macchina a stati, che evolve in dipendenza di messaggi SIP, e registra informazioni rilevanti del dialogo. Il dialogo ha inizio quando si risponde positivamente al messaggio di ''Invite'' e termina con un messaggio di ''Bye''.
* ''Registrar Server'': è un server dedicato o collocato in un [[proxy]]. Quando un utente è iscritto ad un dominio, invia un messaggio di registrazione del suo attuale punto di ancoraggio alla rete ad un Registrar Server.
* ''Proxy Server'': è un server intermedio; può rispondere direttamente alle richieste oppure inoltrarle ad un client, ad un server o ad un ulteriore proxy. Un proxy server analizza i parametri di instradamento dei messaggi e "nasconde" la reale posizione del destinatario del messaggio - essendo quest'ultimo indirizzabile con un nome convenzionale del dominio di appartenenza.
I proxy possono essere [[stateless]] o [[stateful]]. Quando uno User Agent invia sistematicamente le proprie richieste ad un proxy "vicino" (di default) allora il proxy viene detto ''Outbound-Proxy''. Viceversa, un ''Inbound-Proxy'' è un proxy che instrada le chiamate entranti in un dominio. Infine un ''Forking-Proxy'' può instradare una stessa richiesta in parallelo o in sequenza a più destinazioni.
* ''Redirect Server'': reinstrada le richieste SIP consentendo al chiamante di contattare un set alternativo di URIs.
* ''Location Server'': è un [[database]] contenente informazioni sull'utente, come il profilo, l'indirizzo IP, l'URL.
== Applicazioni ==
Esso trova applicazione nella [[Voice over IP|telefonia su IP]] e nei servizi telefonici supplementari, nella video-comunicazione, nei giochi interattivi, nella [[messaggistica istantanea]]. Il protocollo è stato sviluppato, ufficialmente, a partire dal 1999 ([[Request for Comments|RFC]] 2543 e 3261) per iniziativa di [[Internet Engineering Task Force|IETF]] e fa parte della ''[[Internet Multimedia Conferencing Suite]]''.
Ad oggi l'utilizzo prevalente è nella telefonia su IP, per cui SIP è spesso sinonimo di un sistema dedicato a questa applicazione.
== Software che sfrutta il protocollo SIP ==
Esistono diversi software in grado di sfruttare il protocollo SIP:
*[https://www.voispeed.com VOIspeed UCloud]
*[[Gizmo5]]
* [[openSIPS]]
* [[Asterisk PBX|Asterisk]]
* [[Ekiga]]
* [[Wengo]]
* [[Fring]]
* [[Google Talk]]
* [[Microsoft Lync]] (rinominato poi in [[Skype for Business]] che terminerà il suo ciclo di vita nel 2021)
* {{cita web|http://www.3cx.com|3CX}}
Solo alcuni di questi sono [[software libero]].
Per lo stack Android sono mantenuti i seguenti progetti open source:
* {{cita web|https://code.google.com/p/imsdroid/|IMDDroid}}
* {{cita web|https://code.google.com/p/de-tiny-sip/|SipUA}}
* {{cita web|https://code.google.com/p/sipdroid/|SipDroid}}
* {{cita web|https://code.google.com/p/csipsimple/|CSipSimple}}
==Note==
<references/>
== Voci correlate ==
* [[Sessione]]
* [[H.323]]
* [[Real-time Transport Protocol]]
* [[SIP Trunking]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{cita web |1=http://www.radvision.com/Resources/WhitePapers/ims_sip.htm |2=IMS SIP Overview |accesso=31 maggio 2006 |urlarchivio=https://web.archive.org/web/20060614125715/http://www.radvision.com/Resources/WhitePapers/ims_sip.htm# |dataarchivio=14 giugno 2006 |urlmorto=sì }}
* {{cita web|http://www.cs.columbia.edu/~hgs/sip/index.html|CS Columbia}}
* {{cita web | 1 = http://www.en.voipforo.com/SIP/SIP_architecture.php | 2 = SIP Protocol Overview | accesso = 9 maggio 2006 | dataarchivio = 27 giugno 2020 | urlarchivio = https://web.archive.org/web/20200627142418/http://www.en.voipforo.com/SIP/SIP_architecture.php | urlmorto = sì }}
{{IPstack}}
{{Controllo di autorità}}
[[Categoria:Protocolli di Internet]]
[[Categoria:Protocolli livello applicazione]]
[[Categoria:Voice over IP]]
|