Session Initiation Protocol



Documenti analoghi
Tutto il VoIP in 45 minuti!! Giuseppe Tetti. Ambiente Demo. VoIP IP PBX SIP

Il VoIP parla Wireless. Giuseppe Tetti. Ambiente Demo. VoIP IP PBX SIP. Internet. Soft Phone

Session Description Protocol

Streaming unicast. Live media source. Media store. server. internet. Client player. control. 5. Multimedia streaming Pag. 1

Interfaccia Web per customizzare l interfaccia dei terminali e

REGISTRATION GUIDE TO RESHELL SOFTWARE

Copyright 2012 Binary System srl Piacenza ITALIA Via Coppalati, 6 P.IVA info@binarysystem.eu

IP multimedia services in the NGN

Database support Prerequisites Architecture Driver features Setup Stored procedures Where to use. Contents

Single-rate three-color marker (srtcm)

User Guide Guglielmo SmartClient

Session Initiation Protocol (SIP)

Trusted Intermediaries

IP TV and Internet TV

Motivazioni Integrazione dei servizi Vantaggi e problemi aperti. Architettura di riferimento

Code: GW-IMP-WEB-1. Datalogger web pulses counter. Version 6 inputs with Ethernet. MarCom

CONFIGURATION MANUAL

WELCOME UNIPA REGISTRATION:

Introduzione Kerberos. Orazio Battaglia

WELCOME. Go to the link of the official University of Palermo web site Click on the box on the right side Login unico

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Installazione di DraftSight Enterprise

UNIVERSITÀ DEGLI STUDI DI TORINO

How to use the WPA2 encrypted connection

WEB OF SCIENCE. COVERAGE: multidisciplinary TIME RANGE: DOCUMENT TYPES: articles, proceedings papers, books

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide

Tecnologie e Protocolli per Internet 1 Introduzione al NAT Network Address Translation

SolidNetwork License Manager

ECCO LE ISTRUZIONI PER INSERIRE IL MATERIALE RICHIESTO DAL BANDO TEATRO SENZA FILO CONTEST:

IM-IU v0.1. alternata e continua. pag. 1 / 5

Guida alla configurazione Configuration Guide

Two-rate three-color marker (trtcm)

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO. Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014

Network Address Translation (NAT)

I rischi e le misure per rendere sicure le reti VoIP. Stefano Sotgiu

Scheduling. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4. Scheduler. Class 1 Class 2 Class 3 Class 4

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

PROTOCOLLO DI COMUNICAZIONE MODBUS MODBUS COMMUNICATION PROTOCOL. MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

How to register online for exams (Appelli) Version updated on 23/10/2017

DICHIARAZIONE DI RESPONSABILITÀ

Enel App Store - Installation Manual - Mobile

Accesso Mul*plo - modelli

Real Time Streaming Protocol. Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno

SIP - Session Initiation Protocol

General info on using shopping carts with Ingenico epayments

CCTV DIVISION GUIDA RAPIDA PER LA CONFIGURAZIONE DELL IP STATICO SU SISTEMI TVCC QUICK GUIDE FOR STATIC IP CONFIGURATION ABOUT CCTV SYSTEM

How to register for exam sessions ( Appelli ) Version updated on 17/10/2018

&&' & + $, $ $ ( $" $ + ! " # $ " % Numeric addr. tough for humans to remember Numeric addr. impossible to guess

Marco Sommani Il Session Initiation Protocol

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Inserttags. Inserimento di contenuti dinamici nello sviluppo di siti web

-Fig.1-

Servizi Applicativi su Internet SIP. Session Initiation Protocol Ing. Pierluigi Gallo

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS

Esercizio 1 : HTTP. Soluzione Esercizio 1 : HTTP

RSVP-TE Extensions to RSVP for LSP tunnels. Mario Baldi

La Sua banca dovrá registrare il mandato di addebito nei propri sistemi prima di poter iniziare o attivare qualsiasi transazione

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

