1.8 Session Initiation Protocol (SIP)

Transcript

1.8 Session Initiation Protocol (SIP)
R. Bolla Telematica 2, n. o.
Università di Genova
Facoltà di Ingegneria
SIP – Session Initiation Protocol
Telematica 2
Definito dagli RFC 3261-3265 (e da molti
altri) in ambito IETF.
z Rappresenta la soluzione VoIP proveniente
dal mondo Internet, alternativa allo
standard H.323.
z L’approccio SIP, al contrario di quello
H.323, è fortemente decentralizzato.
z SIP è più di un protocollo di segnalazione
per VoIP: permette di creare sessioni tra
due entità.
z
1. Servizi Multimediali e
Qualità del Servizio (QdS) su IP
1.8 Session Initiation Protocol (SIP)
Prof. Raffaele Bolla
dis t
Lezione 1.8, v. 1.2
6.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
SIP – Session Initiation Protocol
Caratteristiche generali
z SIP
z
è un protocollo di tipo testuale
– gruppo di lavoro di volontari;
– collaborazione a livello mondiale
– basato su HTTP e SMTP.
z La
funzione principale è quella di creare w
gestire “sessioni” tra gli utenti.
z SIP crea una comunicazione peer-to-peer
» esperti in tutte le aree della tecnologia Internet.
z
Lo standard è basato sulla sperimentazione
– gli sviluppatori creano le nuove proposte
implementando le loro idee;
– le nuove funzionalità entrano a far parte dello
standard solo dopo essere state giudicate
“mature”
– non vengono identificati master/slave,
– la comunicazione avviene comunque con un
paradigma client-server
» Il ruolo di server viene assegnato sulla base di chi
inizia la sessione.
Lezione 1.8, v. 1.2
SIP nasce nell’ambito IETF
» numerosi test di funzionamento ed interoperabilità.
6.3
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Caratteristiche generali
z
z
z
localizzare gli utenti;
creare sessioni;
registrare la presenza degli utenti;
trasportare diversi tipi di segnalazione: descrizioni di
sessioni, instant messaging, JPEG, e codifiche MIME.
SIP non è:
– un protocollo di trasporto;
– un meccanismo di QoS;
– un protocollo di controllo dei gateway o per Remote
Procedure Call (RPC);
– un rimpiazzo dei protocolli per PSTN;
– una mera implementazione di VoIP
» in questo è molto distante da H.323, il quale
specifica protocolli per tutti gli aspetti relativi
all'applicazione VoIP (segnalazione, trasporto,
controllo, ecc.).
SIP è particolarmente adatto per
applicazioni che utilizzano il concetto di
sessione (non solo VoIP):
– sistemi virtuali distribuiti;
– giochi in rete (Quake II/III);
– videoconferenze.
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Caratteristiche generali
SIP permette di:
–
–
–
–
6.4
6.5
Lezione 1.8, v. 1.2
6.6
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Caratteristiche alla base del SIP
z
Caratteristiche alla base del SIP
L’infrastruttura segue il modello IP
z
– intelligenza e stato concentrate nei dispositivi
terminali;
– il core della rete mantiene al più uno stato
temporaneo;
– vantaggi: minore necessità di CPU e memoria
nei server, affidabilità e scalabilità (non esiste
un unico punto critico).
z
Estensibilità
– la gamma dei servizi futuri non può essere nota
» rendere la segnalazione indipendente dal servizio;
– lezione dell’HTTP
» HTTP non è più limitato all’HTML: e-commerce,
servizi bancari, film, ecc.
» le applicazioni crescono, il protocollo rimane lo stesso;
– i progettisti SIP hanno sfruttato l’esperienza
HTTP.
Supporto per UDP
– set-up più rapido, minor informazioni di stato.
Lezione 1.8, v. 1.2
6.7
Lezione 1.8, v. 1.2
6.8
R. Bolla Telematica 2, n. o.
z
Elementi
Instaurazione chiamate voce su IP
z
– servizi PSTN tradizionali (PBX);
– preferenze degli utenti (media, lingua, mobilità).
z
z
z
Instaurazione conferenze multimediali.
Gestione della mobilità (number portability)
Notifica eventi (iscrizione/notifica)
z
Messaggistica testuale e generica.
Trasporto segnalazione
z
Servizi integrati con la rete PSTN.
Endpoint
– realizzano il protocollo SIP;
– sono host “fully qualified”;
– esistono due tipologie di apparati:
» dispositivi utente: telefoni, PC;
» gateway verso altre reti: PSTN, H.323;
– presenza;
– instant communications.
z
R. Bolla Telematica 2, n. o.
Funzionalità
– la parte che realizza il protocollo viene definita
User Agent (hw o applicativi):
» UA client (originano richieste SIP);
» UA server (originano risposte SIP).
– controllo delle chiamate (attesa, parcheggio, ...).
Lezione 1.8, v. 1.2
– la funzionalità client/server può essere variata
spesso nel corso di una sessione.
6.9
Lezione 1.8, v. 1.2
6.10
R. Bolla Telematica 2, n. o.
Elementi
z
R. Bolla Telematica 2, n. o.
Elementi
Server
– l'RFC 2543 definisce 3 tipologie di server:
» proxy SIP
9 agiscono come intermediari nella segnalazione
inoltrando le richieste,
9 possono mantenere uno stato della connessione;
» redirect server
9 redireziona una richiesta;
» registrar server
9 accetta registrazioni da parte degli utenti;
9 mantiene traccia della locazione degli utenti
(come l’HLR nelle reti GSM);
– sono dispositivi intermediari all'interno delle rete SIP
» supportano gli utenti per inizializzare le sessioni e altre
funzioni;
– sono solo intermediari per la segnalazione
» non sono in grado di gestire il flusso dei media
– in genere intervengono su richiesta di un endpoint
» possono anche effettuare operazioni autonome;
– possono essere senza stato
» tempi di risposta molto rapidi,
» non rappresentano un punto critico in caso di rottura o
malfunzionamento;
Lezione 1.8, v. 1.2
– possono essere co-locati sulla stessa macchina;
6.11
Lezione 1.8, v. 1.2
6.12
R. Bolla Telematica 2, n. o.
Elementi
R. Bolla Telematica 2, n. o.
Elementi
– gli endpoint possono localizzare i server
tramite:
z Location
– consiste in un database contenente informazioni
relativa agli utenti (indirizzi IP, URL, script,
preferenze) e alla locazione di proxy, gateway e
altri location server
» una configurazione esplicita dell'indirizzo IP
del server (outbound proxy),
» una URL SIP del dominio (inbound proxy),
» l'utilizzo di un indirizzo multicast (per es. per
i registrar server),
» l'intermediazione di altri server (per es. un
outbound proxy per raggiungere un registrar
server).
Lezione 1.8, v. 1.2
server
» SQL, LDAP, Corba, tecnologie proprietarie…
– di norma non viene contattato direttamente
dagli utenti
» i server SIP utilizzano protocolli non-SIP per
interagire con i location server.
6.13
Lezione 1.8, v. 1.2
6.14
R. Bolla Telematica 2, n. o.
Funzionalità
z Indirizzamento
z Registrazione
stile web/telefonico.
dei dispositivi.
z Mobilità
– diversi apparati/reti di accesso.
z Preferenze
z Sicurezza.
z Redirezione
dell'utente
– chiamante: tipo di servizio, modalità di fruizione
del servizio, raggiungibilità di parte degli utenti
(esclusioni di numerazioni/servizi);
– chiamato: gestione delle chiamate (in base al
chiamante, giorno e data, dispositivo di
comunicazione preferito).
delle chiamate.
z Proxy.
z Forking.
z Rendezvous
R. Bolla Telematica 2, n. o.
Funzionalità
e presenza
– rendezvous attivi o passivi.
z Controllo
Lezione 1.8, v. 1.2
6.15
dell'instradamento dei messaggi.
Lezione 1.8, v. 1.2
6.16
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Richieste e risposte
Richieste e risposte
Classi di risposte
z SIP
prevede un funzionamento
client/server, simile a quello dell'HTTP.
z I client effettuano delle richieste (metodi) ai
server che possono essere di due tipi:
Classe
– metodi base (RFC 2543): INVITE, ACK, BYE,
CANCEL, REGISTER, OPTIONS;
– altri metodi: estensioni al protocollo definite in
RFC successivi.
zI
server forniscono delle risposte che:
– consistono in codici numerici,
– derivano da quelle definite per HTTP.
Lezione 1.8, v. 1.2
6.17
Descrizione
1xx
Informativo: la richiesta è in fase di elaborazione
ma non ancora completa.
2xx
Successo: la richiesta è stata completata con
successo.
3xx
Redirezione: la richiesta deve essere inoltrata ad
un’altra locazione.
4xx
Errore del client: la richiesta deve essere riformulata
in modo corretto.
5xx
Errore del server: la richiesta non può essere
completata dal server, ma può essere inoltrata ad
un’altra locazione.
6xx
Fallimento globale: la richiesta è fallita e non può
essere riprovata di nuovo.
Lezione 1.8, v. 1.2
6.18
R. Bolla Telematica 2, n. o.
Le funzioni di SIP
SIP/IP
z
R. Bolla Telematica 2, n. o.
I messaggi SIP possono essere inviati su IP utilizzando
qualsiasi protocollo di trasporto (TCP, UDP o altri):
z
– UDP: è la scelta più comune perché:
» SIP possiede dei meccanismi di recupero di errore integrati
» minor overhead nei proxy;
» massima dimensione dei pacchetti minore;
– TCP: scelta meno frequente perché introduce un maggior overhead
per il setup di una connessione, per contro:
» può multiplare diversi flussi di segnalazione su un’unica linea
» può essere utilizzato con SSL;
– SCTP: nuovo protocollo che introduce comunque un certo
overhead per il setup di una connessione ma permette la gestione
» Degli indirizzi di fallback;
Lezione 1.8, v. 1.2
6.19
z
Risoluzione degli indirizzi.
Funzioni relative ad una sessione
–
–
–
–
–
z
instaurazione, modifica, termine e cancellazione della sessione,
negoziazione dei media,
segnalazione durante la chiamata,
controllo della chiamata,
instaurazione di chiamate con QoS.
Funzioni non relative ad una sessione
–
–
–
–
mobilità,
trasporto di messaggi,
notifica di eventi,
autenticazione.
Lezione 1.8, v. 1.2
6.20
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Le funzioni di SIP
z
z
Indirizzamento
Risoluzione degli indirizzi.
Funzioni relative ad una sessione
z
sip:[email protected]
sip:[email protected]; user=phone
– lo spazio degli indirizzi risulta praticamente illimitato.
– instaurazione, modifica, termine e cancellazione della
sessione,
– negoziazione dei media,
– segnalazione durante la chiamata,
– controllo della chiamata,
– instaurazione di chiamate con QoS.
z
z
z
mobilità,
trasporto di messaggi,
notifica di eventi,
autenticazione.
Lezione 1.8, v. 1.2
L’indirizzo può contenere numeri di telefono, fax,
parametri (tipo terminale, protocollo di traporto),
cifre post-dialing:
sip:[email protected]; user=phone; postd=pp32
Funzioni non relative ad una sessione
–
–
–
–
Gli utenti sono individuati con una URL:
6.21
Si possono utilizzare anche le URL per i numeri
telefonici (globali o locali):
Lezione 1.8, v. 1.2
tel:+390103532057
tel:+390103532057; phone-context=+39010353
fax:+390103532154
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Identificazione degli utenti
Un utente in genere ha una sola URL del
tipo:
utente@dominio
z La localizzazione dell’utente avviene
tramite l’associazione
utente@dominio ↔ utente@host
contenuta nel location server.
z
Lezione 1.8, v. 1.2
6.22
z
Attualmente esiste un elevato numero di reti di
comunicazione
z
La tradizionale forma di indirizzamento identifica i
terminali piuttosto che gli utenti
– PSTN, cellulare, Internet.
– l’email rappresenta già un’evoluzione di questo concetto;
– un utente risponde normalmente a più numeri a seconda
del terminale e di dove si trova.
z
6.23
L’evoluzione attuale mira ad associare un
identificativo unico a tutte le persone.
Lezione 1.8, v. 1.2
6.24
R. Bolla Telematica 2, n. o.
z
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Identificazione degli utenti
Indirizzamento gerarchico E.164: ENUM
L’ampia diffusione delle reti telefoniche
tradizionali (PSTN, cellulare) e la necessità
di integrazione verso di esse ha portato
l’IETF a standardizzare un meccanismo di
risoluzione degli indirizzi E.164 mediante
DNS (ENUM, RFC 3761).
z Il meccanismo si articola su tre livelli
gerarchici:
z
Per individuare i singoli individui si può
utilizzare
– una URI (Universal Locator Identifier), come negli
indirizzi email:
» è più menmonica dei numeri;
» è molto flessibile;
» lo spazio di indirizzamento è praticamente illimitato.
– un numero, come nella numerazione telefonica E.164
» rappresenta una soluzione attualmente più diffusa;
» praticamente qualsiasi dispositivo di comunicazione
comprende una tastiera numerica a 12 cifre (10 cifre, “#”,
“*”).
6.25
Lezione 1.8, v. 1.2
– la root DNS: e164.arpa;
– autorità ENUM nazionali;
– server proxy SIP per l’instradamento delle
chiamate.
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
z
z
Indirizzamento
ENUM – Top Level Domain
ENUM – Secondo livello
z
z
– al numero E.164 vengono tolti tutti caratteri che non sono
cifre;
– le cifre sono scritte in ordine inverso e separate da “.”;
– il dominio principale e164.arpa viene aggiunto;
– es.: +39-010-3532057 ⇒ 7.5.0.2.3.5.3.0.1.0.9.3.e164.arpa.
z
R. Bolla Telematica 2, n. o.
Indirizzamento
Il dominio e164.arpa rappresenta il Top Level Domain
(TLD) del sistema ENUM.
I client DNS effettuano una query al TLD dopo aver
trasformato l’identificativo E.164:
La risoluzione del sottodominio viene delegata in base
alle disposizioni delle diverse autorità nazionali
– possono essere identificate diverse “sottozone” (es. 010).
Lezione 1.8, v. 1.2
6.27
I server primari reindirizzano le richieste ai server DNS
ENUM (secondo livello).
I server DNS ENUM realizzano l’effettiva risoluzione
dell’indirizzo attraverso l’informazione contenuta nei
record NAPTR (Naming Authority Pointer) che:
– In generale permettono di specificare delle regole attraverso le
quali è possibile rielaborare il nome da risolvere e interrogare un
server successivo;
– nel caso di ENUM questi record traducono un E.164 in una URL;
– es: +39-010-3532075
$ORIGIN 5.7.0.2.3.5.3.0.1.0.9.3.e164.arpa.
NAPTR 10 100 “u” “E2U+sip” “!^.*$!sip:[email protected]!” .
NAPTR 10 110 “u” “E2U+smtp” “!^.*$!mailto:[email protected]!” .
NAPTR 10 120 “u” “E2U+tel” “!^.*$!tel:+39-010-3532075!” .
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Indirizzamento
ENUM – Terzo livello
Identificazione degli utenti
Il terzo livello di risoluzione può essere un server
DNS o un altro tipo di entità
z
La risoluzione degli alias degli utenti può avvenire:
– tramite un sistema simile al precedente
– dipende in maniera sostanziale dall’applicazione.
z
» utilizzo dei record NAPTR,
» massima flessibilità;
Nel caso di SIP l’entità deve avere determinate
caratteristiche:
– tramite i record SRV (SeRVice) del DNS
» es.:
_sip._tcp SRV 0
0 5060
sipserver.unige.it
SRV 1
0 5060 sipbackup.unige.it
» è possibile gestire la priorità (backup) ed il “peso” (load balancing).
– sicurezza: gli utenti devono poter modificare solo i
propri record (autenticazione);
– dinamicità: i dati degli utenti possono cambiare molto
rapidamente (real time).
z
z
Un registrar server assolve a queste funzionalità
– mantiene una corrispondenza aggiornata sulla attuale
presenza e posizione degli utenti;
– mantiene una lista delle preferenze degli utenti.
Lezione 1.8, v. 1.2
6.28
R. Bolla Telematica 2, n. o.
Indirizzamento
z
6.26
6.29
In entrambi i casi è possibile utilizzare un registrar
server per localizzare l’utente e utilizzare le sue
preferenze.
Lezione 1.8, v. 1.2
6.30
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Registrazione
Registrazione
location server
(unige.it)
registrar
server
unige.it
Lezione 1.8, v. 1.2
location server
(unige.it)
6.31
registrar
server
unige.it
Register: [email protected],
Contact: 130.251.1.88
Lezione 1.8, v. 1.2
6.31
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Registrazione
Registrazione
location server
(unige.it)
location server
(unige.it)
[email protected]
[email protected]:
[email protected]
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Registrazione
Registrazione
location server
(unige.it)
location server
(unige.it)
[email protected]:
[email protected]
[email protected]:
[email protected]
Register: [email protected],
Contact: [email protected]
OK
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Indirizzamento
Indirizzamento
Registrazione
Registrazione
location server
(unige.it)
location server
(unige.it)
[email protected]:
[email protected]
[email protected]
[email protected]
[email protected]:
[email protected]
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
registrar
server
unige.it
Lezione 1.8, v. 1.2
6.31
R. Bolla Telematica 2, n. o.
Indirizzamento
R. Bolla Telematica 2, n. o.
Le funzioni di SIP
Registrazione
location server
(unige.it)
z
z
– instaurazione, modifica, termine e cancellazione della
sessione,
– negoziazione dei media,
– segnalazione durante la chiamata,
– controllo della chiamata,
– instaurazione di chiamate con QoS.
[email protected]:
[email protected]
[email protected]
OK
z
registrar
server
unige.it
Lezione 1.8, v. 1.2
Risoluzione degli indirizzi.
Funzioni relative ad una sessione
Funzioni non relative ad una sessione
–
–
–
–
6.31
mobilità,
trasporto di messaggi,
notifica di eventi,
autenticazione.
Lezione 1.8, v. 1.2
6.32
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
Lezione 1.8, v. 1.2
6.33
Lezione 1.8, v. 1.2
6.33
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
INVITE sip: [email protected]
OK
OK
ACK
Lezione 1.8, v. 1.2
6.33
Lezione 1.8, v. 1.2
6.33
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
INVITE sip: [email protected]
OK
OK
ACK
ACK
MEDIA
MEDIA
BYE
Lezione 1.8, v. 1.2
6.33
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
6.33
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
OK
ACK
MEDIA
BYE
OK
Lezione 1.8, v. 1.2
6.33
Lezione 1.8, v. 1.2
6.34
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
INVITE sip: [email protected]
180 Ringing
Lezione 1.8, v. 1.2
6.34
Lezione 1.8, v. 1.2
6.34
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
INVITE sip: [email protected]
180 Ringing
180 Ringing
200 OK
200 OK
ACK
Lezione 1.8, v. 1.2
6.34
Lezione 1.8, v. 1.2
6.34
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione diretta tra terminali
INVITE sip: [email protected]
INVITE sip: [email protected]
180 Ringing
180 Ringing
200 OK
200 OK
ACK
ACK
MEDIA
MEDIA
BYE
Lezione 1.8, v. 1.2
6.34
Lezione 1.8, v. 1.2
6.34
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione diretta tra terminali
Connessione tramite proxy
DNS
location server
(unige.it)
INVITE sip: [email protected]
180 Ringing
200 OK
ACK
MEDIA
proxy
unige.it
BYE
200 OK
Lezione 1.8, v. 1.2
6.34
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione tramite proxy
Connessione tramite proxy
location server
(unige.it)
DNS
location server
(unige.it)
unige.it
Record SRV
DNS
proxy
unige.it
Lezione 1.8, v. 1.2
proxy
unige.it
6.35
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione tramite proxy
Connessione tramite proxy
location server
(unige.it)
DNS
INVITE sip: [email protected]
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
proxy
unige.it
Lezione 1.8, v. 1.2
location server
(unige.it)
alice
DNS
proxy
unige.it
6.35
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione tramite proxy
Connessione tramite proxy
location server
(unige.it)
DNS
[email protected]
DNS
location server
(unige.it)
INVITE sip: [email protected]
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
proxy
unige.it
proxy
unige.it
Lezione 1.8, v. 1.2
6.35
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione tramite proxy
Connessione tramite proxy
DNS
location server
(unige.it)
DNS
SIP/2.0 200 OK
From: sip:[email protected]
proxy
To: sip:[email protected]
unige.it
Call-ID: [email protected]
Lezione 1.8, v. 1.2
location server
(unige.it)
SIP/2.0 200 OK
From: sip:[email protected]
proxy
To: sip:[email protected]
unige.it
Call-ID: [email protected]
6.35
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Connessione tramite proxy
Connessione tramite proxy
DNS
location server
(unige.it)
DNS
proxy
unige.it
ACK
location server
(unige.it)
proxy
unige.it
MEDIA
Lezione 1.8, v. 1.2
6.35
Lezione 1.8, v. 1.2
6.35
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
z
R. Bolla Telematica 2, n. o.
Rappresentano dei punti di Rendez-vous in cui
cercare gli utenti
z
– la loro presenza consente la mobilità degli utenti.
z
I proxy inoltrano le richieste verso gli utenti
finali, utilizzando informazioni disponibili
presso i location server.
z
Effettuano il routing della segnalazione
Si possono individuare due modalità
differenti:
– stateless proxy;
– forking proxy.
– verso terminali, altri proxy, server redirect;
– consentono alle funzioni di routing di essere
programmabili
» preferenze degli utenti, AAA, controllo dei firewall.
Lezione 1.8, v. 1.2
6.36
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Stateless Proxy
Forking Proxy
z
I proxy mantengono lo stato solo durante una
transazione SIP
z
– inoltrano il messaggio INVITE verso la destinazione
finale e la risposta OK verso la sorgente, senza tener
traccia della sessione;
z
Permettono di poter inviare le richieste a
più utenti:
– in sequenza (se non si ha risposta);
– in parallelo (il primo che risponde instaura la
sessione).
» INVITE e OK seguono lo stesso percorso,
» ACK può seguire una altra strada, a meno che non sia usata
l’opzione route recording.
z
6.37
I proxy SIP non mantengono traccia delle
connessioni attive.
Sarebbe anche possibile mantenere uno stato della
connessione
– in questo caso si perderebbe il vantaggio della
scalabilità.
Lezione 1.8, v. 1.2
6.38
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
6.39
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking parallelo
Forking parallelo
INVITE sip: [email protected]
Lezione 1.8, v. 1.2
6.40
Lezione 1.8, v. 1.2
6.40
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking parallelo
Forking parallelo
I TE
INV
INV
m
e.co
.acm
1
c
p
e@
alic
sip:
ITE
sip:
bob
@p
c2.
acm
e.co
Lezione 1.8, v. 1.2
m
6.40
Lezione 1.8, v. 1.2
6.40
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking parallelo
Forking parallelo
S IP
Lezione 1.8, v. 1.2
6.41
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
I Proxy
Forking parallelo
Forking parallelo
Lezione 1.8, v. 1.2
CE
200
OK
6.41
R. Bolla Telematica 2, n. o.
I Proxy
N
CA
/2.0
L
6.41
Lezione 1.8, v. 1.2
6.42
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking parallelo
Forking parallelo
SIP/2.0 200 OK
ACK
Lezione 1.8, v. 1.2
6.42
Lezione 1.8, v. 1.2
6.42
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking sequenziale
Forking sequenziale
INVITE sip: [email protected]
Lezione 1.8, v. 1.2
6.43
Lezione 1.8, v. 1.2
6.43
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking sequenziale
Forking sequenziale
e.it
nig
@u
e
c
i
al
sip:
q=1.0
I TE
INV
Lezione 1.8, v. 1.2
302
6.43
Lezione 1.8, v. 1.2
ved
Mo
por
tem
y
aril
6.43
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking sequenziale
Forking sequenziale
INVITE sip: [email protected]
486 Busy here
q=0.7
Lezione 1.8, v. 1.2
6.43
Lezione 1.8, v. 1.2
6.43
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking sequenziale
Forking sequenziale
INV
ITE
sip:
q=0.1
Lezione 1.8, v. 1.2
bob
@l
ibe
ro.i
t
200
6.43
OK
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
6.43
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Forking sequenziale
Outbound proxy
z
Il proxy esaminato in precedenza viene definito
“inbound proxy”
– gestisce le connessioni in arrivo agli utenti;
– gestisce un solo dominio.
z
– gestisce tutte le connessioni in uscita da un dominio;
– permette di realizzare funzioni di emergenza
(localizzazione chiamate 118 più vicino);
– interagisce con eventuali firewall;
– consente di instradare le chiamate;
– permette di tariffare gli utenti.
ACK
Lezione 1.8, v. 1.2
A volte vengono utilizzati anche “outbound proxy”
6.43
Lezione 1.8, v. 1.2
6.44
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
I Proxy
I Proxy
Outbound proxy
Outbound proxy e catena di proxy
z
I terminali devono conoscere l’indirizzo del
proxy
Dominio amministrativo unipi.it
Dominio amministrativo unige.it
unige.it
– configurazione manuale;
– configurazione automatica (DHCP, TFTP).
z
In generale, diversi server (proxy) possono
essere attraversati
dist.unige.it
– ad es. un unico proxy aziendale può distribuire
la segnalazione a diversi server dipartimentali;
– un utente può inoltrare le proprie chiamate
verso un altro terminale;
– i server devono essere in grado di evitare i loop.
Lezione 1.8, v. 1.2
L’outbound proxy
permette
l’attraversamento
del firewall
Il proxy unige.it
identifica un
proxy che serve il
singolo
dipartimento
Il proxy dist.unige.it
distribuisce la
segnalazione ai
terminali e riceve le
loro registrazioni.
Segnalazione e media possono seguire percorsi completamente diversi.
6.45
Lezione 1.8, v. 1.2
6.46
R. Bolla Telematica 2, n. o.
Setup delle connessioni
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
location
server
(unige.it)
registrar
unige.it
inbound
proxy
[email protected]
location
server
(unige.it)
unige.it
inbound
proxy
[email protected]
010
6.47
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
location
server
(unige.it)
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
[email protected] -> [email protected]
[email protected]
location
server
(libero.it)
libero.it
SIP
inbound
proxy
registrar
REGISTER
[email protected]
[email protected]
location
server
(libero.it)
libero.it
Lezione 1.8, v. 1.2
LDAP,
SQL
LDAP,
SQL
[email protected] -> [email protected]
registrar
location
server
(unige.it)
registrar
200 OK
unige.it
inbound
proxy
[email protected]
libero.it
Lezione 1.8, v. 1.2
inbound
proxy
[email protected]
unige.it
libero.it
SIP
010
inbound
proxy
[email protected]
location
server
(libero.it)
6.47
Lezione 1.8, v. 1.2
inbound
proxy
[email protected]
location
server
(libero.it)
SIP
010
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
LDAP,
SQL
[email protected] -> [email protected]
registrar
location
server
(unige.it)
location
server
(unige.it)
registrar
alic
e
INVITE sip:[email protected]
unige.it
inbound
proxy
[email protected]
unige.it
inbound
proxy
[email protected]
location
server
(libero.it)
libero.it
010
6.47
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
R. Bolla Telematica 2, n. o.
Setup delle connessioni
[email protected]
location
server
(libero.it)
libero.it
SIP
inbound
proxy
Lezione 1.8, v. 1.2
[email protected]
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
registrar
location
server
(unige.it)
ce@
ali
location
server
(unige.it)
LDAP,
SQL
[email protected] -> [email protected]
registrar
ero
lib
.it
unige.it
inbound
proxy
[email protected]
[email protected]
010
6.47
inbound
proxy
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
location
server
(unige.it)
inbound
proxy
[email protected]
ACK [email protected]
libero.it
Lezione 1.8, v. 1.2
inbound
proxy
LDAP,
SQL
[email protected] -> [email protected]
registrar
unige.it
location
server
(unige.it)
[email protected]
INVITE sip:[email protected]
SIP
010
6.47
registrar
unige.it
inbound
proxy
[email protected]
location
server
(libero.it)
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
[email protected] -> [email protected]
[email protected]
location
server
(libero.it)
libero.it
SIP
inbound
proxy
unige.it
302 Moved Temporally
Contact: sip:[email protected]
location
server
(libero.it)
libero.it
Lezione 1.8, v. 1.2
[email protected]
Lezione 1.8, v. 1.2
libero.it
inbound
proxy
[email protected]
location
server
(libero.it)
SIP
010
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
unige.it
inbound
proxy
[email protected]
location
server
(unige.it)
[email protected]
registrar
unige.it
inbound
proxy
[email protected]
location
server
(libero.it)
alice
libero.it
LDAP,
SQL
[email protected] -> [email protected]
registrar
[email protected]
location
server
(libero.it)
libero.it
[email protected]
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
6.47
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
R. Bolla Telematica 2, n. o.
Setup delle connessioni
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
registrar
unige.it
inbound
proxy
[email protected]
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
[email protected]
unige.it
inbound
proxy
[email protected]
location
server
(libero.it)
libero.it
registrar
[email protected]
location
server
(libero.it)
libero.it
INVITE
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
6.47
SIP
inbound
proxy
Lezione 1.8, v. 1.2
010
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
inbound
proxy
[email protected]
libero.it
location
server
(unige.it)
[email protected]
inbound
proxy
010
inbound
proxy
[email protected]
location
server
(libero.it)
6.47
registrar
unige.it
libero.it
180 Ringing
Ringing SIP
Lezione 1.8, v. 1.2
LDAP,
SQL
[email protected] -> [email protected]
registrar
unige.it
6.47
Lezione 1.8, v. 1.2
inbound
proxy
[email protected]
location
server
(libero.it)
SIP
010
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
unige.it
inbound
proxy
[email protected]
location
server
(unige.it)
[email protected]
010
6.47
inbound
proxy OK
Lezione 1.8, v. 1.2
SIP
010
6.47
R. Bolla Telematica 2, n. o.
Setup delle connessioni
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
registrar
inbound
proxy
[email protected]
[email protected]
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Setup delle connessioni
location
server
(libero.it)
libero.it
ACK
6.47
[email protected]
inbound
proxy
[email protected]
010
registrar
unige.it
SIP
inbound
proxy
Lezione 1.8, v. 1.2
location
server
(unige.it)
location
server
(libero.it)
libero.it
200 OK
LDAP,
SQL
[email protected] -> [email protected]
unige.it
inbound
proxy
SIP
010
6.47
R. Bolla Telematica 2, n. o.
Redirect
Redirect
LDAP,
SQL
[email protected] -> [email protected]
location
server
(unige.it)
z
registrar
z
Un server SIP può effettuare l’operazione di proxy
o redirect.
Il comportamento può essere configurato
– staticamente,
– dinamicamente.
unige.it
inbound
proxy
[email protected]
libero.it
Lezione 1.8, v. 1.2
location
server
(libero.it)
libero.it
R. Bolla Telematica 2, n. o.
Setup delle connessioni
[email protected]
inbound
proxy
[email protected]
SIP
inbound
proxy
registrar
unige.it
location
server
(libero.it)
libero.it
Lezione 1.8, v. 1.2
LDAP,
SQL
[email protected] -> [email protected]
registrar
inbound
proxy
[email protected]
location
server
(libero.it)
SIP
010
6.47
z
La redirezione è utile nel caso cambi il provider
– il chiamante può direttamente chiamare il nuovo alias la
prossima volta;
– senza stato.
z
L’operazione di proxy è utile nel caso sia necessario
utilizzare il forking, AAA, controllo del firewall
– il generale, il proxy permette un maggior controllo al
server.
Lezione 1.8, v. 1.2
6.48
R. Bolla Telematica 2, n. o.
SIP – Formato dei messaggi
z
z
SIP – Formato dei messaggi
Richieste
Il SIP utilizza un formato dei messaggi analogo a quello dell’HTTP.
Il client invia delle richieste:
metodo
sp
URL
sp
versione
rc
method
lf
Metodo: INVITE, ACK, OPTIONS, BYE, CANCEL, REGISTER.
Il server invia delle risposte:
codice di
stato
sp
frase
rc
SIP/2.0
status reason
SIP/2.0/protocol host:port
user <sip:from_user@source>
user <sip:to_user@destination>
localid@host
seq#method
length of body
media type of body
parameter; par1=value; par2=“value”
blank line
lf
v=0
o=origin_user timestamp timestamp IN IP4 host
c=IN IP4 media destination address
t=0 0
m= media type port RTP/AVP payload types
header (Via, To, From, Call-ID, Subject, Content, ...)
corpo del messaggio (SDP)
Lezione 1.8, v. 1.2
6.49
message body
sp
Risposte
SIP/2.0
message header
corpo del messaggio (SDP)
versione
URL
Via:
From:
To:
Call-ID:
CSeq:
Content-Length:
Content-Type:
Header:
header (Via, To, From, Call-ID, Subject, Content, ...)
z
R. Bolla Telematica 2, n. o.
Lezione 1.8, v. 1.2
6.50
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Metodi di SIP
Metodi di SIP
Richieste (RFC 2543)
Estensioni alle richieste
Metodo
Descrizione
Metodo
Descrizione
INVITE
Richiesta di instaurazione di una sessione.
INFO
Segnalazione durante la sessione.
ACK
Conferma l’instaurazione della sessione.
COMET
Requisito soddisfatto.
BYE
Termina la sessione.
PRACK
ACK provvisorio.
CANCEL
Annulla una ricerca precedente (INVITE).
SUBSCRIBE Sottoscrizione ad un evento
OPTIONS Richiesta delle funzionalità supportate.
NOTIFY
Notifica agli iscritti.
REGISTER Registrazione presso un location server.
REFER
Chiede al ricevitore di effettuare una richiesta SIP
(trasferimento di chiamata).
Lezione 1.8, v. 1.2
6.51
Lezione 1.8, v. 1.2
6.52
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Metodi di SIP
Metodi di SIP
Richieste SIP - Esempi
Richieste SIP - Esempi
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP host.wcom.com:5060
From: Alan Johnston
<sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
z
z
z
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP host.wcom.com:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
Identificano
univocamente
la richiesta.
Via: l’instradamento della richiesta.
Call-ID: identificativo univoco generato dal
client.
CSeq: Command Sequence Number
Descrizione
della
sessione
(SDP)
– generato dal client;
– incrementato ad ogni richiesta successiva.
Lezione 1.8, v. 1.2
6.53
Lezione 1.8, v. 1.2
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
s=Let's Talk
t=0 0
c=IN IP4 10.64.1.1
m=audio 49170 RTP/AVP 0 3
6.54
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Metodi di SIP
Metodi di SIP
Risposte
Risposte SIP - Esempi
Informational
100 Trying
180 Ringing
181 Call forwarded
182 Queued
183 Session Progress
Success
200 OK
Redirection
Client Failure
300 Multiple Choices
301 Moved Perm.
302 Moved Temp.
380 Alternative Serv.
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Bad Method
415 Unsupp. Content
420 Bad Extensions
486 Busy Here
500 Server Error
501 Not Implemented
503 Unavailable
504 Timeout
Via, From, To, Call-ID, e CSeq sono
copiati esattamente dalla Richiesta.
z To e From NON SONO INVERTITI!
z
600 Busy Everwhere
603 Decline
604 Doesn’t exist
606 Not Acceptable
Server Failure
Lezione 1.8, v. 1.2
SIP/2.0 200 OK
Via: SIP/2.0/UDP host.wcom.com:5060
From: Alan Johnston
<sip:[email protected]>
To: Jean Luc Picard
<sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Global Failure 6.55
Lezione 1.8, v. 1.2
6.56
R. Bolla Telematica 2, n. o.
Metodi di SIP
Risposte SIP - Esempi
Richieste e Risposte SIP - Esempi
INVITE sip:[email protected] SIP/2.0
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
CSeq: 42 INVITE
Content-Type: application/sdp
v=0
o=user1 536 2337 IN IP4 h3.wonderland.com
c=IN IP4 h3.wonderland.com
m=audio 3456 RTP/AVP 0 1
m=video 4000 RTP/AVP 38 39
SIP/2.0 200 OK
Via: SIP/2.0/UDP host.wcom.com
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 107
Descrizione
della
sessione
(SDP)
R. Bolla Telematica 2, n. o.
Metodi di SIP
v=0
o=picard 124333 67895 IN IP4 uunet.com
s=Engage!
t=0 0
c=IN IP4 11.234.2.1
m=audio 3456 RTP/AVP 0
[email protected]
Lezione 1.8, v. 1.2
6.57
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Metodi di SIP
SIP non prevede meccanismi per la
negoziazione dei media
SIP non sempre utilizza tutti i campi
dell’SDP
– Version (v), Subject (s) e Time (t) non sono
utilizzati.
Dopo l’instaurazione della connessione
ulteriori negoziazioni dei media possono
avvenire in fase di modifica della sessione.
z Le capacità descrittive dell’SDP sono
limitate
z
» SIP è più semplice e veloce da elaborare.
L’offerta dei media viene fatta nell’INVITE dal
chiamante, il chiamato specifica la sua scelta
nel messaggio 200 OK
– l’offerta può essere chiesta al chiamato non
specificando niente nell’INVITE.
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
z
– per tale scopo si utilizza SDP;
– recenti proposte hanno suggerito l’utilizzo di
XML
z
bob accetta
l’audio ma
rifiuta il video
SIP/SDP
Negoziazione dei media
z
chiama
[email protected]
SIP/2.0 200 OK
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
CSeq: 42 INVITE
Content-Type: application/sdp
v=0
o=user1 535 687637 IN IP4 m.macrosoft.com
c=IN IP4 h3.wonderland.com
m=audio 1200 RTP/AVP 0 1
m=video 0 RTP/AVP
6.58
– la successiva versione (SDPng) avrà più
avanzate capacità descrittive e di negoziazione.
6.59
Lezione 1.8, v. 1.2
6.60
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Metodi di SIP
Metodi di SIP
Instradamento delle risposte
Instradamento delle risposte
z
z
Le Richieste SIP sono instradate tramite le URL.
Le Risposte SIP vengono inviate sullo stesso
percorso a ritroso
[email protected]
INVITE
Via: a.example.com
Alcuni proxy dovrebbero rimanere nel percorso
delle Richieste
– firewall, proxy anonimizzatori, proxy per gw PSTN;
– è possibile memorizzare il percorso di INVITE con
Record-Route e forzarlo sulle successive Richieste con
Route.
Lezione 1.8, v. 1.2
6.61
Via: a.example.com
Via: y1.yahoo.com
Via: a.example.com
Via: a.example.com
Via: a.example.com
Via: y1.yahoo.com
Via: y1.yahoo.com
Via: y1.yahoo.com
Via: sip.columbia.edu
Via: sip.columbia.edu
Via: sip.columbia.edu
Via: cs.columbia.edu
200 OK
Via: a.example.com
[email protected]
Via:
y1.yahoo.com
[email protected]
Via: sip.columbia.edu
Via: cs.columbia.edu
6.62
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Modifica della sessione
z
[email protected]
Via: a.example.com
Via: y1.yahoo.com
Via: a.example.com
– senza mantenere uno stato nei proxy;
– utilizzando l’informazione in “Via:”.
z
[email protected]
R. Bolla Telematica 2, n. o.
Modifica della sessione
Una volta instaurata,una sessione può
essere modificata da una nuova sequenza
INVITE/OK/ACK (re-INVITE)
– può essere effettuata solo dopo l’ACK della
fase iniziale;
– deve avere gli stessi “From:” “To:” e “CallID:” dell’INVITE originale;
– se la re-INVITE fallisce o non viene accettata, la
sessione SDP originale rimane valida fino al
termine della sessione.
Lezione 1.8, v. 1.2
6.63
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
180 Ringing
200 OK sdp2
200 OK sdp2
ACK
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
180 Ringing
200 OK sdp2
200 OK sdp2
ACK
ACK
MEDIA
MEDIA
INVITE sdp2’
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
180 Ringing
200 OK sdp2
200 OK sdp2
ACK
ACK
MEDIA
MEDIA
INVITE sdp2’
INVITE sdp2’
405 Not Acceptable
405 Not Acceptable
ACK
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
180 Ringing
200 OK sdp2
200 OK sdp2
ACK
ACK
MEDIA
MEDIA
INVITE sdp2’
INVITE sdp2’
405 Not Acceptable
405 Not Acceptable
ACK
ACK
INVITE sdp2’’
INVITE sdp2’’
200 OK sdp1’’
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
6.64
R. Bolla Telematica 2, n. o.
Modifica della sessione
R. Bolla Telematica 2, n. o.
Modifica della sessione
INVITE sdp1
INVITE sdp1
180 Ringing
180 Ringing
200 OK sdp2
200 OK sdp2
ACK
ACK
MEDIA
MEDIA
INVITE sdp2’
INVITE sdp2’
405 Not Acceptable
405 Not Acceptable
ACK
ACK
INVITE sdp2’’
INVITE sdp2’’
200 OK sdp1’’
ACK
200 OK sdp1’’
ACK
NUOVA SESSIONE MEDIA
Lezione 1.8, v. 1.2
6.64
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Termine e Cancellazione della sessione
z
6.64
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
Termine della sessione
– avviene a sessione attiva;
– invio di BYE con riferimento alla sessione
attiva.
z
Cancellazione della sessione
– la chiamata viene terminata prima
dell’instaurazione della sessione
» per es. se utente non risponde;
– la cancellazione avviene hop-by-hop con l’invio
di CANCEL.
Lezione 1.8, v. 1.2
6.65
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
INVITE
Lezione 1.8, v. 1.2
6.66
INVITE
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
Lezione 1.8, v. 1.2
6.66
INVITE
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
Lezione 1.8, v. 1.2
INVITE
100 Trying
INVITE
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
6.66
Lezione 1.8, v. 1.2
INVITE
100 Trying
INVITE
180 Ringing
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
100 Trying
180 Ringing
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
Lezione 1.8, v. 1.2
6.66
INVITE
100 Trying
180 Ringing
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
180 Ringing
INVITE
100 Trying
180 Ringing
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
INVITE
100 Trying
180 Ringing
6.66
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
180 Ringing
CANCEL
200 OK
Lezione 1.8, v. 1.2
INVITE
180 Ringing
CANCEL
200 OK
Lezione 1.8, v. 1.2
INVITE
100 Trying
INVITE
180 Ringing
INVITE
100 Trying
180 Ringing
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
6.66
Lezione 1.8, v. 1.2
INVITE
100 Trying
180 Ringing
INVITE
180 Ringing
CANCEL
200 OK
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
Lezione 1.8, v. 1.2
6.66
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
CANCEL
200 OK
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
180 Ringing
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
200 OK
487 Request Cancelled
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
INVITE
180 Ringing
CANCEL
200 OK
487 Request Cancelled
ACK
Lezione 1.8, v. 1.2
6.66
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
487 Request Cancelled
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
200 OK
487 Request Cancelled
ACK
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
487 Request Cancelled
ACK
6.66
Lezione 1.8, v. 1.2
INVITE
180 Ringing
CANCEL
200 OK
487 Request Cancelled
ACK
6.66
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
180 Ringing
CANCEL
200 OK
487 Request Cancelled
INVITE
100 Trying
R. Bolla Telematica 2, n. o.
Cancellazione della sessione
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
200 OK
CANCEL
200 OK
487 Request Cancelled
ACK
487 Request Cancelled
ACK
Lezione 1.8, v. 1.2
6.66
487 Request Cancelled
ACK
INVITE
100 Trying
INVITE
180 Ringing
180 Ringing
CANCEL
200 OK
CANCEL
200 OK
487 Request Cancelled
487 Request Cancelled
ACK
Lezione 1.8, v. 1.2
6.66
R. Bolla Telematica 2, n. o.
Segnalazione durante la sessione
z
ACK
R. Bolla Telematica 2, n. o.
Metodo REFER
Midcall Signaling
– consiste in segnalazione tra due endpoint che non
cambia i parametri della sessione;
– utilizzo il metodo INFO.
z
Call Control
– nell’architettura SIP il controllo delle comunicazioni
viene effettuato end-to-end;
– la possibilità di controllare la chiamata da una terza parte
può essere utile:
» per es. centri di distribuzione chiamate agli utenti;
– due possibilità di effettuare il controllo
» riceve la richiesta e inizia una nuova sessione con la terza parte;
» utilizzo del metodo REFER per instaurare la nuova connessione.
Lezione 1.8, v. 1.2
6.67
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
Lezione 1.8, v. 1.2
INVITE
100 Trying
6.68
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
Lezione 1.8, v. 1.2
INVITE
100 Trying
180 Ringing
200 OK
6.68
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
200 OK
ACK
Lezione 1.8, v. 1.2
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
6.68
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
REFER Refer-To:
REFER Refer-To:
OK
6.68
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
REFER Refer-To:
OK
REFER Refer-To:
OK
INVITE
INVITE
Lezione 1.8, v. 1.2
6.68
BYE
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
REFER Refer-To:
OK
REFER Refer-To:
OK
INVITE
180 Ringing
BYE
OK
Lezione 1.8, v. 1.2
6.68
BYE
OK
Lezione 1.8, v. 1.2
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
180 Ringing
200 OK
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Metodo REFER
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
REFER Refer-To:
OK
REFER Refer-To:
OK
INVITE
180 Ringing
BYE
OK
200 OK
ACK
6.68
Lezione 1.8, v. 1.2
BYE
OK
6.68
R. Bolla Telematica 2, n. o.
Metodo REFER
R. Bolla Telematica 2, n. o.
Qualità del servizio
z
INVITE
100 Trying
180 Ringing
200 OK
ACK
Sessione
– Early Media, per poter inserire SDP nel messaggio “183
Session Progress”;
– Reliable Provisional Responses, permette di rilevare la
perdita di alcuni messaggi (ad es. un Provisional
Response ACK –PRACK- viene inviato in risposta al
messaggio 183);
– il metodo COMET (preCOnditions MET), che conferma
la disponibilità dei prerequisisti di QoS.
REFER Refer-To:
OK
INVITE
180 Ringing
BYE
OK
200 OK
ACK
Lezione 1.8, v. 1.2
Sessione
La gestione della qualità del servizio richiede tre
estensioni a SIP
z
La QoS può essere gestita tramite
– RSVP nel caso di IntServ;
– campo TOS con DiffServ.
6.68
Lezione 1.8, v. 1.2
6.69
R. Bolla Telematica 2, n. o.
Qualità del servizio
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
Lezione 1.8, v. 1.2
6.70
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
6.70
Lezione 1.8, v. 1.2
INVITE
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
Lezione 1.8, v. 1.2
6.70
INVITE
100 Trying
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
Lezione 1.8, v. 1.2
6.70
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
Lezione 1.8, v. 1.2
INVITE
100 Trying
y g
183 Session Progress
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
183 Session Progress
6.70
Lezione 1.8, v. 1.2
INVITE
100 Trying
183 Session Progress
INVITE
100 Trying
y g
183 Session Progress
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
183 Session Progress
g
PRACK
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
183 Session Progress
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
Lezione 1.8, v. 1.2
183 Session Progress
g
PRACK
6.70
INVITE
100 Trying
183 Session Progress
PRACK
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
183 Session Progress
g
PRACK
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
183 Session Progress
PRACK
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
183 Session Progress
g
PRACK
PRACK
Lezione 1.8, v. 1.2
6.70
INVITE
100 Trying
183 Session Progress
PRACK
183 Session Progress
g
PRACK
PRACK
200 OK
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
183 Session Progress
PRACK
200 OK
Lezione 1.8, v. 1.2
INVITE
100 Trying
y g
183 Session Progress
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
6.70
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
Lezione 1.8, v. 1.2
PRACK
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
PRACK
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
PRACK
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
COMET
Lezione 1.8, v. 1.2
6.70
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
PRACK
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
Lezione 1.8, v. 1.2
6.70
INVITE
100 Trying
PRACK
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
Lezione 1.8, v. 1.2
PRACK
PRACK
200 OK
COMET
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
y g
183 Session Progress
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
COMET
200 OK
INVITE
100 Trying
PRACK
200 OK
6.70
Lezione 1.8, v. 1.2
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
COMET
200 OK
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
Qualità del servizio
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
PRACK
200 OK
200 OK
R. Bolla Telematica 2, n. o.
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
Lezione 1.8, v. 1.2
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
COMET
200 OK
INVITE
100 Trying
PRACK
200 OK
200 OK
6.70
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
200 OK
PRACK
200 OK
180 Ringing
6.70
R. Bolla Telematica 2, n. o.
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
COMET
200 OK
180 Ringing
200 OK
180 Ringing
6.70
PRACK
200 OK
180 Ringing
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
200 OK
180 Ringing
Lezione 1.8, v. 1.2
PRACK
200 OK
180 Ringing
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
COMET
200 OK
180 Ringing
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
COMET
200 OK
180 Ringing
Qualità del servizio
Lezione 1.8, v. 1.2
INVITE
100 Trying
PRACK
200 OK
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
y g
183 Session Progress
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
COMET
200 OK
180 Ringing
200 OK
200 OK
180 Ringing
6.70
INVITE
100 Trying
Lezione 1.8, v. 1.2
PRACK
200 OK
180 Ringing
200 OK
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
COMET
200 OK
180 Ringing
200 OK
6.70
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
Qualità del servizio
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
200 OK
180 Ringing
200 OK
R. Bolla Telematica 2, n. o.
PRACK
200 OK
180 Ringing
200 OK
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
PRACK
COMET
COMET
200 OK
180 Ringing
200 OK
Lezione 1.8, v. 1.2
INVITE
100 Trying
200 OK
180 Ringing
200 OK
200 OK
180 Ringing
200 OK
ACK
6.70
INVITE
100 Trying
INVITE
100 Trying
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
200 OK
180 Ringing
200 OK
ACK
6.70
R. Bolla Telematica 2, n. o.
PRACK
200 OK
180 Ringing
200 OK
INVITE
100 Trying
INVITE
100 Trying
y g
183 Session Progress
PRACK
200 OK
INVITE
100 Trying
183 Session Progress
g
PRACK
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
COMET
COMET
200 OK
180 Ringing
200 OK
200 OK
180 Ringing
200 OK
ACK
ACK
Lezione 1.8, v. 1.2
6.70
PRACK
COMET
200 OK
180 Ringing
200 OK
ACK
ACK
INVITE
100 Trying
183 Session Progress
200 OK
200 OK
QoS SETUP
COMET
Lezione 1.8, v. 1.2
6.70
R. Bolla Telematica 2, n. o.
Le funzioni di SIP
183 Session Progress
g
PRACK
200 OK
180 Ringing
200 OK
ACK
PRACK
200 OK
Lezione 1.8, v. 1.2
z
COMET
INVITE
100 Trying
y g
183 Session Progress
200 OK
180 Ringing
200 OK
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
COMET
200 OK
180 Ringing
200 OK
Qualità del servizio
183 Session Progress
g
PRACK
COMET
PRACK
200 OK
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Qualità del servizio
INVITE
100 Trying
y g
183 Session Progress
PRACK
INVITE
100 Trying
y g
183 Session Progress
COMET
200 OK
180 Ringing
200 OK
ACK
ACK
Risoluzione degli indirizzi.
Funzioni relative ad una sessione
– instaurazione, modifica, termine e cancellazione della
sessione,
– negoziazione dei media,
– segnalazione durante la chiamata,
– controllo della chiamata,
– instaurazione di chiamate con QoS.
PRACK
200 OK
200 OK
180 Ringing
200 OK
Sessione con QoS
z
z
Funzioni non relative ad una sessione
–
–
–
–
6.70
mobilità,
trasporto di messaggi,
notifica di eventi,
autenticazione.
Lezione 1.8, v. 1.2
6.71
R. Bolla Telematica 2, n. o.
Mobilità in SIP
z
z
Mobilità in SIP
La mobilità degli utenti è permessa grazie alla
registrazione.
Il processo di registrazione è simile a quanto
avviene nelle reti cellulari
Registrar server
Telefono ufficio
– con SIP, però, si registrano gli utenti invece dei
terminali.
z
R. Bolla Telematica 2, n. o.
Location server
Telefono casa
La registrazione avviene con il metodo REGISTER
– il terminale in questione non deve implementare
necessariamente SIP (PSTN)
» in questo caso per la registrazione si utilizzano altri sistemi
(web, email. meccanismi automatici a tempo);
– il protocollo per la registrazione verso il location server
non è SIP.
Lezione 1.8, v. 1.2
6.72
Lezione 1.8, v. 1.2
6.73
R. Bolla Telematica 2, n. o.
Mobilità in SIP
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Registrar server
Telefono ufficio
Location server
Registrar server
Telefono ufficio
REGISTER
REGISTER
Telefono casa
Update
Telefono casa
Lezione 1.8, v. 1.2
6.73
Lezione 1.8, v. 1.2
6.73
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Registrar server
REGISTER
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Telefono ufficio
Telefono casa
Location server
Location server
Registrar server
Telefono ufficio
REGISTER
Update
Response
Telefono casa
200 OK
6.73
Lezione 1.8, v. 1.2
Location server
Update
Response
6.73
R. Bolla Telematica 2, n. o.
Mobilità in SIP
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Registrar server
Telefono ufficio
REGISTER
Location server
REGISTER
Update
Response
Telefono casa
200 OK
Registrar server
Telefono ufficio
Update
Response
Telefono casa
200 OK
REGISTER
Location server
REGISTER
Update
Lezione 1.8, v. 1.2
6.73
Lezione 1.8, v. 1.2
6.73
R. Bolla Telematica 2, n. o.
Mobilità in SIP
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Registrar server
Telefono ufficio
REGISTER
Telefono casa
200 OK
Location server
REGISTER
Update
Response
Telefono casa
200 OK
REGISTER
Location server
Update
Response
REGISTER
Update
Response
Lezione 1.8, v. 1.2
200 OK
6.73
Update
Response
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Mobilità in SIP
6.73
R. Bolla Telematica 2, n. o.
Mobilità in SIP
REGISTER sip:registrar.unige.it SIP/2.0
Via: SIP/2.0/UDP 208.251.99.12:5069
To: Utente A <sip:[email protected]>
From: Utente A <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 REGISTER
Contact: <sip:[email protected]>;class=personal
Contact: <sip:[email protected];feature=voicemail
Contact: <sip:[email protected];user=phone>;class=business
Contact: <sip:[email protected];user=phone>;mobility=mobile
Contact: <tel:+39010444444>
Contact: mailto:[email protected]
Content-Length: 0
Lezione 1.8, v. 1.2
Registrar server
Telefono ufficio
REGISTER sip:registrar.unige.it SIP/2.0
Via: SIP/2.0/UDP 208.251.99.12:5069
To: Utente A <sip:[email protected]>
From: Utente A <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 REGISTER
Contact: <sip:[email protected]>;class=personal
Contact: <sip:[email protected];feature=voicemail
Contact: <sip:[email protected];user=phone>;class=business
Contact: <sip:[email protected];user=phone>;mobility=mobile
Contact: <tel:+39010444444>
Estensioni
parametriche a Contact
Contact:
mailto:[email protected]
(User Preferences).
Content-Length:
0 Permettono ad un
client di ottenere informazioni relative
al device identificato dall’URL.
6.74
Lezione 1.8, v. 1.2
6.74
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Mobilità in SIP
Trasporto di messaggi
In genere gli indirizzi vengono provati in
ordine.
REGISTER sip:registrar.unige.it SIP/2.0
Il client può specificare preferenze sul
Via: SIP/2.0/UDP 208.251.99.12:5069
tipo di indirizzo da ricevere o da evitare.
To: Utente A <sip:[email protected]>
From: Utente A <sip:[email protected]>
Il client può anche esprimere la preferenza
Call-ID: [email protected]
circa una ricerca sequenziale o parallela.
CSeq: 1 REGISTER
Contact: <sip:[email protected]>;class=personal
Contact: <sip:[email protected];feature=voicemail
Contact: <sip:[email protected];user=phone>;class=business
Contact: <sip:[email protected];user=phone>;mobility=mobile
Contact: <tel:+39010444444>
Contact: mailto:[email protected]
Content-Length: 0
Lezione 1.8, v. 1.2
6.74
z
z
z
Il metodo MESSAGE consente di recapitare un messaggio
al destinatario di una URI senza instaurare una sessione.
Si utilizzano URI di tipo im anziché sip.
Una risposta “200 OK” deve essere generata dal ricevente.
MESSAGE im:[email protected] SIP/2.0
Via: SIP/2.0/UDP 130.251.1.99
To: matteo <im:[email protected]>
From: lelus <im:[email protected]>
Call-ID: [email protected]
CSeq: 1 MESSAGE
Content-Type: text/plain
Content-Length: 15
Ciao, come stai?
Lezione 1.8, v. 1.2
6.75
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
INVITE
486 Busy Here
L’utente è
occupato
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
486 Busy Here
INVITE
486 Busy Here
ACK
ACK
SUBSCRIBE
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
486 Busy Here
INVITE
486 Busy Here
ACK
ACK
SUBSCRIBE
200 OK
L’utente si
libera
SUBSCRIBE
200 OK
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
486 Busy Here
INVITE
486 Busy Here
ACK
ACK
SUBSCRIBE
200 OK
SUBSCRIBE
200 OK
NOTIFY
NOTIFY
200 OK
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
486 Busy Here
INVITE
486 Busy Here
ACK
ACK
SUBSCRIBE
200 OK
SUBSCRIBE
200 OK
NOTIFY
NOTIFY
200 OK
200 OK
INVITE
INVITE
200 OK
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
6.76
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
INVITE
486 Busy Here
INVITE
486 Busy Here
ACK
ACK
SUBSCRIBE
200 OK
SUBSCRIBE
200 OK
NOTIFY
NOTIFY
200 OK
200 OK
INVITE
INVITE
200 OK
ACK
200 OK
ACK
SESSIONE
Lezione 1.8, v. 1.2
6.76
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
Sottoscrizione di eventi e notifiche
SUBSCRIBE: sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 130.251.1.77
To: lelus <sip:[email protected]>
From: matteo <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 SUBSCRIBE
Event: Available
Content-Length: 0
Notifica
Lezione 1.8, v. 1.2
NOTIFY: sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 130.251.15.7
To: matteo <sip:[email protected]>
From: lelus <sip:[email protected]>
Call-ID: [email protected]
CSeq: 5 NOTIFY
Event: Available
Content-Length: 0
6.76
R. Bolla Telematica 2, n. o.
Sicurezza
z
Sottoscrizione
SIP prevede tre meccanismi di sicurezza
delle comunicazioni
– autenticazione;
– riservatezza;
– firma elettronica.
6.77
Lezione 1.8, v. 1.2
6.78
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Sicurezza
Sicurezza
Autenticazione
Autenticazione
z
L’autenticazione può essere rivolta da un client a:
z
– un proxy (proxy-authentication),
» utile, ad es. per controllare l’accesso ad un gateway verso PSTN;
– un altro endpoint.
z
z
L’autenticazione consiste in un MD5 del
digest fornito nel challenge e di una
combinazione di username/password
– il digest viene restituito in una response;
– l’MD5 non è tra gli algoritmi migliori
I meccanismi di autenticazione derivano dal quelli
in uso per HTTP.
Diversi tipi di autenticazione:
» il livello di sicurezza è adeguato all’applicazione,
» il tempo necessario per violarlo è superiore al tempo
utile dell’informazione.
– Basic, password passata in chiaro;
– Digest, si basa su un meccanismo challenge/response con
un segreto condiviso
» username e password;
– Certificate;
– SSL, SSH, solo per TCP.
Lezione 1.8, v. 1.2
6.79
Lezione 1.8, v. 1.2
6.80
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Sicurezza
Sicurezza
Autenticazione
Autenticazione
INVITE
Lezione 1.8, v. 1.2
6.81
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
Lezione 1.8, v. 1.2
INVITE
407 Proxy Auth. Req.
ACK
6.81
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxy Auth.
INVITE + Proxy Auth.
Lezione 1.8, v. 1.2
6.81
INVITE
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
Lezione 1.8, v. 1.2
6.81
INVITE
401 Unauthorized
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
Lezione 1.8, v. 1.2
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
401 Unauthorized
6.81
Lezione 1.8, v. 1.2
INVITE
401 Unauthorized
ACK
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
401 Unauthorized
ACK
ACK
INVITE
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
Lezione 1.8, v. 1.2
6.81
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
ACK
401 Unauthorized
ACK
INVITE + Auth.
INVITE + P. Auth. + Auth.
Trying
Lezione 1.8, v. 1.2
6.81
INVITE
401 Unauthorized
ACK
INVITE + Auth.
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
Trying
Lezione 1.8, v. 1.2
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
ACK
401 Unauthorized
ACK
INVITE + Auth.
Ringing
INVITE + P. Auth. + Auth.
Trying
Ringing
6.81
Lezione 1.8, v. 1.2
INVITE
401 Unauthorized
ACK
INVITE + Auth.
Ringing
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
Trying
Ringing
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
ACK
401 Unauthorized
ACK
INVITE + Auth.
Ringing
INVITE + P. Auth. + Auth.
Trying
Ringing
200 OK
Lezione 1.8, v. 1.2
200 OK
6.81
INVITE
401 Unauthorized
ACK
INVITE + Auth.
Ringing
200 OK
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Autenticazione
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
Trying
Ringing
200 OK
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
INVITE
401 Unauthorized
ACK
401 Unauthorized
ACK
INVITE + Auth.
Ringing
INVITE + P. Auth. + Auth.
Trying
Ringing
200 OK
200 OK
ACK
ACK
Lezione 1.8, v. 1.2
6.81
INVITE
401 Unauthorized
ACK
INVITE + Auth.
Ringing
200 OK
ACK
Lezione 1.8, v. 1.2
6.81
R. Bolla Telematica 2, n. o.
Sicurezza
R. Bolla Telematica 2, n. o.
Sicurezza
Autenticazione
Cifratura
INVITE
407 Proxy Auth. Req.
ACK
INVITE + Proxyy Auth.
Trying
401 Unauthorized
ACK
INVITE + P. Auth. + Auth.
Trying
Ringing
200 OK
ACK
z
La cifratura SIP assume due forme:
– hop by hop: l’intero pacchetto viene cifrato
INVITE
ACK
» IPSec, TLS;
» non è necessario un supporto SIP per questa
cifratura;
INVITE + Auth.
Ringing
– end-to-end: il messaggio SIP è parzialmente
cifrato
401 Unauthorized
» non tutti i campi possono essere cifrati (proxy
intermedi);
» per la cifratura si può usare per es. PGP.
200 OK
ACK
Sessione autenticata
Lezione 1.8, v. 1.2
6.81
Lezione 1.8, v. 1.2
6.82
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
z
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
NAT
L’utilizzo di SIP, come H.323, deve
risolvere tutta una serie di problematiche
connesse con l’utilizzo di dispositivi di
sicurezza
z
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.16.8.1:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
– NAT;
– firewall.
Lezione 1.8, v. 1.2
L’indirizzo IP appare in diversi campi dei
pacchetti SIP:
6.83
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
c=IN IP4 192.16.8.1
m=audio 49170 RTP/AVP 0 3
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
SIP e sicurezza delle reti
NAT
NAT
z
L’indirizzo IP appare in diversi campi dei
pacchetti SIP:
z
L’indirizzo IP appare in diversi campi dei
pacchetti SIP:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.16.8.1:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.16.8.1:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
c=IN IP4 192.16.8.1
m=audio 49170 RTP/AVP 0 3
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
c=IN IP4 192.16.8.1
m=audio 49170 RTP/AVP 0 3
Lezione 1.8, v. 1.2
6.84
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
NAT
NAT
L’indirizzo IP appare in diversi campi dei
pacchetti SIP:
z
L’indirizzo IP appare in diversi campi dei
pacchetti SIP:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.16.8.1:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.16.8.1:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
c=IN IP4 192.16.8.1
m=audio 49170 RTP/AVP 0 3
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
c=IN IP4 192.16.8.1
m=audio 49170 RTP/AVP 0 3
Lezione 1.8, v. 1.2
6.84
6.84
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
z
6.84
Lezione 1.8, v. 1.2
6.84
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
SIP e sicurezza delle reti
NAT - Problemi
NAT - Soluzioni
z
La presenza del NAT comporta una serie di
problematiche dovute alla sostituzione degli
indirizzi IP:
z
– un proxy che si accorge della sostituzione, inserisce il
nuovo indirizzo IP nell’intestazione Via:, in modo che
il pacchetto possa tornare correttamente al chiamante
attraverso il NAT
– la risposta alla richiesta non può essere instradata
verso chi l’ha originata (Via:);
– eventuali richieste future da parte del chiamato non
potranno raggiungere il chiamante (Contact:);
– i pacchetti RTP inviati dal chiamato non
raggiungeranno il chiamante (parametro “c” in SDP).
z
» è necessario che il NAT mantenga un’assegnazione statica
degli indirizzi per tutta la durata della sessione
9 usando TCP questo non rappresenta un requisito critico;
– utilizzo di una connessione TCP permanente per tutta
la durata della connessione, per le eventuali richieste
da parte del chiamato;
– utilizzo di un flusso RTP simmetrico (il chiamato
ignora le informazioni SDP).
Anche i numeri delle porte (5060 e 49170)
potrebbero essere cambiate dal NAT,
impedendo il corretto scambio di
segnalazione/media.
Lezione 1.8, v. 1.2
Possibili soluzioni:
6.85
Lezione 1.8, v. 1.2
6.86
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
SIP e sicurezza delle reti
Firewall - Problemi
Firewall - Soluzioni
z
L’interazione di SIP con i firewall dipende
dal protocollo di trasporto utilizzato:
z
– l’ALG è un proxy SIP/RTP ritenuto affidabile
dal firewall
– UDP:
» esegue autenticazioni, validazioni, tariffazioni, …;
» le richieste possono essere inviate all’esterno, ma le
risposte non possono essere ricevute,
» non si possono ricevere chiamate da host esterni,
» non si possono ricevere flussi RTP;
– il firewall lascia passare solo i pacchetti SIP e
RTP diretti/provenienti dall’ALG;
– l’ALG funziona anche con i NAT
– TCP:
» gli indirizzi IP nei messaggi SIP sono sostituiti;
» è possibile ricevere le risposte alle richieste inviate
(utilizzando la stessa connessione TCP),
» non si possono ricevere chiamate da host esterni,
» non si possono ricevere flussi RTP.
Lezione 1.8, v. 1.2
ALG (Application Level Gateway)
– l’ALG si trova di solito nella DMZ;
– non sono necessarie modifiche dinamiche nelle
politiche di sicurezza del firewall.
6.87
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
SIP e sicurezza delle reti
Firewall - Soluzioni
Intermediari di sicurezza
z
Firewall proxy
z
– comunica con il firewall/NAT;
– esegue autenticazione, autorizzazione, ecc;
– permette l’invio diretto dei media tra gli endpoint:
Gli intermediari di sicurezza (ALG, firewall
proxy) devono essere sempre attraversati dalla
segnalazione
– l’URL dell’utente deve essere risolta all’indirizzo IP
dell’intermediario;
– la segnalazione deve utilizzare l’opzione Record-Route
per registrare l’intermediario da attraversare.
» ricava gli indirizzi IP/porte UDP del flusso RTP dai messaggi
SIP,
» apre le corrispondenti porte sul firewall,
» mantiene traccia delle sostituzioni NAT e modifica di
conseguenza l’SDP;
z
– alla chiusura della sessione (BYE) il firewall proxy
richiude le porte sul firewall e rimuove l’associazione
del NAT;
– il protocollo di comunicazione tra il firewall proxy ed il
firewall non è ancora standardizzato (MidCom IETF).
Lezione 1.8, v. 1.2
6.88
z
6.89
SIP prevede l’utilizzo delle opzioni Record-Route e
Route per memorizzare i proxy da attraversare e
forzare il percorso ai successivi messaggi.
Gli intermediari di sicurezza devono essere
impostati come default outbound proxy per tutte
richieste in uscita.
Lezione 1.8, v. 1.2
6.90
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Proxy
Server B
UA2
Proxy
Server A
UA1
Proxy
Server B
UA2
INVITE
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
INVITE
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Proxy
Server B
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
100 Trying
Lezione 1.8, v. 1.2
6.91
Proxy
Server B
INVITE
Record-Route: Proxy A
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Proxy
Server A
INVITE
100 Trying
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
UA1
UA2
Proxy
Server B
INVITE
Record-Route: Proxy A
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
100 Trying
6.91
Lezione 1.8, v. 1.2
Proxy
Server B
INVITE
Record-Route: Proxy A
100 Trying
UA2
INVITE
Record-Route: Proxy A
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
INVITE
100 Trying
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Proxy
Server B
INVITE
Record-Route: Proxy A
100 Trying
UA2
INVITE
100 Trying
INVITE
Record-Route: Proxy A
180 Ringing
Lezione 1.8, v. 1.2
Proxy
Server A
UA1
Proxy
Server B
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
6.91
6.91
Record-Route
Proxy
Server A
INVITE
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
UA1
INVITE
Record-Route: Proxy A
180 Ringing
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
UA2
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
180 Ringing
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
UA2
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
INVITE
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
6.91
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
Lezione 1.8, v. 1.2
UA2
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Proxy
Server B
INVITE
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
UA2
Proxy
Server A
UA1
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
ACK Route: UA2
Proxy
Server B
INVITE
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
Record-Route
Proxy
Server A
INVITE
200 OK
Record-Route: Proxy A
SIP e sicurezza delle reti
Record-Route
UA1
INVITE
Record-Route: Proxy A
180 Ringing
ACK
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
UA2
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
ACK
UA2
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
ACK
Sessione
Sessione
BYE Route: UA1
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Record-Route
Record-Route
Proxy
Server A
UA1
INVITE
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Proxy
Server B
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
UA2
Proxy
Server A
UA1
INVITE
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
ACK
Sessione
BYE
Proxy
Server B
UA2
INVITE
Record-Route: Proxy A
180 Ringing
200 OK
Record-Route: Proxy A
ACK
Sessione
BYE Route: UA1
BYE
BYE Route: UA1
200 OK
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.91
R. Bolla Telematica 2, n. o.
SIP e sicurezza delle reti
Privacy
Record-Route
Proxy
Server A
UA1
R. Bolla Telematica 2, n. o.
Proxy
Server B
INVITE
100 Trying
INVITE
Record-Route: Proxy A
100 Trying
180 Ringing
180 Ringing
200 OK
Record-Route: Proxy A
200 OK
Record-Route: Proxy A
ACK Route: UA2
UA2
z
– blocco della visualizzazione del numero del chiamante;
– telefoni pubblici.
INVITE
Record-Route: Proxy A
180 Ringing
z
200 OK
Record-Route: Proxy A
z
Sessione
La privacy può essere assicurata in SIP utilizzando
un back-to-back user agent (B2BUA)
– funziona da “anonymizer” agendo come intermediario tra
i terminali remoti;
– ogni terminale invia(riceve) la segnalazione/media solo al
B2BUA.
BYE Route: UA1
200 OK
SIP non presenta intrinsecamente questa
caratteristica
– l’instaurazione di una sessione richiede lo scambio di dati
privati significativi (indirizzo IP).
ACK
BYE
La privacy è una caratteristica delle attuali reti PSTN
200 OK
Lezione 1.8, v. 1.2
6.91
Lezione 1.8, v. 1.2
6.92
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Creazione di nuovi servizi in SIP
Creazione di nuovi servizi in SIP
Nuovi metodi e intestazioni
z
L’architettura distribuita di SIP permette la
realizzazione di nuovi servizi e funzionalità da
parte degli utenti
z
I servizi possono risiedere
z
– call forwarding, integrazione con web o db.
Nuove funzionalità e servizi possono
essere implementati definendo nuove
intestazioni e metodi
– le proposte possono essere sottomesse all’IETF
per la standardizzazione.
– non richiedono il supporto dei server SIP
– nei server/proxy
» maggior affidabilità (presenza costante),
» necessità e limitazioni dovute al caricamento del software
» i proxy che ricevono richieste con metodi
sconosciuti le inoltrano.
– negli agenti chiamati
» maggiore libertà realizzativa,
» necessità di essere sempre registrati e “on-line”;
– negli agenti chiamanti
Lezione 1.8, v. 1.2
» è necessario che i server rispondano secondo determinati
schemi (es. redirect per un call forwarding).
6.93
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Creazione di nuovi servizi in SIP
Creazione di nuovi servizi in SIP
Realizzazione
Call Processing Language
z
Call Processing Language (CPL), IETF
Esempio di uno script per rifiutare le chiamate anonime:
– sviluppato per permettere ad utenti anonimi di
inserire i loro servizi su server SIP;
– basato su XML (eXtensible Markup Language);
– la struttura prevede l’utilizzo di “etichette”
(tag), in modo analogo all’HTML
<?xml version="1.0"?>
<!DOCTYPE cpl PUBLIC "-//IETF/DTD RFCxxxx CPL 1.0//EN"
"cpl.dtd">
» le etichette possono avere “attributi”;
Lezione 1.8, v. 1.2
6.94
6.95
<cpl>
<incoming>
<address-switch field="origin" subfield="user">
<address is="anonymous">
<reject status="reject"
reason="Non accetto chiamate anonime"
/>
</address>
</address-switch>
</incoming>
Lezione
1.8, v. 1.2
</cpl>
6.96
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Creazione di nuovi servizi in SIP
Creazione di nuovi servizi in SIP
Realizzazione
Realizzazione
z
SIP Common Gateway Interface (CGI)
z
» come linguaggi si possono utilizzare C, Perl, TCL,
ecc;
– buona parte del codice CGI HTTP può essere
riutilizzato;
– mantengono uno stato, in modo da poter
associare diverse richieste alla stessa sessione
SIP.
Lezione 1.8, v. 1.2
SIP Application Programming Interfaces (API)
– minor overhead, un processo esterno non deve essere
creato ogni volta;
– maggior semplicità per memorizzare stato e timer della
session;
– dipendono dal linguaggio utilizzato;
– SIP Java Servlets, JAIN.
– analogo al CGI dell’HTTP;
– rappresenta un’interfaccia, non un linguaggio
di programmazione
z
6.97
SIP e VoiceXML
– basato su XML;
– riproduce messaggi, riconosce input (tastiera e vocali),
elabora i risultati;
– non si relazione direttamente con SIP; uno script
VoiceXML può essere eseguito insieme ad uno script
CPL o CGI per implementare un servizio interattivo.
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Preferenze degli utenti
z
Preferenze degli utenti
La telefonia tradizionale PSTN non la possibilità
agli utenti di specificare come gestire le singole
chiamate
z
Ci sono due categorie di preferenze degli
utenti:
– preferenze del chiamante
– questo deriva in gran parte dall’architettura
centralizzata di questi sistemi.
z
» richieste al server su come cercare la destinazione:
proxy, cancel, fork, recurse, parallel, queue;
» come gestire le URL: parametri per decidere quali
URL accettare/rifiutare;
Nelle reti IP (SIP) l’intelligenza è decentralizzata
– è possibile gestire in modo scalabile le preferenze degli
utenti:
– preferenze del chiamato
» chiamare solo caselle vocali,
» decidere gli orari in cui ricevere determinati tipologie di
chiamate,
» specificare i terminali su cui essere chiamato solo in
determinate date/orari,
» abilitare le comunicazioni IM solo in riunione.
Lezione 1.8, v. 1.2
» sono generalmente invocate da un proxy che
gestisce la chiamata in arrivo;
» l’utente usa REGISTER per caricarle nel server
insieme ai servizi desiderati.
6.99
Lezione 1.8, v. 1.2
6.100
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Conferenze con SIP
Conferenze con SIP
z
Modelli di conferenza
Endpoint mixing
Le diverse architetture utilizzabili per le
conferenze con SIP possono essere distinte sulla
base:
Piccole conferenze (3-5 partecipanti).
Un endpoint gestisce la segnalazione
e la miscelazione dei media
– tale endpoint deve essere operativo
per tutta la durata della conferenza.
Server SIP e media distribuiti
z
z
scalabilità della conferenza;
flusso di informazioni per partecipare;
come e dove i media sono mandati e miscelati;
posizionamento della logica: endpoint o server.
Lezione 1.8, v. 1.2
z
PSTN
Ogni modello differisce dagli altri per quanto
riguarda:
–
–
–
–
z
Gateway
– della segnalazione necessaria per l’instaurazione della
conferenza;
– della modalità con cui i flussi di informazioni sono
trasportati e miscelati.
z
6.98
z
Il server SIP stabilisce una maglia
completa di flussi RTP tra tutti i
partecipanti.
Ogni partecipante miscela i flussi in
ingresso e invia il proprio a tutti gli
altri.
In genere poche stazioni trasmettono
contemporaneamente
– la miscelazione dei flussi richiede una
6.101
elaborazione
limitata.
Lezione 1.8,
v. 1.2
SIP
server
PSTN
Gateway
Media distribuiti
6.102
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Conferenze con SIP
Conferenze con SIP
Modelli di conferenza
Modelli di conferenza
Centralized conference
z Conferenze media dimensione
z Il conference bridge
– gestisce la segnalazione;
– riceve e miscela i flussi RTP;
– comprende il software applicativo per
AAA, controllo della controllo della
conferenza;
– invia il flusso dei media a tutti i
partecipanti.
PSTN
Conference
Bridge
z
PSTN
Gateway
Rete Multicast
Large multicast conference
Conferenze su larga scala (milioni di utenti).
z Gli utenti aderiscono ad un indirizzo
multicast annunciato sul web, via mail, o sono
invitati tramite SIP
z
La conferenza può essere:
– dial-in: i partecipanti si uniscono alla sessione attraverso il Conference
Bridge;
– ad-hoc: la conferenza nasce su invito a partire da una comunicazione tra
due terminali o da una conferenza Endpoint mixing, passando il controllo
al Conference Bridge.
6.103
Lezione 1.8, v. 1.2
– la segnalazione SIP non è strettamente richiesta.
Lezione 1.8, v. 1.2
6.104
R. Bolla Telematica 2, n. o.
R. Bolla Telematica 2, n. o.
Confronto SIP/H.323
Confronto SIP/H.323
Tabella delle caratteristiche
H.323
H.323
SIP
Architettura Stack/Centralizzata
z
Elementi/Distribuita
Origine
ITU
IETF
Trasporto
Principalmente TCP
Principalmente UDP
Codifica
Enfasi
ASN.1
Telefonia
Testuale, simile ad HTTP
Multimedialità
Indirizzi
Alias
URL sip
z
z
z
Lezione 1.8, v. 1.2
6.105
Maggiore complessità, utilizza
diversi protocolli per la
segnalazione.
La codifica ASN.1 è complessa
da gestire a livello di
programmazione.
Maggiori ritardi nel setup
delle comunicazioni.
Pensato per singole LAN.
SIP
z
z
z
z
Lezione 1.8, v. 1.2
R. Bolla Telematica 2, n. o.
H.323
z
z
Gatekeeper e gateway
possono essere intasati dalle
connessioni TCP.
Supporto per mobilità e
redirezionalità limitato.
Permette un ampio controllo
sulla conferenza (ad es.
registrando i partecipanti).
Lezione 1.8, v. 1.2
6.106
R. Bolla Telematica 2, n. o.
Coesistenza SIP/H.323
Confronto SIP/H.323
z
Un unico protocollo,
integrato con servizi già
esistenti.
La codifica testuale è molto
semplice da gestire a livello
di programmazione ed è
simile a quella di RTSP.
Semplicità nell’instaurazione
della connessione.
Progettato per l’utilizzo in
WAN.
z
SIP
z
z
z
I proxy stateless che
utilizzano UDP non devono
mantenere informazioni di
stato sulle connessioni attive.
Ampio supporto per la
mobilità dell’utente.
Non fornisce controlli
addizionali per la conferenza
oltre a quelli di base del
RTCP.
6.107
z
I terminali SIP e H.323 non possono comunicare
tra di loro.
La realizzazione di un gateway è abbastanza
semplice:
– necessita la traduzione dei soli flussi di segnalazione;
– i flussi di informazioni non hanno bisogno di
traduzione poiché si possono usare gli stessi codec.
z
I due protocolli possono coesistere su diversi
segmenti di una stessa connessione.
Lezione 1.8, v. 1.2
6.108