session initiation protocol (sip) - tti.unipa.it _reti_l.s/sip.pdf · sip 3 università di palermo...

65
Session Initiation Protocol (SIP)

Upload: phungcong

Post on 22-Oct-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 1

Universitàdi Palermo LA

SessionInitiationProtocol(SIP)

Page 2: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 2

Universitàdi Palermo LA

Outline

SIP functionality and architecture

Signalling generalities

Signalling in packet networks

SIP generalities

SIP components

SIP-T

SDP

Page 3: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 3

Universitàdi Palermo LA

Signalling generalities

La PSTN risale al 1876

Negli anni si è però evoluta ed arricchita di servizi

Fondamentalmente basata su una architettura a commutazione di circuito

Architettura della PSTN utilizza due piani funzionali distinti:

� Piano di trasporto a commutazione di circuito

� Piano di controllo

Piano di trasporto formato (oggi) da autocommutatori di livello 5 e di livello 4

Piano di controllo formato da un complesso di nodi e database

Il piano di controllo gestisce il comportamento degli autocommutatori

del piano di trasporto e fornisce tutti i servizi della PSTN

Page 4: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 4

Universitàdi Palermo LA

Architettura PSTN

STP

SCP

ServiceNode

Control plane

Transport plane

Page 5: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 5

Universitàdi Palermo LA

Next Generation Telephone Systems

Successiva generazione di sistemi telefonici basata sulle tecnologie di Internet

In Internet assenza di un vero e proprio piano di controllo

La rete Internet carica di molti problemi da risolvere

Sistemi telefonici di nuova generazione faranno uso

di reti private basate sulla tecnologia di Internet

Possibili per un periodo transitorio soluzioni miste

Page 6: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 6

Universitàdi Palermo LA

Problemi della VoIP

1. Trasporto della segnalazione di chiamata su una rete packet switching

2. Controllo della QoS

3. Costruzione di una rete PSTN/VoIP

Coesistenza per lungo periodo della PSTN e VoIP

Serve pur sempre un sistema di segnalazione

Internet è best effort ma in telefonia si vuole una garanzia di qualità

Anzi volendo fornire un complesso molto più ricco di servizi serve

un sistema di segnalazione dotato di più ampie potenzialità

Page 7: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 7

Universitàdi Palermo LA

Converged Network

SCP

ServiceNode Control plane

Transport plane

Residential/AccessGateway

STP

VoIP/PSTNGateway

Routed Data Network

VoIP Control Network

PVC

Dynamic, routed path

Trunk line

SS7 line

Other link

Page 8: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 8

Universitàdi Palermo LA

Signalling in packet networks

H.323(H.225/H.245)

SIP

Troppo complesso e pesante per essere scalabile

e non sufficientemente flessibile a adattabile

Semplice, flessibile e scalabile anche a

grandi scenarii

Si deve dire però che – a poco a poco – è diventatocomplesso quasi tanto quanto H.323

Page 9: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 9

Universitàdi Palermo LA

Architettura H.323

Page 10: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 10

Universitàdi Palermo LA

Confronto SIP-H.323

SIP H.323Un componente di un sistemadi comunicazioni

Una suite completa ed integratadi protocolli di comunicazione

Protocollo flessibile integrabilecon altri protocolli (IETF)

Sistema integrato e chiuso(ITU-T)

Progettato come protocollo di WAN Progettato come protocollo di LAN

Diversi concetti derivato da HTTP Componenti derivati da protocolliITU-T

Implementazione facile Implementazione complessa

Page 11: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 11

Universitàdi Palermo LA

SIP generalities

SIP è parte della Internet multimedia conferencing architecture, un set

di protocolli che possono essere usati per fornire servizi multimedia

Page 12: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 12

Universitàdi Palermo LA

SIP generalities (2)

L’edizione attuale di SIP è la 2.0, definita nella RFC 3261

la quale ha aggiornato la precedente RFC 2543

Molte altre RFC come la 3312 definiscono varie estensioni e dettagli

SIP opera a livello Sessione

SIP fa uso del paradigma client/server

SIP è basato su un modello di transazione

� Ha una struttura request-response

SIP è simile ad HTTP e condivide alcune delle sue idee progettuali:

� È leggibile dagli uomini

Page 13: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 13

Universitàdi Palermo LA