TLR05S-350. Extender in corrente costante, 3 x 350mA per TLR04M_

Apriti Sesamo Plus Client per Windows

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo

Dema S.p.A. SUPPLIER QUALITY REQUIREMENTS FOR AVIO PROGRAMS REQUISITI QUALITÀ FORNITORI PER PROGRAMMI AVIO

Il VoIP. Ing. Mario Terranova

SERVIZIO TELEFONICO INTEGRATO D'ATENEO INSTALLAZIONE (WINDOWS) Scaricare il software X-Lite dal sito:

Guida utente User Manual made in Italy Rev0

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK

ENPCOM European network for the promotion of the Covenant of Mayors

Corso di Applicazioni Telematiche

COMP6218 Web Architecture

ZyXEL Prestige 2602R GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Applicazioni Multimediali Soft Real-Time in Internet

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013

Technical Guidelines GON % Italian production. sports car oriented

GstarCAD 2010 Features

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?

PORTALE DEI SERVIZI ART/ ART WEB PORTAL MANUALE UTENTE /USER MANUAL PROCEDURA DI ACCREDITAMENTO / REGISTRATION PROCEDURE

Customer Centric/Inquiry/E-bill. Tanya Enzminger

LABELLING Labelling System FIP Formatura Iniezione Polimeri

INTERNET & MARKETING INNOVATIVE COMMUNICATION.

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

SRT064 BTH SRT051 BTH SRT052 BTH

SIP Basic Setting Example Prepared by Fernando Hsu

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

Posta elettronica per gli studenti for the students

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

INTERNET, RETI e SICUREZZA A.A. 2016/2017 Capitolo 4c DHCP Dynamic Host Configuration Protocol Fausto Marcantoni

Sicurezza dei servizi Voice over IP con SIP e RTP

Architecture H.323 H.323 H.323. H.323 terminal. H.323 terminal. terminal. terminal H.323 MCU. IP network H.323. gatekeeper H.

Abraham Gebrehiwot CNR Istituto di Informatica e Telematica - Pisa. Attività di TERENA sulla SIP identity

Virtualizzazione con Microsoft Tecnologie e Licensing

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Finite Model Theory / Descriptive Complexity: bin

Android Development. Course Projects. Università degli Studi di Parma

Analisi dei Requisiti, Progettazione Preliminare ed Esecutiva di Grandi Sistemi Ingegneristici: Casi di Studio

Data Alignment and (Geo)Referencing (sometimes Registration process)

Transcript:

12. SIP-1 Pag. 1 Session Initiation Protocol SIP is a signaling protocol standardized by the IETF; it is used together with other protocols such as Session Description Protocol (SDP), Real Time Streaming Protocol (RTSP) and Session Announcement Protocol (SAP) SIP handles the setup, tear down e management of IP multimedia sessions SIP usually adopts RTP as a transport for media streams SIP signaling has a dedicated logical channel, different from the logical channels used for the transport of media on the user plane

12. SIP-1 Pag. 2 SIP entities SIP defines two types of entity: client Called also user agent client, it is an applications sending SIP requests servers Applications committed to the establishment of connections; serves respond to SIP requests from clients A SIP call involves at least two remote entities user agent client user agent server

12. SIP-1 Pag. 3 SIP entities A SIP device can host both user agent client and server, this is the typical case of a user s device There are four basic types of SIP server proxy server redirect server registrar server user agent server A physical device can host multiple servers

12. SIP-1 Pag. 4 Proxy (redirect) server A proxy server can implement multiple types of SIP server It can colloquiate both with user devices and other SIP servers in the network Through proxy servers it is possible to implement many value-added services such as call forwarding time-of-day routing marco@work.com Request: luca@work.com response response proxy server Request: luca@casa.com luca@casa.com The example shows a simple use case of redirect service. Luca is at home and Marco calls him at work. The proxy redirects the call to the current Luca s location

