SIP Session Initiation Protocol

Slides:



Advertisements
Presentazioni simili
Informazioni di base sul funzionamento
Advertisements

Prof. Carla Fanchin – L.S. Tron
1 LABORATORIO DI INFORMATICA Network Management 8. Transport Mapping Claudio Salati Copyright © 2001 by Claudio Salati ALMA MATER STUDIORUM - UNIVERSITA'
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
RTP MIDI – parte 2 Lezione 16
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Programmazione con socket
Web Services.
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Posta Elettronica in Internet
Web e HTTP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
WWW Introduzione ad HTTP Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: HTTP (HyperText Transfer Protocol) Un protocollo stateless.
Di Del Grosso Serafina Corso di laurea specialistica in Economia Informatica Università degli studi G. DAnnunzio Pescara A.A
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Università degli Studi di Napoli “Parthenope”
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
Reti di Calcolatori IL LIVELLO RETE.
I protocolli di trasporto per multimedia RTP e RTCP
JAIN SIP Sviluppo di applicazioni SIP in Java Esercitazione 2.
ICMP - PING - TRACEROUTE
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
Unibo Streaming Project
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Streaming Media Ing. Maurizio Vitale 24/09/2003 © 2003.
Corso di Informatica per Giurisprudenza Lezione 7
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
> Remote Authentication Dial In User Service
RETI MOBILI E MULTIMEDIALI
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Elaborazioni server-side: dalle CGI al PHP
Di Marco Calisti, Antonio Cuomo, Rocco Mazzeo e Francesco Pacilio.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Lezione 8.
Distributed System ( )7 TCP/IP four-layer model.
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
La posta elettronica o è un servizio Internet grazie al quale ogni utente può inviare o ricevere dei messaggi. La sua nascita risale al 1972,
MUSE Progetto di un servizio di audio streaming in reti wireless Progetto realizzato da: Leardini Francesco Mercati Alberto Morsiani Marco Bologna
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 2 – Complementi.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Università degli studi di Roma“Tor Vergata” Candidato: Antonio Martínez Guerola Relatore: Stefano Salsano Definizione e implementazione di meccanismi di.
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
URI e HTTP Fabio Vitali.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
1 I protocolli di . 2 Posta elettronica Tre componenti: Tre componenti: user agentsuser agents mail serversmail servers Simple mail transfer protocol.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 5 -Amministrazione remota Ernesto Damiani Lezione 2 – SNMP.
1 “Trasporto traffico multimediale in Internet: il protocollo RTP” A cura di: Prof. Polidoro Maurizia Stefano Bistarelli Università degli Studi G. D’Annunzio.
Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI.
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Slide #: 1/232 Internet - Architettura, principali protocolli e linee evolutive Nicola Blefari Melazzi Copyright © 2005 – The McGraw-Hill Companies srl.
Transcript della presentazione:

SIP Session Initiation Protocol

SIP: Session Initiation Protocol “[…] an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.” (RFC 3261) Una sessione è uno scambio di dati tra un’insieme di partecipanti che ne concordano le caratteristiche Una telefonata è una sessione Una videoconferenza è una sessione Una partita in rete a Quake è una sessione Il download di un file NON è una sessione

SIP – Modello architetturale SIP è simile ad HTTP: Architettura client/server Modello request/response Codifica testuale BNF (Backus-Naur Form) Codici associati ai messaggi di risposta: 1xx: Informational 2xx: success 3xx: Redirection 4xx: Client error 5xx: server Failure 6xx: Global Failure Provisional Response Final Response

Entità SIP User Agent Client (UAC) User Agent server (UAS) Registrar Location Service Redirect server Proxy (Proxy server) Sono entità logiche: una particolare implementazione può combinarne alcune in un’unica applicazione

User Agent (Client e Server) User Agent Client: genera una nuova richiesta (es: INVITE) User Agent Server: genera una risposta ad una richiesta. La richiesta può essere accettata, rifiutata o affidata ad un’altra entità Trattandosi di entità logiche, user agent client e user agent server sono in realtà dei ruoli che uno user agent può ricoprire nel momento in cui (e limitatamente a quello) – rispettivamente – genera una nuova richiesta o genera la risposta ad una richiesta.

Registrar e Location Service Un Registrar Accetta richieste di tipo REGISTER provenienti da UAC Aggiorna di conseguenza i dati del Location Service Un Location Service Contiene i record relativi ai contatti di ogni utente Viene interpellato dai proxy o dai redirect server per sapere dove contattare un utente

Redirect e Proxy Server Un Redirect Server è un UAS che genera risposte al fine di indirizzare un UAC verso l’utente desiderato Un Proxy agisce in qualità di intermediario Ricopre entrambi i ruoli di server e di client allo scopo di effettuare richieste per conto di altri client Può essere di tipo stateless o di tipo stateful

Indirizzi SIP Simili ad indirizzi e-mail: sip:utente@dominio sip:Giuseppe.Podesta@laser.dist.unige.it Seguono le regole specificate per gli URI (Uniform Resource Identifier) nella RFC 2396

