Session Initiation Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m varie
Riga 1:
[[categoria:protocolli di rete]]
Il protocollo '''SIP''' ('''Session Initiation Protocol''') instaura, modifica e rilascia una sessione. Esso trova applicazione non solo nella telefonia su IP e nei servizi telefonici supplementari, ma anche nella video-comunicazione, nei giochi interattivi, nella messaggistica instantanea.
Il protocollo e'è stato sviluppato a partire dal 1999 ([[Request for Comment]] 2543 e 3261) per iniziativa di [[IETF]] e fa parte della ''[[Internet Multimedia Conferencing Suite]]''.
 
Il protocollo SIP ha fondamentalmente le seguenti funzioni:
Riga 14:
* Cancellare la sessione in qualunque momento si desideri.
 
SIP è un protocollo text-based, orientato al Web, ''simile'' ad HTTP, con una struttura [[client-server]]. Per instaurare una sessione, avviene un three-way [[handshaking]] (concettualmente simile a quello che avviene con il protocollo [[TCP]]).
Alcune delle caratteristiche importanti del protocollo SIP:
* e'è impiegabile sia in contesti client-server sia in contesti [[peer to peer]].
* e'è facilmente estendibile e programmabile
* lavora sia con server stateless sia con server stateful.
* e' indipendente dal protocollo di trasporto.
Riga 23:
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 e'è dialog-oriented: un ''dialogo'' è una relazione persistente tra entità paritetiche che si scambiano richieste e risposte in un contesto comune.
 
== Esempio di un messaggio SIP ==
Riga 33:
 
Un messaggio SIP è costituito da un'intestazione e da un corpo (rispettivamente detti ''header'' e ''body''). A titolo esemplificativo, consideriamo il seguente messaggio di ''Invite'', in cui header e body sono separati da una riga vuota:
<pre>
INVITE sip:utente@___domain.com SIP/2.0
Via: SIP/2.0/UDP 134.102.18.1
Riga 53:
a = rtpmap: 0 PCMU/8000 ''//attributi audio\video.. se ce ne fossero ''
s = festa ''//subject della sessione''
</pre>
 
===Cenni ai messaggi SIP più frequenti===
Riga 66 ⟶ 67:
==Architettura di una rete SIP==
Le entità essenziali di una rete SIP sono:
*''SIP [[User Agent]]'': è 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 "ruotarle" 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.
Riga 73 ⟶ 74:
*''Location Server'': è un [[database]] contentente informazioni sull'utente, come il profilo, l'indirizzo IP, l'URL.
 
==LinksCollegamenti utiliesterni==
*http://www.cs.columbia.edu/~hgs/sip/index.html
 
[[Categoria:Protocolli di rete]]