12. SIP-1 Pag. 5 Proxy (redirect) server The redirect server can also provide the calling terminal with an alternative address to call, instead of redirecting the call automatically marco@work.com Request: luca@work.com response Contact: luca@casa.com ACK redirect server Request: luca@casa.com luca@casa.com

12. SIP-1 Pag. 6 SIP applications (example) Find-Me-Follow-Me: By using a web interface, a user can specify where calls should be forwarded to him, also in a time-dependent fashion The user can ask the system to ring concurrently multiple terminals, or to scan a list of terminals sequentially With IVR (interactive voice response): incoming calls can be redirected to an automatic responder Click-to-Dial: It is a web browser-based application by which SIP calls are triggered by clicking an hyperlink in a web page Contact Manager Access to a centralized contact list, from any user terminal and independently on the current geographic location of the user

12. SIP-1 Pag. 7 User agent server It is the server usually installed on user terminals User terminals host also the user agent client The client is used to send signaling requests The user agent server receives incoming requests and responds

12. SIP-1 Pag. 8 Registrar server The registrar server handles SIP REGISTER requests SIP REGISTER requests are used by devices to register into the SIP network After a successful registration, a SIP device is operative

12. SIP-1 Pag. 9 SIP base call without proxy The INVITE message is used to start a call In the simplest case shown in the figure, the user agent client sends the INVITE directly to the called device The remore user server sends a RINGING message to let the calling device know that the called terminal is ringing When the call is accepted at the called end, the OK message is sent The call is teared down with the BYE/OK pair of messages INVITE RINGING OK ACK... call... BYE OK

12. SIP-1 Pag. 10 SIP features

12. SIP-1 Pag. 11 Caratteristiche di SIP SIP is a simple and flexible signaling protocol The parameters for media negotiation are carried in the body of SIP messages The figure shows an example of deferred call hour 16:00 INVITE BUSY (try at 16:00) ACK INVITE RINGING OK ACK... call... BYE OK

12. SIP-1 Pag. 12 SIP messages SIP messages can be either requests or responses SIP messages are in textual format In this way, it is simpler to analyze the behavior of signaling just parsing exchanges IP packets This is an advantage over binary signaling protocols However, textual messages usually consumes more bandwidth than binary protocols message = start-line *message header CRLF [message-body] start-line = request-line status-line

12. SIP-1 Pag. 13 SIP messages The request-line specifies the type of request and its parameters The status line specifies the type of response and its parameters The message-header carries information such as source and destination identification message = start-line *message header CRLF [message-body] start-line = request-line status-line

12. SIP-1 Pag. 14 SIP messages The message-body carries information such as type of session format of media altra caratterizzazione SIP does not standardize the message body; in the case of media format information, the structure of the message body is standardized by the Session Description Protocol (SDP) The message body can also carry messages of other sugnaling systems: this is useful for signaling interworking message = start-line *message header CRLF [message-body] start-line = request-line status-line

12. SIP-1 Pag. 15 SIP requests SIP requests start with the request-line, consisting of blankseparated tokens: method Type of requests Request-URI Destination address of the request SIP-Version Basic methods are (RFC 3261) INVITE ACK OPTIONS BYE CANCEL REGISTER request-line = method SP Request-URI SP SIP- Version CRLF

12. SIP-1 Pag. 16 SIP requests INVITE To establish a call; it specified involved users and also the format of media ACK Messages are usually ACKed; the ACK message must refer explicitly to the message it acknowledges BYE To close a call CANCEL To terminate an ongoing transaction REGISTER Used to register a device

12. SIP-1 Pag. 17 Example: one-number Luca is registered with multiple SIP addresses Anna calls Luca: the call is forwarded to all active registrations of Luca When one of the called terminal responds, the call is started luca@add1 REGISTER OK luca@add2 REGISTER Registrar/ proxy OK OK INVITE INVITE TRYING INVITE CANCEL OK(for invite) OK(for cancel) ACK ACK anna

12. SIP-1 Pag. 18 Additional methods The INFO method is useful to transmit informnation when a call is already active For example, this can be used to transport multifrequency tones