Layered Structure

Una transaction è una richiesta trasmessa da una client transactiona una server transaction, insieme a tutte le risposte a quella richiesta

trasmesse all’indietro dalla server transaction alla client transaction

SIP è un protocollo a strati, con tre layers

� Syntax ed Encoding layer

� Transaction layer

� Transport layer

SIP può utilizzare come protocollo di trasporto TCP, UDP o SCTP

Page 14: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 14

Universitàdi Palermo LA

Layered Structure (2)

Il transaction layer gestisce la ritrasmissione dell’application-layer,

l’abbinamento dei response alle request, e i timeout dell’application layer

Il transport layer definisce come un client invia delle request e riceve dei

response e come un server riceve delle request e invia response sulla rete

Il syntax ed encoding layer si trova al livello più basso della struttura di

SIP e il suo encoding è specificato con la BNF grammar

Ciascun elemento SIP contiene i due layer più bassi, mentre non tutti

contengono il transaction layer

Page 15: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 15

Universitàdi Palermo LA

Various features

SIP è un protocollo text based ed usa il set di caratteri UTF-8

che è uno dei tre formati di codifica UNICODE

Due tipi di messagi SIP:� Request� Response

Request inviati dai client ai server

Response inviati dai server ai client

I due tipi di messaggi vengono distinti tra loro in base alla struttura

della loro prima linea (start line)

Page 16: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 16

Universitàdi Palermo LA

Applicazione operante sul sistema terminale che contieneun UAC ed un UAS. Lo UAC invia le request SIP ed operacome agente di chiamata per l’utente. Lo UAS riceve lerequest e restituisce le response da parte dell’utente

SIP Logical Entities

AAA server

User Agent

Proxy server

Registrar server

Redirect server

Intermediario che agisce come Server e come Clientper servire le request presentate dai client o per inoltrarle

Locator server

Media server

Authentication, Authorization, e Accounting

Accetta le request SIP ed invia al client un response dideviazione contenente l’indirizzo del server successivo.Non viene coinvolto nelle successive fasi di segnalazione.

Consente ad un user di cambiare l’address a cui è

contattabile. Un client invia al Registar una request

Elabora le request (provenienti da redirect o proxyserver) per fornire informazione circa la posizione

Noti come Media Gateway e controllabili variamente

Page 17: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 17

Universitàdi Palermo LA

Proxy Server

Opera a beneficio degli UAC per facilitare l’instaurazione delle sessioni

Un proxy server può essere stateful o stateless

Se stateless è un semplice elemento per il forwarding

Se stateful

ST = Server TransactionCT = Client Transaction

Page 18: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 18

Universitàdi Palermo LA

Proxy Server

Redirect Server Location Service

1

2, 3

4 7

89

101112

Media Transport Protocol

5, 6

Proxy ServerProxy Server Proxy Server

Page 19: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 19

Universitàdi Palermo LA

Location Server

Database

UpdatesResponse

Query

Componente che frequentemente è soltanto logico

Riceve gli updates dal Registrar server

Scambia queries e responses con il registrar server

Page 20: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 20

Universitàdi Palermo LA

Registrar Server

SIP User Agent

Registrar Server

Location Server

Register RequestRegister ReplyNon-SIP Protocol

Page 21: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 21

Universitàdi Palermo LA

Redirect Server

Elemento usato quando il Proxy server riceve una richiesta di

connessione verso un host fuori dalla rete coperta

Redirect ServerSIP request

RedirectedURI

Page 22: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 22

Universitàdi Palermo LA

User Agent

Page 23: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 23

Universitàdi Palermo LA

Funzionalità di SIP

SIP supporta 5 funzioni fondamentali

� User location: Identificazione del sistema terminaleda usare per la comunicazione

� User availability: Determinazione della disponibilità della partechiamata ad accettare la comunicazione

� User capabilities e QoS: Determinazione dei media e dei valorida usare per i diversi parametri

� Session setup: Ringing, impostazione dei parametridi sessione ad entrambe le estremità

� Session management: Compreso il trasferimento e la chiusuradelle sessioni, la modifica dei parametridi sessione e la richiesta di servizi

Page 24: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 24

Universitàdi Palermo LA

SIP Logical Entities (2)

Componenti chiave: User Agent, Proxy server e Redirect server

