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