12. SIP-1 Pag. 19 SIP response The status code is a three-digit number specifying the type of message The reason-phrase is a text field carrying additional information, depending of the type of message Status codes range from 100 to 699 The first digit indicates the category of the rsponse 1xx: provisional (eg: 181 call forwarded) 2xx: success (eg 200) 3XX: redirect (eg, 302: retry calling the address specified in the reason phrase) 4XX: failure 5XX: Server failure 6XX: Global failure (eg: called user does not exist) status-line = SIP version SP status code SP reason-phrase CRLF NOTE: all responses, with the exception of the 1XX Provisional responses, must be ACKed

12. SIP-1 Pag. 20 SIP response Provisional 100 trying 180 ringing 181 call forwarded 182 call queued 183 session in progress Success 200 OK Redirection 301 user moved permanently 302 user mover temporarily Request failure 400 bad request 401 user not authorized 415 unsupported media 486 busy Server failure 500 server internal error Global failure 604 does not exist anywhere status-line = SIP version SP status code SP reason-phrase CRLF

12. SIP-1 Pag. 21 SIP addressing SIP addresses are URIs (Uniform Resource Indicator) SIP URI: sip:luca@home.milano.it

12. SIP-1 Pag. 22 Message headers There are multiple header types To e From headers identify called and calling users Header can be: general header request header response header entity header

12. SIP-1 Pag. 23 Message headers General header They are used for both requests and response, e.g.: To, From,Call ID... The Contact header is used for the redirection of calls Request Header Used only for requests Response Header Used only for responses

12. SIP-1 Pag. 24 Message headers Entity Header The main purpose of the entity header is to describe the content of the message body Frequently used fieds are Content-length (content length in bytes) Content-type (e.g. application/sdp) Content-encoding Content-disposition To specify, for example, if the contents of the body must be displayed for the user Content-language

12. SIP-1 Pag. 25 Registration example Via header The Via header specifies the SIP route followed by the message The branch parameter is used to identify univocally the message, if proxies are used From header Specifies the URI of the requesting entity The tag field is used to help identifying univocally the user and user s transaction To: header In this case, the To header coincides with the From header: this is to specify that Anna is registering herself anna@pippo.lavoro.it registrar REGISTER sip:registrar.lavoro.it SIP/2.0 Via: SIP/2.0/UDP pippo.lavoro.it; branch = h739fhry Max-Forwards: 70 From: sip:anna@pippo.lavoro.it; tag = 123456 To: sip:anna@pippo.lavoro.it CALL-ID: 123456@pippo.lavoro.it CSeq: 1 REGISTER Contact: sip:anna@pippo.lavoro.it Expires: 7200 Content-Length: 0

12. SIP-1 Pag. 26 Registration example CALL-ID header To help identifying univocally the registration transaction Cseq header Has the purpose of mapping correctly responses to requests Contact header Specifies who is to be contacted to deliver responses In this case, the message body is empty, thus we have Content-Length: 0 anna@pippo.lavoro.it registrar REGISTER sip:registrar.lavoro.it SIP/2.0 Via: SIP/2.0/UDP pippo.lavoro.it; branch = h739fhry Max-Forwards: 70 From: sip:anna@pippo.lavoro.it; tag = 123456 To: sip:anna@pippo.lavoro.it CALL-ID: 123456@pippo.lavoro.it CSeq: 1 REGISTER Contact: sip:anna@pippo.lavoro.it Expires: 7200 Content-Length: 0