Un physical device può avere le funzionalità di una o più logical entities

Frequentemente un Proxy server è anche Registrar, Locator e Media server

Page 25: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 25

Universitàdi Palermo LA

Architectural Model

PrivateIP Network

PublicIP Network

SIP UA

UAS

UAC

RedirectServer

ProxyServer Registrar

LocationServer

SIP UA

UAS

UAC

Page 26: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 26

Universitàdi Palermo LA

Layout

Nel caso più semplice si ha

Page 27: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 27

Universitàdi Palermo LA

Scambio di messaggi

Semplificando all’estremo, si ha lo scambio di messaggi:

Page 28: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 28

Universitàdi Palermo LA

SIP Messages

Protocollo SIP basato su un modello di transazione Request/Response

simile ad http

Transazione formata da una Request che invoca un particolare

metodo o funzione sul server ed almeno una Response

SIP usa diversi metodi

INVITEACK

BYECANCEL

OPTIONS

REGISTER

UPDATEPRACK

INFOINVITE RE-INVITE

NOTIFY

SUBSCRIBEUNSUBSCRIBEMESSAGE

REFERPUBLISH

Page 29: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 29

Universitàdi Palermo LA

Request e Response

I due tipi di messaggio SIP – request e response – sono distintitra loro in base alla struttura della start line, che è rispettivamenteuna request line o una status line

Ambedue i tipi di messaggi SIP sono formati da:

� Una Start line

� Uno o più campi header

� Una linea vuota che indica la fine dei campi di header

� Un message body opzionale

La start line, le linee dello header e la linea vuota devonoessere terminate da un CRLF

Page 30: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 30

Universitàdi Palermo LA

SIP Request Message

INVITE sip:[email protected] SIP/2.0 Request line: Method type, request URI(SIP addres of called party), SIP version

Via: SIP/2.0/UDP 63.48.57.12:9918; branch=z9.. SIP version, Transport protoco, IP-addr:portl

Contact: <sip:[email protected]:9918> SIP URI che può essere contattata

From: Alice A. <sip:[email protected]> Utente che origina la request

To Bob b. <sip:[email protected]> Utente invitato, come specificato all’origine

Call-ID: [email protected] ID globally unique di questa call

CSeq: 1 INVITE Command sequence. Identifica la transazione

Subject: Lunch today

Content-type: application/SDP

Soggetto e/o natura della call

Tipo del body (in questo caso SDP)

Max-Forwards:70 Massimo numero di proxies o gateways

Page 31: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 31

Universitàdi Palermo LA

SIP Request Message (cont)

O=Alice 53655765 2353687637 IN IP4 128.3.4.5 Owner/creator e session identifier,session version, address type e address

S=Call from Alice Oggetto della sessione

C=IN IP4 alice_ws.radvision.com Informazioni circa la connessione

M=audio 3456 RTP/AVP 0 3 4 5 Descrizione del media: type, port, possibiliformati che il caller vuole ricevere e inviare

v=0 Versione di SDP

Content-Length: 182 Numero di bytes nel body

Linea vuota di fine degli header SIP

Page 32: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 32

Universitàdi Palermo LA

Request e Response (2)

Request line Response line

Method Request-URI SIP-Version CRLF

esempio

INVITE sip:[email protected] SIP/2.0

SIP-Version Status-code Reason-phrase CRLF

esempio

SIP/2.0 420 Bad extension

La coppia Request/Response viene considerata come unico elemento di una

transaction SIP

Per questo motivo Request e Respoonse hanno lo stesso formato di intestazione

Page 33: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 33

Universitàdi Palermo LA

Status Codes

La prima cifra dello status-code definisce la classe della Response

1xx – Provisional, searching, ringing, queueing, etc

2xx – Success

3xx – Redirection, forwarding

4xx – Request failure (client mistakes)

5xx – Server failure

6xx – Global failure (busy, refusal, not available anywhere)

I response messages contengono due campi caratteristici

� Status-Code: intero di tre cifre che indica il risultato della richiesta

� Reason-Phrase: fornisce una descrizione testuale comprensibile.

Provisional

Final

Page 34: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 34

Universitàdi Palermo LA

Header Fields

Header field formato da field-name seguito da “:” e field-value

field-name: field-value

Header fields estendibili su più linee facendo precedere ogni linea