Messaggi SIP - tipologie Request – da client a server, contengono: un method type, identifica il tipo di richiesta un Request-URI, indica l’utente o il servizio a cui la richiesta è indirizzata Response – da server a client, contengono: uno status code, identifica il tipo di risposta una reason phrase, destinata ad un utente umano

Messaggi SIP - composizione Header intestazioni che compaiono in testa al messaggio, obbligatori Possono essere presenti più header dello stesso tipo L’ordine degli header può essere significativo Body il corpo del messaggio, facoltativo Può contenere la descrizione di una sessione JAIN SIP permette di utilizzare una stringa, un array di byte o qualsiasi oggetto definito nella specifica SDP

Transaction Lo scambio di messaggi può avvenire all’interno di un contesto transazionale SIP definisce delle transaction come l’insieme di una Request e di una o più Response relative alla Request Nel caso di più Response, l’ultima è final, mentre le altre sono dette provisional Alle transaction il protocollo associa macchine a stati finiti, che descrivono e regolano l’avanzamento dello stato

Client Transaction, Server Transaction Client e Server sono ruoli logici Client Transaction Invio di Request, ricezione di Response Server Transaction Ricezione di Request, invio di Response Un’unica applicazione può essere caratterizzata da entrambi i ruoli Es. un softphone si comporta da client quando effettua chiamate e da server quando le riceve

Un’altra entità SIP che ha entrambi i ruoli Request Request Response Response

INVITE CLIENT TRANSACTION INVITE SERVER TRANSACTION

Metodi REGISTER INVITE ACK BYE CANCEL OPTIONS INFO

Messaggi SIP – una Request INVITE INVITE sip:bob@biloxi.com SIP/2.0 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.atlanta.com CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.com> Content-Type: application/sdp Content-Length: 142 <body non mostrato>

Messaggi SIP – una Response 200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP server10.biloxi.com; branch=z9hG4bKnashds8;received=192.0.2.3 Via: SIP/2.0/UDP bigbox3.site3.atlanta.com; branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2 Via: SIP/2.0/UDP pc33.atlanta.com; branch=z9hG4bK776asdhds ;received=192.0.2.1 To: Bob <sip:bob@biloxi.com>;tag=a6c85cf From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e66710@pc33.atlanta.com CSeq: 314159 INVITE Contact: <sip:bob@192.0.2.4> Content-Type: application/sdp Content-Length: 131 <body non mostrato>

Registrazione (REGISTER)

Chiamata (Redirect Mode) Manca il “180 ringing” e il teardown della connessione mediante BYE.

Chiamata (Proxy Mode) Manca il “180 ringing” e il teardown della sessione mediante BYE.

SIP+SDP: Richiesta

SDP: Session Description Protocol v= (protocol version) o= (owner/creator and session identifier). s= (session name) i=* (session information) u=* (URI of description) e=* (email address) p=* (phone number) c=* (connection information) b=* (bandwidth information) One or more time descriptions Time description t= (time the session is active) r=* (zero or more repeat times) Media description m= (media name and transport address) i=* (media title) c=* (connection information - optional if included at session-level) b=* (bandwidth information) k=* (encryption key) a=* (zero or more media attribute lines) VEDI PAGG 8-24 RFC 2327

SIP+SDP: Risposta

“RTP / AVP” RTP / Audio Video Profile, specificato nella RFC 3551 Descrive le modalità secondo cui trasmettere audio e video in RTP Descrive i “payload type” dell’header RTP per le differenti codifiche z=* (time zone adjustments) k=* (encryption key) a=* (zero or more session attribute lines) Zero or more media descriptions

RTP Header Marker Bit (M): indica l’inizio di un talkspurt. V=2 X P CC M PT Timestamp Sequence Number Synchronization source (SSRC) identifier Contributing source (SSRC) identifiers Marker Bit (M): indica l’inizio di un talkspurt. Payload Type (PT): specifica il formato del payload; è pari a 4 per il G.723. Sequence Number: viene usato per riordinare i pacchetti e rilevare pacchetti persi. Timestamp: rappresenta l’istante di campionamento del primo byte del payload. E’ importante ai fini della sincronizzazione e per il calcolo del jitter. SSRC: identifica la sorgente del flusso di pacchetti RTP.

RTCP Sender e Receiver Reports RC PT SSRC of sender Length NTP Timestamp, most significant word header Sender’s packet count NTP Timestamp, least significant word RTP Timestamp Sender’s octet count sender info SSRC_1 (SSRC of first source) Interarrival jitter Last SR (LSR) Delay since last SR (DLSR) Fraction lost Cumulative number of packets lost Extended highest sequence number received report block RTP / RTCP: RTCP Sender Report e Receiver Report

http://www.networksorcery.com/enp/protocol/sip.htm http://www.networksorcery.com/enp/protocol/rtp.htm http://www.networksorcery.com/enp/protocol/rtcp.htm