12. SIP-1 Pag. 27 Registration example The figure plots a possible response to the registration request anna@pippo.lavoro.it registrar REGISTER sip:registrar.lavoro.it SIP/2.0 Via: SIP/2.0/UDP pippo.lavoro.it; branch = h739fhry Max-Forwards: 70 From: sip:anna@lavoro.it; tag = 123456 To: sip:anna@lavoro.it CALL-ID: 123456@pippo.lavoro.it CSeq: 1 REGISTER Contact: sip:anna@pippo.lavoro.it Expires: 7200 Content-Length: 0 SIP/2.0 200 OK VIA: SIP/2.0/UDP pippo.lavoro.it; branch = h739fhry From: sip:anna@lavoro.it, tag = 123456 To: sip:anna@lavoro.it CALL-ID: 123456@pippo.lavoro.it CSeq: 1 REGISTER Contact: sip:anna@pippo.lavoro.it Expires: 3600 Content-length: 0

12. SIP-1 Pag. 28 INVITE This example shows a direct call, thus the complete address of the destination host must be specified In case of proxy servers, the host indication can be omitted as it can be solved automatically by the proxy The nicks annie e luke are the display names, they are optional anna@pippo.lavoro.it luca@pluto.lavoro.it INVITE: sip:luca@pluto.lavoro.it SIP/2.0 VIA: SIP/2.0/UDP pippo.lavoro.it; branch = 34f65g Max-Forwards: 70 From: annie<sip:anna@lavoro.it>; tag = 222333 Contact: sip:anna@pippo.lavoro.it To: luke<sip:luca@pluto.lavoro.it> Call-ID: 123456@pippo.lavoro.it CSeq: 1 INVITE Subject: shell we go to the restaurant tonight? Content-length: xxx Content-type: application/sdp Content-disposition: session

12. SIP-1 Pag. 29 Response to INVITE The triplet (From, To, Call-ID) is the dialog ID which identifies a transaction between two remote user terminals At this point of the signaling transaction, the dialog is established but the call is not set up; the dialog is in the early status The dialog becomes confirmed when the call is set up anna@pippo.lavoro.it luca@pluto.lavoro.it SIP/2.0 180 RINGING Via: SIP/2.0/UDP pippo.lavoro.it; branch = 34f65g From: annie<sip:anna@lavoro.it>; tag = 222333 To: luke<sip:luca@pluto.lavoro.it>; tag = 111000 Contact: sip:luca@pluto.lavoro.it Call-ID: 123456@pippo.lavoro.it CSeq: 1 INVITE Content-Length: 0

12. SIP-1 Pag. 30 Confirmation to INVITE With the OK message the call is established and the dialog is confirmed anna@pippo.lavoro.it luca@pluto.lavoro.it SIP/2.0 200 OK VIA: SIP/2.0/UDP pippo.lavoro.it; branch = 34f65g From: annie<sip:anna@lavoro.it>; tag = 222333 To: luke<sip:luca@pluto.lavoro.it>; tag = 111000 Contact: sip:luca@pluto.lavoro.it Call-ID: 123456@pippo.lavoro.it CSeq: 1 INVITE Subject: cosa fai stasera Content-Length: xxx Content-Type: application/sdp Content-Disposition: session message body ACK: sip:luca@pluto.lavoro.it SIP/2.0 VIA: SIP/2.0/UDP/pluto.lavoro.it; branch = 34f65g MAx-Forwards: 70 From: annie<sip:anna@lavoro.it>; tag = 222333 To: luke<sip:luca@pluto.lavoro.it>; tag = 111000 Call-ID: 123456@pippo.lavoro.it CSeq: 1 ACK Content length 0

12. SIP-1 Pag. 31 Tear down anna@pippo.lavoro.it luca@pluto.lavoro.it BYE: sip:luca@pluto.lavoro.it SIP/2.0 VIA: SIP/2.0/UDP/pluto.lavoro.it; branch = 34f65g MAx-Forwards: 70 From: annie<sip:anna@lavoro.it>; tag = 222333 To: luke<sip:luca@pluto.lavoro.it>; tag = 111000 Call-ID: 123456@pippo.lavoro.it CSeq: 2 BYE Content length: 0 SIP/2.0 200 OK VIA: SIP/2.0/UDP pippo.lavoro.it; branch = 34f65g From: annie<sip:anna@lavoro.it>; tag = 222333 To: luke<sip:luca@pluto.lavoro.it>; tag = 111000 Contact: sip:luca@pluto.lavoro.it Call-ID: 123456@pippo.lavoro.it CSeq: 2 BYE Content length: 0