aggiuntiva da almeno un SP o un HT

Ordine degli header fields non significativo

Per rapidità di analisi raccomandato porre in testa gli header fields

che devono essere elaborati dai proxy server

Ordine relativo degli header field con lo stesso field-name significativo

Possibile combinare header fields con lo stesso field-name se separati da “,”

Page 35: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 35

Universitàdi Palermo LA

Header Fields (2)

Gli header field in posizioneerrata sono ignorati

Molti header field

Alcuni fondamentali e frequenti

Quattro tipi:

� Generic header

� Entity header

� Request header

� Response header

Call-ID

CSeq

Contact

DateFromRecord-RouteReply-ToRouteServerSubject

Via

Content-TypeContent-Length

To

Page 36: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 36

Universitàdi Palermo LA

Header Fields (3)

From Indica l’iniziatore della request (può essere differentedall’iniziatore del dialogo)

Route Usato per forzare il routing di una request attraversoun elenco di proxy

Date Contiene la data e l’ora

Subject Fornisce un sommario o indica la natura della call

Indica il path seguito dalla request fino ad allora e indicaquello che dovrebbe essere seguito dalle response

Via

Call-ID Stringa, globalmente unica, generata dall’UAC(contiene IP-address o hostname)

To Identifica l’original recipient della request indicato dallouser identificato nel field From. Può non coincidere conlo UAS che elabora la request

Page 37: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 37

Universitàdi Palermo LA

Body

Request e Response possono includere un message body

Interpretazione del body dipende dal metodo della request

e dal response status code

Page 38: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 38

Universitàdi Palermo LA

Metodo INVITE

Il metodo include la descrizione della sessione ed il tipo

di informazioni che si vogliono scambiare

Inizia una sessione

Vengono inviate informazioni circa il chiamante ed il chiamato

nonché circa il tipo di media che si vuole scambiare

Page 39: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 39

Universitàdi Palermo LA

Metodo ACK

Metodo inviato dal client che trasmette il metodo INVITE

ACK è trasmesso per confermare che la sessione è stabilita

Dopo la trasmissione del metodo ACK si possono scambiare i media

Page 40: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 40

Universitàdi Palermo LA

Metodo BYE

Metodo usato per terminare una sessione

Il metodo BYE può essere trasmesso da un uno user qualsiasi

Page 41: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 41

Universitàdi Palermo LA

Metodo CANCEL

Metodo CANCEL usato per annullare una request inviata in precedenza

dal client (pending request come può essere in INVITE)

Questo metodo richiede all’UAS di interrompere la request

e di generare un response di tipo error alla request

CANCEL non produce effetto su una request alla

quale l’UAS ha già dato un response finale

Siccome le request diverse da INVITE ricevono risposta immediata,

mentre INVITE è una request che richiede del tempo, CANCEL

non dovrebbe essere inviato per annullare una request diversa da INVITE

Da usare prima del BYE che terminerebbe la sessione

Page 42: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 42

Universitàdi Palermo LA

Metodo REGISTER

REGISTER è usato da un client per effettuare il login e registrarsi

con un registrar server

Page 43: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 43

Universitàdi Palermo LA

Metodo OPTIONS

Metodo usato per richiedere la capabilities di un server o di altri dispositivi

Può essere utilizzato per controllare la capacità (media supportati)

prima di trasmettere un INVITE

Page 44: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 44

Universitàdi Palermo LA

Authentication

Le funzioni di SIP sono molto critiche per la gestione della rete

In questo modo nessuno può spacciarsi per un altro

L’accesso di un eventuale attacker può provocare gravi danni

È allora opportuno richiedere che gli utenti di SIP si autentichino

prima di svolgere le diverse funzioni di SIP

Ma, non è opportuno richiedere lo stesso livello di autenticazione

per tutti gli utenti e le rispettive funzioni

In ogni modo un attacker può sempre condurre un attacco DoS

Page 45: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 45

Universitàdi Palermo LA

Ricerca del Next Hop

Lo UAC può usare un outbound proxy configurato manualmente

Outbound proxy può anche essere conosciuto alla registrazione

Se la request URI contiene IP-address e portail messaggio può essere inviato direttamente

Diversamente si determina il server SIP del next hop tramite il DNS

Richiesta di un record SRV