12. SIP-1 Pag. 32 Proxy server Proxy serversroute SIP messages to the proper destinations More than one proxy can be inviolved in the setup of a connection For example, the setup of a SIP call may involve two proxies: the local proxy of the calling user and the local proxy of the called user

12. SIP-1 Pag. 33 Example (proxy) BOSS<sip:manager@pc1.home.net> sip:server.work.com daniel<sip:collins@station1.work.com> INVITE sip:collins@work.com SIP/2.0 Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7890 Max-Forwards: 70 From: boss<sip:manager@home.net>;tag=ab12 Contact: boss<sip:manager@pc1.home.net> To: daniel<sip:collins@work.com> Call-ID: 123456@pc1.home.net CSeq: 1 INVITE SIP/2.0 100 Trying Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7890 From: boss<sip:manager@home.net>;tag=ab12 To: daniel<sip:collins@work.com> Call-ID: 123456@pc1.home.net CSeq: 1 INVITE SIP/2.0 200 OK Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7890 Record-route: <sip:server.work.com;lr> From: boss<sip:manager@home.net>; tag=ab12 To: daniel<sip:collins@work.com>; tag=xy45 Call-ID: 123456@pc1.home.net CSeq: 1 INVITE Contact: sip:collins@station1.work.com INVITE sip:collins@work.com SIP/2.0 Via: SIP 2/0/UDP server.work.com; branch z9hg4bkxyz1 Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7890 Record-route: <sip:server.work.com;lr> Max-Forwards: 69 From: boss<sip:manager@home.net>;tag=ab12 Contact: boss<sip:manager@pc1.home.net> To: daniel<sip:collins@work.com> Call-ID: 123456@pc1.home.net CSeq: 1 INVITE SIP/2.0 200 OK Via: SIP 2/0/UDP server.work.com; branch z9hg4bkxyz1 Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7890 Record-route: <sip:server.work.com;lr> From: boss<sip:manager@home.net>; tag=ab12 To: daniel<sip:collins@work.com>; tag=xy45 Call-ID: 123456@pc1.home.net CSeq: 1 INVITE Contact: sip:collins@station1.work.com

12. SIP-1 Pag. 34 Example (proxy) BOSS<sip:manager@pc1.home.net> sip:server.work.com daniel<sip:collins@station1.work.com> ACK sip:collins@station1.work.com SIP/2.0 Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7891 Max-Forwards: 70 Route: <sip:server.work.com;lr> From: boss<sip:manager@home.net>; tag=ab12 To: daniel<sip:collins@work.com>; tag=xy45 Call-ID: 123456@pc1.home.net CSeq: 1 ACK ACK sip:collins@station1.work.com SIP/2.0 Via: SIP 2/0/UDP server.work.com; branch z9hg4bkxyz2 Via: SIP 2/0/UDP pc1.work.net; branch z9hg4bk7891 Max-Forwards: 69 From: boss<sip:manager@home.net>; tag=ab12 To: daniel<sip:collins@work.com>; tag=xy45 Call-ID: 123456@pc1.home.net CSeq: 1 ACK

12. SIP-1 Pag. 35 Comments The Via header is important when proxies are involved in signaling Each SIP device touched by a SIP message adds a Via header carrying its address In this way, the path of SIP devices crossed by a message is explicitly written in the message header It is easy to detect SIP routing loops Moreover, it is easy to force response messages to follows in the reverse direction the path followed by request messages

12. SIP-1 Pag. 36 Comments In the backward path of responses, Via header are stripped from the message at each SIP hop The function of the branch parameter is to identify univocally the signalling transaction at each SIP entity crossed by messages A stateful proxy must be always in the path followed by all requests and all responses The Via header is not enough, because its scope is limited to one request-response interaction This is why also the record-route header is used