Richiesta di un record A

Page 46: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 46

Universitàdi Palermo LA

SIP Address Resolution Steps

Page 47: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 47

Universitàdi Palermo LA

SIP Address Resolution Steps

Il proxy controlla il suffisso del domain.Consulta il location servic, usa il DNS per

localizzare il remote domainIl DNS fornisce l’IP-address del proxy 2

Page 48: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 48

Universitàdi Palermo LA

SIP Address Resolution Steps

UA 2 convalida il il SIP URI nei confrontidegli user attivi per allertare l’interessato

o rifiutare la connessione

Page 49: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 49

Universitàdi Palermo LA

Autenticazione

È possibile richiedere che gli user SIP users si autentichino

fra loro prima che realizzino le varie funzioni SIP

Così nessuno può dichiarare di essere un altro

Ma, se si richiede l’autenticazione per tutte le funzioni,alcune funzionalità di SIP risultano compromesse

Page 50: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 50

Universitàdi Palermo LA

Registration

La registrazione crea dei collegamenti in un location service per unparticolare dominio che associa un address-of-record URI conuno o più contact address

La registrazione comporta l’invio di una request REGISTER ad untipo speciale di UAS conosciuto come un registrar

Un registrar opera come front-end al location service per undominio, leggendo e scrivendo i mapping basati sul contenutodelle request di tipo REGISTER

Questo location service è allora consultato tipicamente dalproxy server responsabile del routing delle request per il domain

Un registrar per un dominio DEVE essere capace di leggere e scriverei dati al location service, e un proxy o un redirect server per queldominio DEVE essere capace di leggere quei dati

Page 51: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 51

Universitàdi Palermo LA

Processo di Registrazione

UA

UA

Registrar LocationService Proxy

alice

bob

cube2214a

acme.com

1) REGISTER

2) Store

3) [email protected]

sip.acme.com4) Query

5) Response

6) [email protected]

Page 52: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 52

Universitàdi Palermo LA

Outbound Proxy

Un proxy che riceve delle request da un client, anche se puònon essere il server risolto dalla Request-URI

Tipicamente, uno UA viene configurato manualmente con un outboundproxy, o può conoscerne uno tramite protocolli di auto configurazione

L’outbound proxy è un normale proxy SIP

Voi configurate il vostro client, sia esso un telefono che un software, perusare il proxy per tutte le sessioni SIP, come quando configurate il vostrobrowser Web ad usare un proxy Web per tutte le transazioni Web

In alcuni casi, l’outbound proxy è posto a fianco del firewall ed l’unicopercorso tramite il quale il traffico SIP passa dalla rete interna ad Internet

L’outbound proxy usato da uno UA può essere configuratoautomaticamente con il DHCP

Page 53: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 53

Universitàdi Palermo LA

SIP URI

Una URI SIP o SIPS identifica una resource di comunicazione

Una URI SIP contiene informazione sufficiente per iniziaree mantenere una sessione di comunicazione con la risorsa

Nel caso di una SIP URI, la sua forma generica è:

sip:user:password@host:port;uri-parameters,headers

user: Identificatore di una particolare resource presso l’host indirizzato

password: Una password associata con lo user (opzionale)

host: L’ host che fornisce la risorsa SIP

port: Il numero di porta cui è inviata la richiesta SIP

Page 54: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 54

Universitàdi Palermo LA

SIPS

Dalla RFC 3261:

SIP also provides a secure URI, called a SIPS URI

Una call ad una SIPS URI garantisce che si userà un trasportosicuro e criptato (TL) per il trasporto di tutti i messaggi SIPdal caller al dominio del callee

Un esempio potrebbe essere sips:[email protected]

Da qui in poi, la request è inviata in modo sicuro al callee,Ma con meccanismi di sicurezza che dipendono dalla policydel dominio del callee

Page 55: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 55

Universitàdi Palermo LA

SDP

Session Description Protocol [RFC 2327] è il protocollo utilizzato

nel body del messaggio SIP per specificare l’informazione la codifica

usata in una sessione

Non comprende meccanismi di trasporto e/o negoziazione

Serve a trasferire, in modo definito, le informazioni necessarie ad

un sistema per unirsi ad una sessione multimediale

Le descrizioni di sessione SDP sono di tipo text-based

Page 56: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 56

Universitàdi Palermo LA

SDP (2)

Una descrizione di sessione formata da una serie di linee di testo:

Type = value

Type sempre formato da un solo carattere

Formato del value dipendente dal Type cui si applica

Informazioni a livello di: Session

Media-level

Si applicano all’intera sessione

Si applicano ad un particolaremedia stream

Descrizione di sessione con SDP inizia sempre con l’informazione session-level

Page 57: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 57

Universitàdi Palermo LA

SDP (3)

Prima linea descrizionesession-level

v=0 (SDP version 0)

v=0o=Bob 2890844526 2890842807 IN IP4 131.160.1.112

s=SIP seminar

i=A Seminar on the Session Initiation Protocol

u=http://www.cs.columbia.edu/sip

[email protected]

c=IN IP4 224.2.17.12/127

t=2873397496 2873404696

a=recvonly

Page 58: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 58

Universitàdi Palermo LA

SDP (4)

m=audio 49170 RTP/AVP 0a=rtpmap:0 PCMU/8000

m=video 51372 RTP/AVP 31

a=rtpmap:31 H261/90000

m=video 53000 RTP/AVP 32

a=rtpmap:32 MPV/90000

Iniziano con una linea m (media line)

m=<media type> <port number> <transport protocol> <media formats>

Linee a (attribute line) trasportano informazioni circa il formato di media

usato, come il clock rate o il numero di canali

Espansioni possibili di SDP

Sezioni media-level formate da linee m e a

Page 59: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 59

Universitàdi Palermo LA

RFC 3227 types

v Protocol versionb Bandwidth informationo Owner of the session and session identifierz Time zone adjustmentss Name of the sessionk Encryption keyi Information about the sessiona Attribute linesu URL containing a description of the sessiont Time when the session is activee E-mail address to obtain information about the sessionr Times when the session will be repeatedp Phone number to obtain information about the sessionm Media linec Connection informationi Information about a media line

Page 60: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 60

Universitàdi Palermo LA

Servizio di Trasporto per SIP

SIP

SCTP TCP UDP

Connection oriented Connectionless

IP

SIP . . .� È indipendente dal trasporto

� Può girare sopra un qualsiasi servizio di trasporto

� Reliable o unrealiable

� Message o byte oriented

Page 61: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 61

Universitàdi Palermo LA

Caratteristiche di Trasporto

YYNFast Retransmit

YYNCongestion Control

YYNTransp. layer frag.

N

N

Y

TCP

YNMultihoming

YYEasier Parsing

NNHead of Line Blocking

SCTPUDP

Page 62: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 62

Universitàdi Palermo LA

SIP-T

SIP-T = Session Initiation Protocol – Telephony

Conosciuto in precedenza come SIP+ o SIP BCP-T

RFC 3372 - Session Initiation Protocol for Telephones (SIP-T)

Context and Architectures

SIP-T definisce l’interwork tra SIP e ISUP

Informazione trasportata con SDP che opera negli ambienti IP e ATM

SIP-T consente una negoziazione diretta tra i gateways

Page 63: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 63

Universitàdi Palermo LA

Scopi di SIP-T

Interworking PSTN-IP

Trasporto su IP dellasegnalazione PSTN

SS7 network

IP networkSIP enabled

MGC 1

Proxy

MGC 2

SS7 network

IP networkSIP enabledMGC

Proxy

SS7 networkIP (SIP) phone

Page 64: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 64

Universitàdi Palermo LA

Approcci di SIP-T

� Due approcci fondamentali:

� Encapsulation

� Translation

Page 65: Session Initiation Protocol (SIP) - tti.unipa.it _Reti_L.S/SIP.pdf · SIP 3 Università di Palermo LA Signalling generalities La PSTN risale al 1876 Negli anni si è però evoluta

SIP 65

Universitàdi Palermo LA

Implementazione di SIP-T

SIP-T richiede fondamentalmente tre Extension

� Estensione del metodo INFO del protocollo base� Gestione di servizi complessi

� Gestioni di eventi nel corso di una chiamata

� Potenziamento di meccanismi di inizio e terminazione

� Aggiunta del tipo MIME� Necessità di incapsulare segnalazioni legacy

� Semplificazione dell’interworking tra varianti

� Mappaggio tra ISUP e SIP