draft-ietf-sipping-basic-call-flows-01.txt   draft-ietf-sipping-basic-call-flows-02.txt 
SIPPING Working Group A. Johnston SIPPING Working Group A. Johnston
Internet Draft WorldCom Internet Draft WorldCom
Document: S. Donovan Document: S. Donovan
draft-ietf-sipping-basic-call-flows-01.txt R. Sparks draft-ietf-sipping-basic-call-flows-02.txt R. Sparks
Expires: April 2003 C. Cunningham Expires: October 2003 C. Cunningham
dynamicsoft dynamicsoft
K. Summers K. Summers
Sonus Sonus
October 2002 April 2003
Session Initiation Protocol Basic Call Flow Examples Session Initiation Protocol Basic Call Flow Examples
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 47 skipping to change at page 1, line 47
This informational document gives examples of Session Initiation This informational document gives examples of Session Initiation
Protocol (SIP) call flows. Elements in these call flows include SIP Protocol (SIP) call flows. Elements in these call flows include SIP
User Agents and Clients, SIP Proxy and Redirect Servers. Scenarios User Agents and Clients, SIP Proxy and Redirect Servers. Scenarios
include SIP Registration and SIP session establishment. Call flow include SIP Registration and SIP session establishment. Call flow
diagrams and message details are shown. diagrams and message details are shown.
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [1]. document are to be interpreted as described in RFC-2119.
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Table of Contents Table of Contents
1. Overview.......................................................2 1. Overview.......................................................2
1.1 General Assumptions........................................3 1.1 General Assumptions........................................3
1.2 Legend for Message Flows...................................3 1.2 Legend for Message Flows...................................3
1.3 SIP Protocol Assumptions...................................3 1.3 SIP Protocol Assumptions...................................3
2. SIP Registration...............................................5 2. SIP Registration...............................................5
2.1 Successful New Registration................................5 2.1 Successful New Registration................................5
2.2 Update of Contact List.....................................7 2.2 Update of Contact List.....................................7
2.3 Request for Current Contact List...........................9 2.3 Request for Current Contact List...........................9
2.4 Cancellation of Registration..............................11 2.4 Cancellation of Registration..............................11
2.5 Unsuccessful Registration.................................13 2.5 Unsuccessful Registration.................................13
3. SIP Session Establishment.....................................15 3. SIP Session Establishment.....................................15
3.1 Successful Session Establishment..........................15 3.1 Successful Session Establishment..........................15
3.2 Session Establishment Through Two Proxies.................18 3.2 Session Establishment Through Two Proxies.................18
3.3 Session with Multiple Proxy Authentication................28 3.3 Session with Multiple Proxy Authentication................29
3.4 Successful Session with Proxy Failure.....................38 3.4 Successful Session with Proxy Failure.....................40
3.5 Session Through a SIP ALG.................................47 3.5 Session Through a SIP ALG.................................49
3.6 Session via Redirect and Proxy Servers with SDP in ACK....55 3.6 Session via Redirect and Proxy Servers with SDP in ACK....57
3.7 Session with re-INVITE (IP Address Change)................62 3.7 Session with re-INVITE (IP Address Change)................64
3.8 Unsuccessful No Answer....................................68 3.8 Unsuccessful No Answer....................................70
3.9 Unsuccessful Busy.........................................76 3.9 Unsuccessful Busy.........................................78
3.10 Unsuccessful No Response from User Agent.................81 3.10 Unsuccessful No Response from User Agent.................83
3.11 Unsuccessful Temporarily Unavailable.....................86 3.11 Unsuccessful Temporarily Unavailable.....................88
Security Considerations..........................................91 Security Considerations..........................................93
References.......................................................91 Normative References.............................................94
Acknowledgments..................................................92 Informative References...........................................94
Author's Addresses...............................................92 Acknowledgments..................................................94
Author's Addresses...............................................95
1. Overview 1. Overview
The call flows shown in this document were developed in the design of The call flows shown in this document were developed in the design of
a SIP IP communications network. They represent an example a SIP IP communications network. They represent an example
minimum set of functionality. minimum set of functionality.
It is the hope of the authors that this document will be useful for It is the hope of the authors that this document will be useful for
SIP implementors, designers, and protocol researchers alike and will SIP implementers, designers, and protocol researchers alike and will
help further the goal of a standard implementation of RFC 3261[2]. help further the goal of a standard implementation of RFC 3261[1].
These flows represent carefully checked and working group reviewed These flows represent carefully checked and working group reviewed
scenarios of the most basic examples as a companion to the scenarios of the most basic examples as a companion to the
specifications. specifications.
These call flows are based on the current version 2.0 of SIP in These call flows are based on the current version 2.0 of SIP in
RFC 3261[2] with SDP usage described in RFC 3264[3]. Other RFCs also RFC 3261[i] with SDP usage described in RFC 3264[ii]. Other RFCs also
comprise the SIP standard but are not used in this set of basic call comprise the SIP standard but are not used in this set of basic call
flows. flows.
SIP Basic Call Flow Examples April 2003
Call flow examples of SIP interworking with the PSTN through gateways Call flow examples of SIP interworking with the PSTN through gateways
are contained in a companion document, RFC xxxx[4]. are contained in a companion document, RFC xxxx[4].
SIP Basic Call Flow Examples October 2002
1.1 General Assumptions 1.1 General Assumptions
A number of architecture, network, and protocol assumptions underlie A number of architecture, network, and protocol assumptions underlie
the call flows in this document. Note that these assumptions are not the call flows in this document. Note that these assumptions are not
requirements. They are outlined in this section so that they may be requirements. They are outlined in this section so that they may be
taken into consideration and to aid in the understanding of the call taken into consideration and to aid in the understanding of the call
flow examples. flow examples.
The authentication of SIP User Agents in these example call flows is The authentication of SIP User Agents in these example call flows is
performed using HTTP Digest as defined in [2] and [5]. performed using HTTP Digest as defined in [1] and [iii].
Some Proxy Servers in these call flows insert Record-Route headers Some Proxy Servers in these call flows insert Record-Route headers
into requests to ensure that they are in the signaling path for into requests to ensure that they are in the signaling path for
future message exchanges. future message exchanges.
These flows show TCP, TLS, and UDP for transport. Other transport These flows show TCP, TLS, and UDP for transport. See the discussion
schemes could also be used. If UDP is used, care must be taken to in RFC 3261 for details on the transport issues for SIP.
avoid packet fragmentation and congestion.
1.2 Legend for Message Flows 1.2 Legend for Message Flows
Dashed lines (---) represent signaling messages that are mandatory to Dashed lines (---) represent signaling messages that are mandatory to
the call scenario. These messages can be SIP or PSTN the call scenario. These messages can be SIP or PSTN
signaling. The arrow indicates the direction of message flow. signaling. The arrow indicates the direction of message flow.
Double dashed lines (===) represent media paths between network Double dashed lines (===) represent media paths between network
elements. elements.
skipping to change at page 3, line 46 skipping to change at page 3, line 48
messages. messages.
Messages are identified in the Figures as F1, F2, etc. This Messages are identified in the Figures as F1, F2, etc. This
references the message details in the list that follows the Figure. references the message details in the list that follows the Figure.
Comments in the message details are shown in the following form: Comments in the message details are shown in the following form:
/* Comments. */ /* Comments. */
1.3 SIP Protocol Assumptions 1.3 SIP Protocol Assumptions
This document is informational only and is NOT NORMATIVE in any This document does not prescribe the flows precisely as they are
sense, in that it does not prescribe the flows that are shown, indeed shown, but rather the flows illustrate the principles for best
they MUST NOT be copied due to the reasons described in the next practice. They are best practices usages (orderings, syntax,
paragraph. On the other hand, the basic call flows represent well- selection of features for the purpose, handling of error) of SIP
reviewed examples of SIP usage that are best common practice methods, headers and parameters. IMPORTANT: The exact flows here
according to community consensus. must not be copied as is by an implementer due to specific incorrect
characteristics that were introduced into the document for
convenience and are listed below. To sum up, the basic flows
SIP Basic Call Flow Examples April 2003
represent well-reviewed examples of SIP usage, which are best common
practice according to IETF consensus.
For simplicity in reading and editing the document, there are a For simplicity in reading and editing the document, there are a
number of differences between some of the examples and actual SIP number of differences between some of the examples and actual SIP
SIP Basic Call Flow Examples October 2002
messages. For example, the HTTP Digest responses are not actual MD5 messages. For example, the HTTP Digest responses are not actual MD5
encodings. Call-IDs are often repeated, and CSeq counts often begin encodings. Call-IDs are often repeated, and CSeq counts often begin
at 1. Header fields are usually shown in the same order. Usually at 1. Header fields are usually shown in the same order. Usually
only the minimum required header field set is shown, others that only the minimum required header field set is shown, others that
would normally be present such as Accept, Supported, Allow, etc are would normally be present such as Accept, Supported, Allow, etc are
not shown. not shown.
Actors: Actors:
Element Display Name URI IP Address Element Display Name URI IP Address
------- ------------ --- ---------- ------- ------------ --- ----------
User Agent BigGuy UserA@atlanta.com 192.0.2.101 User Agent Alice alice@atlanta.example.com 192.0.2.10
User Agent LittleGuy UserB@biloxi.com 192.0.2.201 User Agent Bob bob@biloxi.example.com 192.0.2.201
User Agent UserB@chicago.com 192.0.2.100 User Agent bob@chicago.example.com 192.0.2.100
Proxy Server ss1.atlanta.com 192.0.2.111 Proxy Server ss1.atlanta.example.com 192.0.2.111
Proxy/Registrar ss2.biloxi.com 192.0.2.222 Proxy/Registrar ss2.biloxi.example.com 192.0.2.222
Proxy Server ss3.chicago.com 192.0.2.233 Proxy Server ss3.chicago.example.com 192.0.2.233
ALG alg1.atlanta.com 192.0.2.128 ALG alg1.atlanta.example.com 192.0.2.128
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
2. SIP Registration 2. SIP Registration
Registration binds a particular device Contact URI with a SIP user Registration binds a particular device Contact URI with a SIP user
Address of Record (AOR). Address of Record (AOR).
2.1 Successful New Registration 2.1 Successful New Registration
User B SIP Server Bob SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| 401 Unauthorized F2 | | 401 Unauthorized F2 |
|<------------------------------| |<------------------------------|
| REGISTER F3 | | REGISTER F3 |
|------------------------------>| |------------------------------>|
| 200 OK F4 | | 200 OK F4 |
|<------------------------------| |<------------------------------|
| | | |
User B sends a SIP REGISTER request to the SIP server. The request Bob sends a SIP REGISTER request to the SIP server. The request
includes the user's contact list. This flow shows the use of HTTP includes the user's contact list. This flow shows the use of HTTP
Digest for authentication using TLS transport. TLS transport is used Digest for authentication using TLS transport. TLS transport is used
due to the lack of integrity protection in HTTP Digest and the danger due to the lack of integrity protection in HTTP Digest and the danger
of registration hijacking without it, as described in RFC 3261 [2]. of registration hijacking without it, as described in RFC 3261 [1].
The SIP server provides a challenge to User B. User B enters her/his The SIP server provides a challenge to Bob. Bob enters her/his valid
valid user ID and password. User B's SIP client encrypts the user user ID and password. Bob's SIP client encrypts the user information
information according to the challenge issued by the SIP server and according to the challenge issued by the SIP server and sends the
sends the response to the SIP server. The SIP server validates the response to the SIP server. The SIP server validates the user's
user's credentials. It registers the user in its contact database credentials. It registers the user in its contact database and
and returns a response (200 OK) to User B's SIP client. The response returns a response (200 OK) to Bob's SIP client. The response
includes the user's current contact list in Contact headers. The includes the user's current contact list in Contact headers. The
format of the authentication shown is HTTP digest. It is assumed format of the authentication shown is HTTP digest. It is assumed
that User B has not previously registered with this Server. that Bob has not previously registered with this Server.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@client.biloxi.com> Contact: <sips:bob@client.biloxi.example.com>
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Content-Length: 0 Content-Length: 0
F2 401 Unauthorized SIP Server -> User B F2 401 Unauthorized SIP Server -> Bob
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204 To: Bob <sips:bob@biloxi.example.com>;tag=1410948204
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="atlanta.com", qop="auth", WWW-Authenticate: Digest realm="atlanta.example.com", qop="auth",
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", nonce="ea9c8e88df84f1cec4341ae6cbe5a359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F3 REGISTER B -> SIP Server F3 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=ja743ks76zlflH From: Bob <sips:bob@biloxi.example.com>;tag=ja743ks76zlflH
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@client.biloxi.com> Contact: <sips:bob@client.biloxi.example.com>
Authorization: Digest username="UserB", realm="atlanta.com" Authorization: Digest username="bob", realm="atlanta.example.com"
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
uri="sip:ss2.biloxi.com", response="dfe56131d1958046689d83306477ecc" uri="sips:ss2.biloxi.example.com",
response="dfe56131d1958046689d83306477ecc"
Content-Length: 0 Content-Length: 0
F4 200 OK SIP Server -> B F4 200 OK SIP Server -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=ja743ks76zlflH From: Bob <sips:bob@biloxi.example.com>;tag=ja743ks76zlflH
To: LittleGuy <sip:UserB@biloxi.com>;tag=37GkEhwl6 To: Bob <sips:bob@biloxi.example.com>;tag=37GkEhwl6
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@client.biloxi.com>;expires=3600 Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
2.2 Update of Contact List 2.2 Update of Contact List
User B SIP Server Bob SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| 200 OK F2 | | 200 OK F2 |
|<------------------------------| |<------------------------------|
| | | |
User B wishes to update the list of addresses where the SIP server Bob wishes to update the list of addresses where the SIP server
will redirect or forward INVITE requests. will redirect or forward INVITE requests.
User B sends a SIP REGISTER request to the SIP server. User B's Bob sends a SIP REGISTER request to the SIP server. Bob's
request includes an updated contact list. Since the user already has request includes an updated contact list. Since the user already has
authenticated with the server, the user supplies authentication authenticated with the server, the user supplies authentication
credentials with the request and is not challenged by the server. credentials with the request and is not challenged by the server.
The SIP server validates the user's credentials. It registers the The SIP server validates the user's credentials. It registers the
user in its contact database, updates the user's contact list, and user in its contact database, updates the user's contact list, and
returns a response (200 OK) to User B's SIP client. The response returns a response (200 OK) to Bob's SIP client. The response
includes the user's current contact list in Contact headers. includes the user's current contact list in Contact headers.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: mailto:UserB@biloxi.com Contact: mailto:bob@biloxi.example.com
Authorization: Digest username="UserB", realm="atlanta.com", Authorization: Digest username="bob", realm="atlanta.example.com",
qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="",
uri="sip:ss2.biloxi.com", uri="sips:ss2.biloxi.example.com",
response="71ba27c64bd01de719686aa4590d5824" response="71ba27c64bd01de719686aa4590d5824"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com>;tag=34095828jh To: Bob <sips:bob@biloxi.example.com>;tag=34095828jh
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@client.biloxi.com>;expires=3600 Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Contact: <mailto:UserB@biloxi.com>;expires=4294967295 Contact: <mailto:bob@biloxi.example.com>;expires=4294967295
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
2.3 Request for Current Contact List 2.3 Request for Current Contact List
User B SIP Server Bob SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| 200 OK F2 | | 200 OK F2 |
|<------------------------------| |<------------------------------|
| | | |
User B sends a register request to the Proxy Server containing no Bob sends a register request to the Proxy Server containing no
Contact headers, indicating the user wishes to query the server for Contact headers, indicating the user wishes to query the server for
the user's current contact list. Since the user already has the user's current contact list. Since the user already has
authenticated with the server, the user supplies authentication authenticated with the server, the user supplies authentication
credentials with the request and is not challenged by the server. The credentials with the request and is not challenged by the server. The
SIP server validates the user's credentials. The server returns a SIP server validates the user's credentials. The server returns a
response (200 OK) which includes the user's current registration list response (200 OK) which includes the user's current registration list
in Contact headers. in Contact headers.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Authorization: Digest username="UserB", realm="atlanta.com", Authorization: Digest username="bob", realm="atlanta.example.com",
nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="",
uri="sip:ss2.biloxi.com", uri="sips:ss2.biloxi.example.com",
response="aa7ab4678258377c6f7d4be6087e2f60" response="aa7ab4678258377c6f7d4be6087e2f60"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com>;tag=jqoiweu75 To: Bob <sips:bob@biloxi.example.com>;tag=jqoiweu75
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Contact: <sip:UserB@client.biloxi.com>;expires=3600 Contact: <sips:bob@client.biloxi.example.com>;expires=3600
Contact: <mailto:UserB@biloxi.com>;expires=4294967295 Contact: <mailto:bob@biloxi.example.com>;expires=4294967295
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
2.4 Cancellation of Registration 2.4 Cancellation of Registration
User B SIP Server Bob SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| 200 OK F2 | | 200 OK F2 |
|<------------------------------| |<------------------------------|
| | | |
User B wishes to cancel their registration with the SIP Bob wishes to cancel their registration with the SIP
server. User B sends a SIP REGISTER request to the server. Bob sends a SIP REGISTER request to the
SIP server. The request has an expiration period of 0 and applies to SIP server. The request has an expiration period of 0 and applies to
all existing contact locations. Since the user already has all existing contact locations. Since the user already has
authenticated with the server, the user supplies authentication authenticated with the server, the user supplies authentication
credentials with the request and is not challenged by the server. credentials with the request and is not challenged by the server.
The SIP server validates the user's credentials. It clears the The SIP server validates the user's credentials. It clears the
user's contact list, and returns a response (200 OK) to User B's SIP user's contact list, and returns a response (200 OK) to Bob's SIP
client. client.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Expires: 0 Expires: 0
Contact: * Contact: *
Authorization: Digest username="UserB", realm="atlanta.com", Authorization: Digest username="bob", realm="atlanta.example.com",
nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="",
uri="sip:ss2.biloxi.com", uri="sips:ss2.biloxi.example.com",
response="ff0437c51696f9a76244f0cf1dbabbea" response="ff0437c51696f9a76244f0cf1dbabbea"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com>;tag=1418nmdsrf To: Bob <sips:bob@biloxi.example.com>;tag=1418nmdsrf
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
2.5 Unsuccessful Registration 2.5 Unsuccessful Registration
User B SIP Server Bob SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| 401 Unauthorized F2 | | 401 Unauthorized F2 |
|<------------------------------| |<------------------------------|
| REGISTER F3 | | REGISTER F3 |
|------------------------------>| |------------------------------>|
| 401 Unauthorized F4 | | 401 Unauthorized F4 |
|<------------------------------| |<------------------------------|
| | | |
User B sends a SIP REGISTER request to the SIP Server. The SIP Bob sends a SIP REGISTER request to the SIP Server. The SIP
server provides a challenge to User B. User B enters her/his user ID server provides a challenge to Bob. Bob enters her/his user ID
and password. User B's SIP client encrypts the user information and password. Bob's SIP client encrypts the user information
according to the challenge issued by the SIP server and sends the according to the challenge issued by the SIP server and sends the
response to the SIP server. The SIP server attempts to validate the response to the SIP server. The SIP server attempts to validate the
user's credentials, but they are not valid (the user's password does user's credentials, but they are not valid (the user's password does
not match the password established for the user's account). The not match the password established for the user's account). The
server returns a response (401 Unauthorized) to User B's SIP client. server returns a response (401 Unauthorized) to Bob's SIP client.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@client.biloxi.com> Contact: <sips:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F2 Unauthorized SIP Server -> User B F2 Unauthorized SIP Server -> Bob
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl From: Bob <sips:bob@biloxi.example.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204 To: Bob <sips:bob@biloxi.example.com>;tag=1410948204
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="atlanta.com", qop="auth", WWW-Authenticate: Digest realm="atlanta.example.com", qop="auth",
nonce="f1cec4341ae6ca9c8e88df84be55a359", nonce="f1cec4341ae6ca9c8e88df84be55a359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F3 REGISTER B -> SIP Server F3 REGISTER Bob -> SIP Server
REGISTER sip:ss2.biloxi.com SIP/2.0 REGISTER sips:ss2.biloxi.example.com SIP/2.0
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=JueHGuidj28dfga From: Bob <sips:bob@biloxi.example.com>;tag=JueHGuidj28dfga
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sips:bob@biloxi.example.com>
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@client.biloxi.com> Contact: <sips:bob@client.biloxi.example.com>
Authorization: Digest username="UserB", realm="atlanta.com", Authorization: Digest username="bob", realm="atlanta.example.com",
nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="",
uri="sip:ss2.biloxi.com", uri="sips:ss2.biloxi.example.com",
response="61f8470ceb87d7ebf508220214ed438b" response="61f8470ceb87d7ebf508220214ed438b"
Content-Length: 0 Content-Length: 0
/* The response above encodes the incorrect password */ /* The response above encodes the incorrect password */
F4 401 Unauthorized SIP Server -> User B F4 401 Unauthorized SIP Server -> Bob
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS client.biloxi.com:5061;branch=z9hG4bKnashds7 Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=JueHGuidj28dfga From: Bob <sips:bob@biloxi.example.com>;tag=JueHGuidj28dfga
To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204 To: Bob <sips:bob@biloxi.example.com>;tag=1410948204
Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
WWW-Authenticate: Digest realm="atlanta.com", qop="auth", WWW-Authenticate: Digest realm="atlanta.example.com", qop="auth",
nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3. SIP Session Establishment 3. SIP Session Establishment
This section details session establishment between two SIP User This section details session establishment between two SIP User
Agents (UAs): User A and User B. User A (LittleGuy Agents (UAs): Alice and Bob. Alice (sip:alice@atlanta.example.com)
sip:UserA@atlanta.com) and User B (BigGuy sip:UserB@biloxi.com) are and Bob (sip:bob@biloxi.example.com) are assumed to be SIP phones or
assumed to be SIP phones or SIP-enabled devices. The successful SIP-enabled devices. The successful calls show the initial
calls show the initial signaling, the exchange of media information signaling, the exchange of media information in the form of SDP
in the form of SDP payloads, the establishment of the media session, payloads, the establishment of the media session, then finally the
then finally the termination of the call. termination of the call.
HTTP Digest authentication is used by Proxy Servers to authenticate HTTP Digest authentication is used by Proxy Servers to authenticate
the caller User A. It is assumed that User B has registered with the caller Alice. It is assumed that Bob has registered with Proxy
Proxy Server Proxy 2 as per Section 2 to be able to receive the calls Server Proxy 2 as per Section 2 to be able to receive the calls via
via the Proxy. the Proxy.
3.1 Successful Session Establishment 3.1 Successful Session Establishment
User A User B Alice Bob
| | | |
| INVITE F1 | | INVITE F1 |
|----------------------->| |----------------------->|
| 180 Ringing F2 | | 180 Ringing F2 |
|<-----------------------| |<-----------------------|
| | | |
| 200 OK F3 | | 200 OK F3 |
|<-----------------------| |<-----------------------|
| ACK F4 | | ACK F4 |
|----------------------->| |----------------------->|
| Both Way RTP Media | | Both Way RTP Media |
|<======================>| |<======================>|
| | | |
| BYE F5 | | BYE F5 |
|<-----------------------| |<-----------------------|
| 200 OK F6 | | 200 OK F6 |
|----------------------->| |----------------------->|
| | | |
In this scenario, User A completes a call to User B directly. In this scenario, Alice completes a call to Bob directly.
Message Details Message Details
F1 INVITE User A -> User B F1 INVITE Alice -> Bob
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F2 180 Ringing User B -> User A F2 180 Ringing Bob -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356 To: Bob <sip:bob@biloxi.example.com>;tag=8321234356
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
F3 200 OK User B -> User A F3 200 OK Bob -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356 To: Bob <sip:bob@biloxi.example.com>;tag=8321234356
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F4 ACK User A -> User B F4 ACK Alice -> Bob
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bd5 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bd5
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356 To: Bob <sip:bob@biloxi.example.com>;tag=8321234356
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* RTP streams are established between A and B */ /* RTP streams are established between Alice and Bob */
/* User B Hangs Up with User A. Note that the CSeq is NOT 2, since /* Bob Hangs Up with Alice. Note that the CSeq is NOT 2, since
User A and User B maintain their own independent CSeq counts. Alice and Bob maintain their own independent CSeq counts.
(The INVITE was request 1 generated by User A, and the BYE is (The INVITE was request 1 generated by Alice, and the BYE is
request 1 generated by User B) */ request 1 generated by Bob) */
F5 BYE User B -> User A F5 BYE Bob -> Alice
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356 From: Bob <sip:bob@biloxi.example.com>;tag=8321234356
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F6 200 OK User A -> User B F6 200 OK Alice -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356 From: Bob <sip:bob@biloxi.example.com>;tag=8321234356
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.2 Session Establishment Through Two Proxies 3.2 Session Establishment Through Two Proxies
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| | | |--------------->| | |
| 407 F2 | | | | 407 F2 | | |
|<---------------| | | |<---------------| | |
| ACK F3 | | | | ACK F3 | | |
|--------------->| | | |--------------->| | |
| INVITE F4 | | | | INVITE F4 | | |
|--------------->| INVITE F5 | | |--------------->| INVITE F5 | |
| 100 F6 |--------------->| INVITE F7 | | 100 F6 |--------------->| INVITE F7 |
skipping to change at page 18, line 44 skipping to change at page 18, line 44
| | | BYE F18 | | | | BYE F18 |
| | BYE F19 |<---------------| | | BYE F19 |<---------------|
| BYE F20 |<---------------| | | BYE F20 |<---------------| |
|<---------------| | | |<---------------| | |
| 200 F21 | | | | 200 F21 | | |
|--------------->| 200 F22 | | |--------------->| 200 F22 | |
| |--------------->| 200 F23 | | |--------------->| 200 F23 |
| | |--------------->| | | |--------------->|
| | | | | | | |
In this scenario, User A completes a call to User B using two proxies In this scenario, Alice completes a call to Bob using two proxies
Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded Proxy 1 and Proxy 2. The initial INVITE (F1) contains a pre-loaded
Route header with the address of Proxy 1 (Proxy 1 is configured as a Route header with the address of Proxy 1 (Proxy 1 is configured as a
default outbound proxy for User A). The request does not contain the default outbound proxy for Alice). The request does not contain the
Authorization credentials Proxy 1 requires, so a 407 Proxy Authorization credentials Proxy 1 requires, so a 407 Proxy
Authorization response is sent containing the challenge information. Authorization response is sent containing the challenge information.
A new INVITE (F4) is then sent containing the correct credentials and A new INVITE (F4) is then sent containing the correct credentials and
the call proceeds. The call terminates when User B disconnects by the call proceeds. The call terminates when Bob disconnects by
initiating a BYE message. initiating a BYE message.
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Proxy 1 inserts a Record-Route header into the INVITE message to Proxy 1 inserts a Record-Route header into the INVITE message to
ensure that it is present in all subsequent message exchanges. Proxy ensure that it is present in all subsequent message exchanges. Proxy
2 also inserts itself into the Record-Route header. The ACK (F15) 2 also inserts itself into the Record-Route header. The ACK (F15)
and BYE (F18) both have a Route header. and BYE (F18) both have a Route header.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b43
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges User A for authentication */ /* Proxy 1 challenges Alice for authentication */
F2 407 Proxy Authorization Required Proxy 1 -> User A F2 407 Proxy Authorization Required Proxy 1 -> Alice
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b43
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=3flal12sf To: Bob <sip:bob@biloxi.example.com>;tag=3flal12sf
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", Proxy-Authenticate: Digest realm="atlanta.example.com", qop="auth",
nonce="f84f1cec41e6cbe5aea9c8e88d359", nonce="f84f1cec41e6cbe5aea9c8e88d359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
F3 ACK A -> Proxy 1 F3 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b43 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b43
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=3flal12sf To: Bob <sip:bob@biloxi.example.com>;tag=3flal12sf
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* Alice responds be re-sending the INVITE with authentication
credentials in it. */ credentials in it. */
F4 INVITE A -> Proxy 1 F4 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:bob@biloxi.example.com",
response="42ce3cef44b22f50c6a6071bc8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 1 accepts the credentials and forwards the INVITE to Proxy /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy
2. Proxy 1 is assumed to have been authenticated by Proxy 2 using 2. Client for Alice prepares to receive data on port 49172 from the
IPSec. Client for A prepares to receive data on port 49172 from the
network. */ network. */
F5 INVITE Proxy 1 -> Proxy 2 F5 INVITE Proxy 1 -> Proxy 2
SIP Basic Call Flow Examples April 2003
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
SIP Basic Call Flow Examples October 2002 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F6 100 Trying Proxy 1 -> User A F6 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F7 INVITE Proxy 2 -> B F7 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com> From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>
CSeq: 2 INVITE SIP Basic Call Flow Examples April 2003
Contact: <sip:UserA@client.atlanta.com;transport=tcp>
SIP Basic Call Flow Examples October 2002
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE
Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F8 100 Trying Proxy 2 -> Proxy 1 F8 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F9 180 Ringing B -> Proxy 2 F9 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Call-ID: 3848276298220188511@atlanta.example.com
Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples April 2003
F10 180 Ringing Proxy 2 -> Proxy 1 F10 180 Ringing Proxy 2 -> Proxy 1
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
SIP Basic Call Flow Examples October 2002 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Call-ID: 3848276298220188511@atlanta.example.com
Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F11 180 Ringing Proxy 1 -> A F11 180 Ringing Proxy 1 -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Call-ID: 3848276298220188511@atlanta.example.com
Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F12 200 OK B -> Proxy 2 F12 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
SIP Basic Call Flow Examples April 2003
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
SIP Basic Call Flow Examples October 2002
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F13 200 OK Proxy 2 -> Proxy 1 F13 200 OK Proxy 2 -> Proxy 1
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com;transport=tcp> Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F14 200 OK Proxy 1 -> A F14 200 OK Proxy 1 -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com;transport=tcp> SIP Basic Call Flow Examples April 2003
Contact: <sip:bob@client.biloxi.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
SIP Basic Call Flow Examples October 2002
F15 ACK A -> Proxy 1 F15 ACK Alice -> Proxy 1
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b76
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr>, <sip:ss2.biloxi.com;lr> Route: <sip:ss1.atlanta.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss2.biloxi.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F16 ACK Proxy 1 -> Proxy 2 F16 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b76
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss2.biloxi.com;lr> Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F17 ACK Proxy 2 -> B F17 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74b76 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b76
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
/* RTP streams are established between A and B */ /* RTP streams are established between Alice and Bob */
/* User B Hangs Up with User A. */ /* Bob Hangs Up with Alice. */
SIP Basic Call Flow Examples October 2002
/* Again, note that the CSeq is NOT 3. User A and User B maintain /* Again, note that the CSeq is NOT 3. Alice and Bob maintain
their own separate CSeq counts */ their own separate CSeq counts */
F18 BYE User B -> Proxy 2 F18 BYE Bob -> Proxy 2
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Route: <sip:ss2.biloxi.example.com;lr>,
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 <sip:ss1.atlanta.example.com;lr>
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 3848276298220188511@atlanta.com To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F19 BYE Proxy 2 -> Proxy 1 F19 BYE Proxy 2 -> Proxy 1
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F20 BYE Proxy 1 -> User A F20 BYE Proxy 1 -> Alice
SIP Basic Call Flow Examples April 2003
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
Max-Forwards: 68 Max-Forwards: 68
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F21 200 OK User A -> Proxy 1 F21 200 OK Alice -> Proxy 1
SIP Basic Call Flow Examples October 2002
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F22 200 OK Proxy 1 -> Proxy 2 F22 200 OK Proxy 1 -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.101 ;received=192.0.2.101
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F23 200 OK Proxy 2 -> User B F23 200 OK Proxy 2 -> Bob
SIP Basic Call Flow Examples April 2003
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 3848276298220188511@atlanta.com Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.3 Session with Multiple Proxy Authentication 3.3 Session with Multiple Proxy Authentication
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|----------->| | | |----------->| | |
| 407 Proxy Authorization Required F2 | | 407 Proxy Authorization Required F2 |
|<-----------| | | |<-----------| | |
| ACK F3 | | | | ACK F3 | | |
|----------->| | | |----------->| | |
| INVITE F4 | | | | INVITE F4 | | |
|----------->| | | |----------->| | |
| 100 F5 | | | | 100 F5 | | |
skipping to change at page 28, line 48 skipping to change at page 29, line 48
| | 200 OK F17|<------------| | | 200 OK F17|<------------|
| 200 OK F18 |<----------| | | 200 OK F18 |<----------| |
|<-----------| | | |<-----------| | |
| ACK F19 | | | | ACK F19 | | |
|----------->| ACK F20 | | |----------->| ACK F20 | |
| |---------->| ACK F21 | | |---------->| ACK F21 |
| | |------------>| | | |------------>|
| RTP Media Path | | RTP Media Path |
|<====================================>| |<====================================>|
In this scenario, User A completes a call to User B using two proxies In this scenario, Alice completes a call to Bob using two proxies
Proxy 1 and Proxy 2. User A has valid credentials in both domains. Proxy 1 and Proxy 2. Alice has valid credentials in both domains.
Since the initial INVITE (F1) does not contain the Since the initial INVITE (F1) does not contain the
Authorization credentials Proxy 1 requires, so a 407 Proxy Authorization credentials Proxy 1 requires, so a 407 Proxy
Authorization response is sent containing the challenge information. Authorization response is sent containing the challenge information.
A new INVITE (F4) is then sent containing the correct credentials and A new INVITE (F4) is then sent containing the correct credentials and
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
the call proceeds after Proxy 2 challenges and receives valid the call proceeds after Proxy 2 challenges and receives valid
credentials. The call terminates when User B disconnects by credentials. The call terminates when Bob disconnects by
initiating a BYE message. initiating a BYE message.
Proxy 1 inserts a Record-Route header into the INVITE message to Proxy 1 inserts a Record-Route header into the INVITE message to
ensure that it is present in all subsequent message exchanges. Proxy ensure that it is present in all subsequent message exchanges. Proxy
2 also inserts itself into the Record-Route header. 2 also inserts itself into the Record-Route header.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b03
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 1 challenges User A for authentication */ /* Proxy 1 challenges Alice for authentication */
F2 407 Proxy Authorization Required Proxy 1 -> User A F2 407 Proxy Authorization Required Proxy 1 -> Alice
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b03
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=876321 To: Bob <sip:bob@biloxi.example.com>;tag=876321
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="atlanta.com", qop="auth", Proxy-Authenticate: Digest realm="atlanta.example.com", qop="auth",
nonce="wf84f1cczx41ae6cbeaea9ce88d359", nonce="wf84f1cczx41ae6cbeaea9ce88d359",
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F3 ACK A -> Proxy 1 F3 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Max-Forwards: 70 Max-Forwards: 70
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b03 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b03
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=876321 To: Bob <sip:bob@biloxi.example.com>;tag=876321
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* Alice responds be re-sending the INVITE with authentication
credentials in it. The same Call-ID is used, so the CSeq is credentials in it. The same Call-ID is used, so the CSeq is
increased. */ increased. */
F4 INVITE A -> Proxy 1 F4 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:bob@biloxi.example.com",
response="42ce3cef44b22f50c6a6071bc8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 1 accepts the credentials and forwards the INVITE to Proxy /* Proxy 1 accepts the credentials and forwards the INVITE to Proxy
2. Proxy 1 is assumed to have been authenticated by Proxy 2 using SIP Basic Call Flow Examples April 2003
IPSec. Client for A prepares to receive data on port 49172 from the
SIP Basic Call Flow Examples October 2002
2. Client for Alice prepares to receive data on port 49172 from the
network. */ network. */
F5 100 Trying Proxy 1 -> User A F5 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F6 INVITE Proxy 1 -> Proxy 2 F6 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 2 challenges User A for authentication */ /* Proxy 2 challenges Alice for authentication */
F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1 F7 407 Proxy Authorization Required Proxy 2 -> Proxy 1
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
To: LittleGuy <sip:UserB@biloxi.com>;tag=838209 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=838209
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", Proxy-Authenticate: Digest realm="biloxi.example.com", qop="auth",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", nonce="c1e22c41ae6cbe5ae983a9c8e88d359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F8 ACK Proxy 1 -> Proxy 2 F8 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=838209 To: Bob <sip:bob@biloxi.example.com>;tag=838209
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
/* Proxy 1 forwards the challenge to User A for authentication from /* Proxy 1 forwards the challenge to Alice for authentication from
Proxy 2 */ Proxy 2 */
F9 407 Proxy Authorization Required Proxy 1 -> User A F9 407 Proxy Authorization Required Proxy 1 -> Alice
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=838209 To: Bob <sip:bob@biloxi.example.com>;tag=838209
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", Proxy-Authenticate: Digest realm="biloxi.example.com", qop="auth",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", nonce="c1e22c41ae6cbe5ae983a9c8e88d359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F10 ACK User A -> Proxy 1 F10 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b21 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b21
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=838209 To: Bob <sip:bob@biloxi.example.com>;tag=838209
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
SIP Basic Call Flow Examples April 2003
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:bob@biloxi.example.com",
response="42ce3cef44b22f50c6a6071bc8"
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
/* User A responds be re-sending the INVITE with authentication /* Alice responds be re-sending the INVITE with authentication
credentials for Proxy 1 AND Proxy 2. */ credentials for Proxy 1 AND Proxy 2. */
F11 INVITE A -> Proxy 1 F11 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:bob@biloxi.example.com",
Proxy-Authorization: Digest username="UserA", realm="biloxi.com", response="42ce3cef44b22f50c6a6071bc8"
Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" uri="sip:bob@biloxi.example.com", response="f44ab22f150c6a56071bce8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 1 finds its credentials and authorizes User A, forwarding /* Proxy 1 finds its credentials and authorizes Alice, forwarding the
the INVITE to Proxy. */ INVITE to Proxy. */
F12 100 Trying Proxy 1 -> User A F12 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
F13 INVITE Proxy 1 -> Proxy 2 F13 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="biloxi.com", Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8" uri="sip:bob@biloxi.example.com", response="f44ab22f150c6a56071bce8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 2 finds its credentials and authorizes User A, forwarding /* Proxy 2 finds its credentials and authorizes Alice, forwarding the
the INVITE to User B. */ INVITE to Bob. */
F14 100 Trying Proxy 2 -> Proxy 1 F14 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> SIP Basic Call Flow Examples April 2003
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Content-Length: 0 Content-Length: 0
F15 INVITE Proxy 2 -> User B F15 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1
SIP Basic Call Flow Examples October 2002
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK31972.1
Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com> From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* User B answers the call immediately */ /* Bob answers the call immediately */
F16 200 OK User B -> Proxy 2 F16 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK31972.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=9103874
SIP Basic Call Flow Examples April 2003
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
SIP Basic Call Flow Examples October 2002
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F17 200 OK Proxy 2 -> Proxy 1 F17 200 OK Proxy 2 -> Proxy 1
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F18 200 OK Proxy 1 -> User A F18 200 OK Proxy 1 -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com SIP Basic Call Flow Examples April 2003
To: Bob <sip:bob@biloxi.example.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
SIP Basic Call Flow Examples October 2002
F19 ACK User A -> Proxy 1 F19 ACK Alice -> Proxy 1
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b44
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr>, <sip:ss2.biloxi.com;lr> Route: <sip:ss1.atlanta.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss2.biloxi.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 ACK CSeq: 3 ACK
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:bob@biloxi.example.com",
response="42ce3cef44b22f50c6a6071bc8"
Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:bob@biloxi.example.com", response="f44ab22f150c6a56071bce8"
Content-Length: 0 Content-Length: 0
F20 ACK Proxy 1 -> Proxy 2 F20 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b44
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss2.biloxi.com;lr> Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 To: Bob <sip:bob@biloxi.example.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com SIP Basic Call Flow Examples April 2003
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 ACK CSeq: 3 ACK
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:bob@biloxi.example.com", response="f44ab22f150c6a56071bce8"
Content-Length: 0 Content-Length: 0
F21 ACK Proxy 2 -> User A F21 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK31972.1
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK230f2.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b44
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874 To: Bob <sip:bob@biloxi.example.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 3 ACK CSeq: 3 ACK
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.4 Successful Session with Proxy Failure 3.4 Successful Session with Proxy Failure
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| | | |--------------->| | |
| INVITE F2 | | | | INVITE F2 | | |
|--------------->| | | |--------------->| | |
| INVITE F3 | | | | INVITE F3 | | |
|--------------->| | | |--------------->| | |
| INVITE F4 | | | | INVITE F4 | | |
|--------------->| | | |--------------->| | |
| INVITE F5 | | | | INVITE F5 | | |
skipping to change at page 39, line 4 skipping to change at page 41, line 4
| |--------------->| | |--------------->|
| Both Way RTP Media | | Both Way RTP Media |
|<================================================>| |<================================================>|
| | BYE F20 | | | BYE F20 |
| BYE F21 |<---------------| | BYE F21 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| 200 F22 | | | 200 F22 | |
|-------------------------------->| 200 F23 | |-------------------------------->| 200 F23 |
| |--------------->| | |--------------->|
| | | | | |
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
In this scenario, User A completes a call to User B via a Proxy In this scenario, Alice completes a call to Bob via a Proxy Server.
Server. User A is configured for a primary SIP Proxy Server Proxy 1 Alice is configured for a primary SIP Proxy Server Proxy 1 and a
and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV records
records to locate Proxy 1 and Proxy 2). User A has valid credentials to locate Proxy 1 and Proxy 2). Alice has valid credentials for both
for both domains. Proxy 1 is out of service and does not respond to domains. Proxy 1 is out of service and does not respond to INVITEs
INVITEs (it is reachable, but unresponsive). User A then completes (it is reachable, but unresponsive). Alice then completes the call
the call to User B using Proxy 2. to Bob using Proxy 2.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK465b6d Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK465b6d
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F2 INVITE A -> Proxy 1 F2 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
F3 INVITE A -> Proxy 1 F3 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
F4 INVITE A -> Proxy 1 F4 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
F5 INVITE A -> Proxy 1 F5 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
F6 INVITE A -> Proxy 1 F6 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
F7 INVITE A -> Proxy 1 F7 INVITE Alice -> Proxy 1
Same as Message F1 Same as Message F1
/* User A gives up on the unresponsive proxy */ /* Alice gives up on the unresponsive proxy */
F8 INVITE A -> Proxy 2 F8 INVITE Alice -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Proxy 2 challenges User A for authentication */ /* Proxy 2 challenges Alice for authentication */
F9 407 Proxy Authorization Required Proxy 2 -> User A F9 407 Proxy Authorization Required Proxy 2 -> Alice
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
To: LittleGuy <sip:UserB@biloxi.com>;tag=2421452 To: Bob <sip:bob@biloxi.example.com>;tag=2421452
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="biloxi.com", qop="auth", Proxy-Authenticate: Digest realm="biloxi.example.com", qop="auth",
nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F10 ACK A -> Proxy 2 F10 ACK Alice -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8a Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8a
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=2421452 To: Bob <sip:bob@biloxi.example.com>;tag=2421452
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* Alice responds be re-sending the INVITE with authentication
credentials in it. */ credentials in it. */
F11 INVITE A -> Proxy 2 F11 INVITE Alice -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="biloxi.com", Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="8a880c919d1a52f20a1593e228adf599" response="8a880c919d1a52f20a1593e228adf599"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
/* Proxy 2 accepts the credentials and forwards the INVITE to User B. /* Proxy 2 accepts the credentials and forwards the INVITE to Bob.
Client for A prepares to receive data on port 49172 from the network. Client for Alice prepares to receive data on port 49172 from the
network.
*/ */
F12 INVITE Proxy 2 -> B F12 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss2.biloxi.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F13 100 Trying Proxy 2 -> User A F13 100 Trying Proxy 2 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F14 180 Ringing B -> Proxy 2 F14 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
SIP Basic Call Flow Examples October 2002 Record-Route: <sip:ss2.biloxi.example.com;lr>
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Record-Route: <sip:ss2.biloxi.com;lr> To: Bob <sip:bob@biloxi.example.com>;tag=314159
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F15 180 Ringing Proxy 2 -> A F15 180 Ringing Proxy 2 -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F16 200 OK B -> Proxy 2 F16 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
SIP Basic Call Flow Examples April 2003
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F17 200 OK Proxy 2 -> A F17 200 OK Proxy 2 -> Alice
SIP Basic Call Flow Examples October 2002
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F18 ACK A -> Proxy 2 F18 ACK Alice -> Proxy 2
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8g Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8g
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.biloxi.com;lr> Route: <sip:ss2.biloxi.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F19 ACK Proxy 2 -> B F19 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b8g ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b8g
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl SIP Basic Call Flow Examples April 2003
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
/* RTP streams are established between A and B */ /* RTP streams are established between Alice and Bob */
/* User B Hangs Up with User A. */ /* Bob Hangs Up with Alice. */
F20 BYE User B -> Proxy 2 F20 BYE Bob -> Proxy 2
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.biloxi.com;lr> Route: <sip:ss2.biloxi.example.com;lr>
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F21 BYE Proxy 2 -> User A F21 BYE Proxy 2 -> Alice
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
Max-Forwards: 69 Max-Forwards: 69
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F22 200 OK User A -> Proxy 2 F22 200 OK Alice -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com SIP Basic Call Flow Examples April 2003
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F23 200 OK Proxy 2 -> User B F23 200 OK Proxy 2 -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.example.com:5060;branch=z9hG4bKnashds7
SIP Basic Call Flow Examples October 2002
;received=192.0.2.201 ;received=192.0.2.201
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.5 Session Through a SIP ALG 3.5 Session Through a SIP ALG
User A ALG Proxy 2 User B Alice ALG Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| INVITE F2 | | |--------------->| INVITE F2 | |
| 100 F3 |--------------->| INVITE F4 | | 100 F3 |--------------->| INVITE F4 |
|<---------------| 100 F5 |--------------->| |<---------------| 100 F5 |--------------->|
| |<---------------| 180 F6 | | |<---------------| 180 F6 |
| | 180 F7 |<---------------| | | 180 F7 |<---------------|
| 180 F8 |<---------------| | | 180 F8 |<---------------| |
|<---------------| | 200 F9 | |<---------------| | 200 F9 |
| | 200 F10 |<---------------| | | 200 F10 |<---------------|
skipping to change at page 47, line 34 skipping to change at page 49, line 34
| RTP Media | Both Way RTP Media | | RTP Media | Both Way RTP Media |
|<==============>|<===============================>| |<==============>|<===============================>|
| BYE F14 | | | BYE F14 | |
|--------------->| BYE F15 | |--------------->| BYE F15 |
| |-------------------------------->| | |-------------------------------->|
| | 200 F16 | | | 200 F16 |
| 200 F17 |<--------------------------------| | 200 F17 |<--------------------------------|
|<---------------| | |<---------------| |
| | | | | |
User A completes a call to User B through a ALG (Application Layer Alice completes a call to Bob through a ALG (Application Layer
Gateway) and a SIP Proxy. The routing through the ALG is Gateway) and a SIP Proxy. The routing through the ALG is
accomplished using a pre-loaded Route header in the INVITE F1. Note accomplished using a pre-loaded Route header in the INVITE F1. Note
that the media stream setup is not end-to-end - the ALG terminates that the media stream setup is not end-to-end - the ALG terminates
both media streams and bridges them. This is done by the ALG both media streams and bridges them. This is done by the ALG
modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and
possibly any 18x or ACK messages containing SDP. possibly any 18x or ACK messages containing SDP.
In addition to firewall traversal, this Back-to-Back User Agent In addition to firewall traversal, this Back-to-Back User Agent
(B2BUA) could be used as part of an anonymizer (B2BUA) could be used as part of an anonymizer
service (in which all identifying information on User A would be service (in which all identifying information on Alice would be
removed), or to perform codec media conversion, such as mu-law to A- removed), or to perform codec media conversion, such as mu-law to A-
law conversion of PCM on an international call. law conversion of PCM on an international call.
Also note that Proxy 2 does not Record-Route in this call flow. Also note that Proxy 2 does not Record-Route in this call flow.
Message Details Message Details
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
F1 INVITE A -> SIP ALG F1 INVITE Alice -> SIP ALG
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Route: <sip:alg1.atlanta.com;lr> Route: <sip:alg1.atlanta.example.com;lr>
Proxy-Authorization: Digest username="UserA", realm="biloxi.com", Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="b3f392f9218a328b9294076d708e6815" response="b3f392f9218a328b9294076d708e6815"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* Client for A prepares to receive data on port 49172 from the /* Client for Alice prepares to receive data on port 49172 from the
network. */ network. */
F2 INVITE SIP ALG -> Proxy 2 F2 INVITE SIP ALG -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="biloxi.com", Proxy-Authorization: Digest username="alice",
realm="biloxi.example.com",
nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="b3f392f9218a328b9294076d708e6815" response="b3f392f9218a328b9294076d708e6815"
SIP Basic Call Flow Examples April 2003
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 142 Content-Length: 150
SIP Basic Call Flow Examples October 2002
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.128 c=IN IP4 192.0.2.128
t=0 0 t=0 0
m=audio 2000 RTP/AVP 0 m=audio 2000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying SIP ALG -> A F3 100 Trying SIP ALG -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
/* SIP ALG prepares to proxy data from port 192.0.2.128/2000 to /* SIP ALG prepares to proxy data from port 192.0.2.128/2000 to
192.0.2.101/49172. Proxy 2 uses a Location Service function to 192.0.2.101/49172. Proxy 2 uses a Location Service function to
determine where B is located. Based upon location analysis the call determine where Bob is located. Based upon location analysis the call
is forwarded to User B */ is forwarded to Bob */
F4 INVITE Proxy 2 -> B F4 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 142 Content-Length: 150
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
SIP Basic Call Flow Examples April 2003
s=- s=-
c=IN IP4 192.0.2.128 c=IN IP4 192.0.2.128
SIP Basic Call Flow Examples October 2002
t=0 0 t=0 0
m=audio 2000 RTP/AVP 0 m=audio 2000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F5 100 Trying Proxy 2 -> SIP ALG F5 100 Trying Proxy 2 -> SIP ALG
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 180 Ringing B -> Proxy 2 F6 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F7 180 Ringing Proxy 2 -> SIP ALG F7 180 Ringing Proxy 2 -> SIP ALG
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com SIP Basic Call Flow Examples April 2003
CSeq: 1 INVITE
SIP Basic Call Flow Examples October 2002
Contact: <sip:UserB@client.biloxi.com> Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE
Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F8 180 Ringing SIP ALG -> A F8 180 Ringing SIP ALG -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F9 200 OK B -> Proxy 2 F9 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F10 200 OK Proxy 2 -> SIP ALG F10 200 OK Proxy 2 -> SIP ALG
SIP Basic Call Flow Examples April 2003
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
SIP Basic Call Flow Examples October 2002
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F11 200 OK SIP ALG -> A F11 200 OK SIP ALG -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:alg1.atlanta.com;lr> Record-Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.128 c=IN IP4 192.0.2.128
t=0 0 t=0 0
m=audio 1734 RTP/AVP 0 m=audio 1734 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* The ALG prepares to proxy packets from 192.0.2.128/ /* The ALG prepares to proxy packets from 192.0.2.128/
1734 to 192.0.2.201/3456 */ 1734 to 192.0.2.201/3456 */
SIP Basic Call Flow Examples April 2003
F12 ACK A -> SIP ALG F12 ACK Alice -> SIP ALG
SIP Basic Call Flow Examples October 2002
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bhh Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bhh
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:alg1.atlanta.com;lr> Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F13 ACK SIP ALG -> B F13 ACK SIP ALG -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bhh Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bhh
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* RTP streams are established between A and the ALG and /* RTP streams are established between Alice and the ALG and
between the ALG and B*/ between the ALG and B*/
/* User A Hangs Up with User B. */ /* Alice Hangs Up with Bob. */
F14 BYE A -> SIP ALG F14 BYE Alice -> SIP ALG
BYE sip:UserB@client.biloxi.com SIP/2.0 BYE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:alg1.atlanta.com;lr> Route: <sip:alg1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F15 BYE SIP ALG -> B F15 BYE SIP ALG -> Bob
BYE sip:UserB@client.biloxi.com SIP/2.0 BYE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 SIP Basic Call Flow Examples April 2003
;received=192.0.2.101
SIP Basic Call Flow Examples October 2002
Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F16 200 OK B -> SIP ALG F16 200 OK Bob -> SIP ALG
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.example.com:5060;branch=z9hG4bK739578.1
;received=192.0.2.128 ;received=192.0.2.128
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F17 200 OK SIP ALG -> A F17 200 OK SIP ALG -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74be5 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74be5
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.6 Session via Redirect and Proxy Servers with SDP in ACK 3.6 Session via Redirect and Proxy Servers with SDP in ACK
User A Redirect Server Proxy 3 User B Alice Redirect Server Proxy 3 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| | | |--------------->| | |
| 302 F2 | | | | 302 F2 | | |
|<---------------| | | |<---------------| | |
| ACK F3 | | | | ACK F3 | | |
|--------------->| | | |--------------->| | |
| INVITE F4 | | | INVITE F4 | |
|-------------------------------->| INVITE F5 | |-------------------------------->| INVITE F5 |
| 100 F6 |--------------->| | 100 F6 |--------------->|
skipping to change at page 55, line 38 skipping to change at page 57, line 38
| Both Way RTP Media | | Both Way RTP Media |
|<================================================>| |<================================================>|
| | BYE F13 | | | BYE F13 |
| BYE F14 |<---------------| | BYE F14 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| 200 F15 | | | 200 F15 | |
|-------------------------------->| 200 F16 | |-------------------------------->| 200 F16 |
| |--------------->| | |--------------->|
| | | | | |
In this scenario, User A places a call to User B using first a In this scenario, Alice places a call to Bob using first a
Redirect server then a Proxy Server. The INVITE message is first Redirect server then a Proxy Server. The INVITE message is first
sent to the Redirect Server. The Server returns a 302 Moved sent to the Redirect Server. The Server returns a 302 Moved
Temporarily response (F2) containing a Contact header with User B's Temporarily response (F2) containing a Contact header with Bob's
current SIP address. User A then generates a new INVITE and sends to current SIP address. Alice then generates a new INVITE and sends to
User B via the Proxy Server and the call proceeds normally. In this Bob via the Proxy Server and the call proceeds normally. In this
example, no SDP is present in the INVITE, so the SDP is carried in example, no SDP is present in the INVITE, so the SDP is carried in
the ACK message. the ACK message.
The call is terminated when User B sends a BYE message. The call is terminated when Bob sends a BYE message.
Message Details Message Details
F1 INVITE A -> Redirect Server F1 INVITE Alice -> Redirect Server
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Length: 0 Content-Length: 0
F2 302 Moved Temporarily Redirect Proxy -> A F2 302 Moved Temporarily Redirect Proxy -> Alice
SIP/2.0 302 Moved Temporarily SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=53fHlqlQ2 To: Bob <sip:bob@biloxi.example.com>;tag=53fHlqlQ2
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@chicago.com;transport=tcp> Contact: <sip:bob@chicago.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
F3 ACK A -> Redirect Server F3 ACK Alice -> Redirect Server
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bKbf9f44
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=53fHlqlQ2 To: Bob <sip:bob@biloxi.example.com>;tag=53fHlqlQ2
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F4 INVITE A -> Proxy 3 F4 INVITE Alice -> Proxy 3
INVITE sip:UserB@chicago.com SIP/2.0 INVITE sip:bob@chicago.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
F5 INVITE Proxy 3 -> B F5 INVITE Proxy 3 -> Bob
INVITE sip:UserB@client.chicago.com SIP/2.0 INVITE sip:bob@client.chicago.example.com SIP/2.0
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss3.chicago.com;lr> Record-Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
F6 100 Trying Proxy 3 -> A F6 100 Trying Proxy 3 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F7 180 Ringing B -> Proxy 3 F7 180 Ringing Bob -> Proxy 3
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.233 ;received=192.0.2.233
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss3.chicago.com;lr> Record-Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.chicago.com;transport=tcp> Contact: <sip:bob@client.chicago.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
F8 180 Ringing Proxy 3 -> A F8 180 Ringing Proxy 3 -> Alice
SIP Basic Call Flow Examples April 2003
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
SIP Basic Call Flow Examples October 2002
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss3.chicago.com;lr> Record-Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.chicago.com;transport=tcp> Contact: <sip:bob@client.chicago.example.com;transport=tcp>
Content-Length: 0 Content-Length: 0
F9 200 OK B -> Proxy 3 F9 200 OK Bob -> Proxy 3
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.233 ;received=192.0.2.233
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss3.chicago.com;lr> Record-Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.chicago.com;transport=tcp> Contact: <sip:bob@client.chicago.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 142 Content-Length: 148
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.chicago.com o=bob 2890844527 2890844527 IN IP4 client.chicago.example.com
s=- s=-
c=IN IP4 192.0.2.100 c=IN IP4 192.0.2.100
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F10 200 OK Proxy -> A F10 200 OK Proxy -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss3.chicago.com;lr> Record-Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@client.chicago.com;transport=tcp> Contact: <sip:bob@client.chicago.example.com;transport=tcp>
SIP Basic Call Flow Examples April 2003
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 142 Content-Length: 148
SIP Basic Call Flow Examples October 2002
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.chicago.com o=bob 2890844527 2890844527 IN IP4 client.chicago.example.com
s=- s=-
c=IN IP4 192.0.2.100 c=IN IP4 192.0.2.100
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* ACK contains SDP of A since none present in INVITE */ /* ACK contains SDP of Alice since none present in INVITE */
F11 ACK A -> Proxy 3 F11 ACK Alice -> Proxy 3
ACK sip:UserB@client.chicago.com SIP/2.0 ACK sip:bob@client.chicago.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bq9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bq9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss3.chicago.com;lr> Route: <sip:ss3.chicago.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F12 ACK Proxy 3 -> B F12 ACK Proxy 3 -> Bob
ACK sip:UserB@client.chicago.com SIP/2.0 ACK sip:bob@client.chicago.example.com SIP/2.0
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bq9 ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bq9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 SIP Basic Call Flow Examples April 2003
v=0 Content-Length: 151
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
SIP Basic Call Flow Examples October 2002
v=0
o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/* RTP streams are established between A and B*/ /* RTP streams are established between Alice and Bob */
/* User B Hangs Up with User A. */ /* Bob Hangs Up with Alice. */
F13 BYE B -> Proxy 3 F13 BYE Bob -> Proxy 3
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss3.chicago.com;lr> Route: <sip:ss3.chicago.example.com;lr>
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F14 BYE Proxy 3 -> A F14 BYE Proxy 3 -> Alice
BYE sip:UserA@client.atlanta.com SIP/2.0 BYE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.100 ;received=192.0.2.100
Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
Max-Forwards: 69 Max-Forwards: 69
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F15 200 OK A -> Proxy 3 F15 200 OK Alice -> Proxy 3
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss3.chicago.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.233 ;received=192.0.2.233
Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
SIP Basic Call Flow Examples April 2003
;received=192.0.2.100 ;received=192.0.2.100
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
F16 200 OK Proxy 3 -> B F16 200 OK Proxy 3 -> Bob
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP client.chicago.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/TCP client.chicago.example.com:5060;branch=z9hG4bKfgaw2
;received=192.0.2.100 ;received=192.0.2.100
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.7 Session with re-INVITE (IP Address Change) 3.7 Session with re-INVITE (IP Address Change)
User A Proxy 2 User B Alice Proxy 2 Bob
| F1 INVITE | | | F1 INVITE | |
|------------------->| F2 INVITE | |------------------->| F2 INVITE |
| F3 100 Trying |------------------->| | F3 100 Trying |------------------->|
|<-------------------| F4 180 Ringing | |<-------------------| F4 180 Ringing |
| F5 180 Ringing |<-------------------| | F5 180 Ringing |<-------------------|
|<-------------------| | |<-------------------| |
| | F6 200 OK | | | F6 200 OK |
| F7 200 OK |<-------------------| | F7 200 OK |<-------------------|
|<-------------------| | |<-------------------| |
| F8 ACK | | F8 ACK |
|---------------------------------------->| |---------------------------------------->|
| Both Way RTP Media Established | | Both Way RTP Media Established |
|<=======================================>| |<=======================================>|
| | | |
| B changes IP address | | Bob changes IP address |
| | | |
| F9 INVITE | | F9 INVITE |
|<----------------------------------------| |<----------------------------------------|
| F10 200 OK | | F10 200 OK |
|---------------------------------------->| |---------------------------------------->|
| F11 ACK | | F11 ACK |
|<----------------------------------------| |<----------------------------------------|
| New RTP Media Stream | | New RTP Media Stream |
|<=======================================>| |<=======================================>|
| F12 BYE | | F12 BYE |
|---------------------------------------->| |---------------------------------------->|
| F25 200 OK | | F25 200 OK |
|<----------------------------------------| |<----------------------------------------|
| | | |
This example shows a session in which the media is changes midway This example shows a session in which the media is changes midway
through the session. When User BĘs IP address changes during the through the session. When BobĘs IP address changes during the
session, User B sends a re-INVITE containing a new Contact and SDP session, Bob sends a re-INVITE containing a new Contact and SDP
(version number incremented) information to A. In this flow, the (version number incremented) information to A. In this flow, the
proxy does not Record-Route so is not in the SIP messaging path after proxy does not Record-Route so is not in the SIP messaging path after
the initial exchange. the initial exchange.
Message Details Message Details
F1 INVITE A -> Proxy 2 F1 INVITE Alice -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F2 INVITE Proxy 2 -> B F2 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying Proxy 2 -> A F3 100 Trying Proxy 2 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 180 Ringing B -> Proxy 2 F4 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F5 180 Ringing Proxy 2 -> A F5 180 Ringing Proxy 2 -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F6 200 OK B -> Proxy 2 F6 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F7 200 OK Proxy 2 -> A F7 200 OK Proxy 2 -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 141 Content-Length: 147
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com
s=- s=-
c=IN IP4 192.0.2.201 c=IN IP4 192.0.2.201
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F8 ACK A -> B F8 ACK Alice -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74b7b Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74b7b
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* RTP streams are established between A and B */ /* RTP streams are established between Alice and Bob */
/* B changes IP address and re-INVITEs A with new Contact and SDP */ /* Bob changes IP address and re-INVITEs Alice with new Contact and
SDP */
F9 INVITE B -> A F9 INVITE Bob -> Alice
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
INVITE sip:UserA@client.atlanta.com SIP/2.0 INVITE sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkld5l
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 14 INVITE CSeq: 14 INVITE
Contact: <sip:UserB@client.chicago.com> Contact: <sip:bob@client.chicago.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 149
v=0 v=0
o=UserB 2890844527 2890844528 IN IP4 client.chicago.com o=bob 2890844527 2890844528 IN IP4 client.chicago.example.com
s=- s=-
c=IN IP4 192.0.2.100 c=IN IP4 192.0.2.100
t=0 0 t=0 0
m=audio 47172 RTP/AVP 0 m=audio 47172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F10 200 OK A ->B F10 200 OK Alice ->B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkld5l
;received=192.0.2.100 ;received=192.0.2.100
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Bob <sip:bob@biloxi.example.com>;tag=314159
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 14 INVITE CSeq: 14 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 150
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 1000 RTP/AVP 0 m=audio 1000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F11 ACK B -> A F11 ACK Bob -> Alice
ACK sip:UserA@client.atlanta.com SIP/2.0 ACK sip:alice@client.atlanta.example.com SIP/2.0
Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkldcc Via: SIP/2.0/UDP client.chicago.example.com:5060;branch=z9hG4bKlkldcc
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@biloxi.com>;tag=314159 SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 14 ACK CSeq: 14 ACK
Content-Length: 0 Content-Length: 0
/* New RTP stream established between A and B */ /* New RTP stream established between Alice and Bob */
/* A hangs up with B */ /* Alice hangs up with Bob */
F12 BYE A -> B F12 BYE Alice -> Bob
BYE sip:UserB@client.chicago.com SIP/2.0 BYE sip:bob@client.chicago.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bo4 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bo4
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F13 200 OK B -> A F13 200 OK Bob -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bo4 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bo4
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.8 Unsuccessful No Answer 3.8 Unsuccessful No Answer
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| INVITE F2 | | |--------------->| INVITE F2 | |
| 100 F3 |--------------->| INVITE F4 | | 100 F3 |--------------->| INVITE F4 |
|<---------------| 100 F5 |--------------->| |<---------------| 100 F5 |--------------->|
| |<---------------| | | |<---------------| |
| | | 180 F6 | | | | 180 F6 |
| | 180 F7 |<---------------| | | 180 F7 |<---------------|
| 180 F8 |<---------------| | | 180 F8 |<---------------| |
|<---------------| | | |<---------------| | |
skipping to change at page 68, line 43 skipping to change at page 70, line 43
| | | ACK F16 | | | | ACK F16 |
| | 487 F17 |--------------->| | | 487 F17 |--------------->|
| |<---------------| | | |<---------------| |
| | ACK F18 | | | | ACK F18 | |
| 487 F19 |--------------->| | | 487 F19 |--------------->| |
|<---------------| | | |<---------------| | |
| ACK F20 | | | | ACK F20 | | |
|--------------->| | | |--------------->| | |
| | | | | | | |
In this scenario, User A gives up on the call before User B answers In this scenario, Alice gives up on the call before Bob answers
(sends a 200 OK response). User A sends a CANCEL (F9) since no final (sends a 200 OK response). Alice sends a CANCEL (F9) since no final
response had been received from User B. If a 200 OK to the INVITE response had been received from Bob. If a 200 OK to the INVITE
had crossed with the CANCEL, User A would have sent an ACK then a BYE had crossed with the CANCEL, Alice would have sent an ACK then a BYE
to User B in order to properly terminate the call. to Bob in order to properly terminate the call.
Note that the CANCEL message is acknowledged with a 200 OK on a hop Note that the CANCEL message is acknowledged with a 200 OK on a hop
by hop basis, rather than end to end. by hop basis, rather than end to end.
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="b00b416324679d7e243f55708d44be7b" response="b00b416324679d7e243f55708d44be7b"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/*Client for A prepares to receive data on port 49172 from the /*Client for Alice prepares to receive data on port 49172 from the
network.*/ network.*/
F2 INVITE Proxy 1 -> Proxy 2 F2 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying Proxy 1 -> A F3 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> B F4 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.client.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
<sip:ss1.atlanta.example.com;lr>
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
SIP Basic Call Flow Examples April 2003
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
SIP Basic Call Flow Examples October 2002
F5 100 Trying Proxy 2 -> Proxy 1 F5 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 180 Ringing B -> Proxy 2 F6 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.client.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F7 180 Ringing Proxy 2 -> Proxy 1 F7 180 Ringing Proxy 2 -> Proxy 1
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
SIP Basic Call Flow Examples April 2003
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F8 180 Ringing Proxy 1 -> A F8 180 Ringing Proxy 1 -> Alice
SIP Basic Call Flow Examples October 2002
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F9 CANCEL A -> Proxy 1 F9 CANCEL Alice -> Proxy 1
CANCEL sip:UserB@biloxi.com SIP/2.0 CANCEL sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Route: <sip:ss1.atlanta.example.com;lr>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F10 200 OK Proxy 1 -> A F10 200 OK Proxy 1 -> Alice
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F11 CANCEL Proxy 1 -> Proxy 2 F11 CANCEL Proxy 1 -> Proxy 2
CANCEL sip:UserA@atlanta.com SIP/2.0 CANCEL sip:alice@atlanta.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
SIP Basic Call Flow Examples April 2003
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
F12 200 OK Proxy 2 -> Proxy 1 F12 200 OK Proxy 2 -> Proxy 1
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F13 CANCEL Proxy 2 -> B F13 CANCEL Proxy 2 -> Bob
CANCEL sip:UserB@client.biloxi.com SIP/2.0 CANCEL sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F14 200 OK B -> Proxy 2 F14 200 OK Bob -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F15 487 Request Terminated B -> Proxy 2 F15 487 Request Terminated Bob -> Proxy 2
SIP/2.0 487 Request Terminated SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
SIP Basic Call Flow Examples October 2002
Content-Length: 0 Content-Length: 0
F16 ACK Proxy 2 -> B F16 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F17 487 Request Terminated Proxy 2 -> Proxy 1 F17 487 Request Terminated Proxy 2 -> Proxy 1
SIP/2.0 487 Request Terminated SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F18 ACK Proxy 1 -> Proxy 2 F18 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com SIP Basic Call Flow Examples April 2003
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F19 487 Request Terminated Proxy 1 -> A F19 487 Request Terminated Proxy 1 -> Alice
SIP/2.0 487 Request Terminated SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
SIP Basic Call Flow Examples October 2002
CSeq: 1 INVITE CSeq: 1 INVITE
F20 ACK A -> Proxy 1 F20 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="",
uri="sip:bob@biloxi.example.com",
response="b00b416324679d7e243f55708d44be7b"
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.9 Unsuccessful Busy 3.9 Unsuccessful Busy
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| INVITE F2 | | |--------------->| INVITE F2 | |
| 100 F3 |--------------->| INVITE F4 | | 100 F3 |--------------->| INVITE F4 |
|<---------------| 100 F5 |--------------->| |<---------------| 100 F5 |--------------->|
| |<---------------| | | |<---------------| |
| | | 486 F6 | | | | 486 F6 |
| | |<---------------| | | |<---------------|
| | | ACK F7 | | | | ACK F7 |
| | 486 F8 |--------------->| | | 486 F8 |--------------->|
| |<---------------| | | |<---------------| |
| | ACK F9 | | | | ACK F9 | |
| 486 F10 |--------------->| | | 486 F10 |--------------->| |
|<---------------| | | |<---------------| | |
| ACK F11 | | | | ACK F11 | | |
|--------------->| | | |--------------->| | |
| | | | | | | |
In this scenario, User B is busy and sends a 486 Busy Here response In this scenario, Bob is busy and sends a 486 Busy Here response
to User A's INVITE. Note that the non-2xx response is acknowledged to Alice's INVITE. Note that the non-2xx response is acknowledged on
on a hop-by-hop basis instead of end-to-end. Also note that many SIP a hop-by-hop basis instead of end-to-end. Also note that many SIP
UAs will not return a 486 response, as they have multiple line and UAs will not return a 486 response, as they have multiple line and
other features. other features.
Message Details Message Details
F1 INVITE User A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="702138b27d869ac8741e10ec643d55be" response="702138b27d869ac8741e10ec643d55be"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/*Client for A prepares to receive data on port 49172 from the /*Client for Alice prepares to receive data on port 49172 from the
network.*/ network.*/
F2 INVITE Proxy 1 -> Proxy 2 F2 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying Proxy 1 -> User A F3 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
F4 INVITE Proxy 2 -> User B F4 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com> From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com;transport=tcp> Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F5 100 Trying Proxy 2 -> Proxy 1 F5 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 486 Busy Here User B -> Proxy 2 F6 486 Busy Here Bob -> Proxy 2
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 SIP Basic Call Flow Examples April 2003
Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
SIP Basic Call Flow Examples October 2002 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F7 ACK Proxy 2 -> User B F7 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/TCP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F8 486 Busy Here Proxy 2 -> Proxy 1 F8 486 Busy Here Proxy 2 -> Proxy 1
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F9 ACK Proxy 1 -> Proxy 2 F9 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
SIP Basic Call Flow Examples April 2003
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F10 486 Busy Here Proxy 1 -> User A F10 486 Busy Here Proxy 1 -> Alice
SIP Basic Call Flow Examples October 2002
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F11 ACK User A -> Proxy 1 F11 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/TCP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="",
uri="sip:bob@biloxi.example.com",
response="702138b27d869ac8741e10ec643d55be"
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.10 Unsuccessful No Response from User Agent 3.10 Unsuccessful No Response from User Agent
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| INVITE F2 | | |--------------->| INVITE F2 | |
| 100 F3 |--------------->| INVITE F4 | | 100 F3 |--------------->| INVITE F4 |
|<---------------| 100 F5 |--------------->| |<---------------| 100 F5 |--------------->|
| |<---------------| INVITE F6 | | |<---------------| INVITE F6 |
| | |--------------->| | | |--------------->|
| | | INVITE F7 | | | | INVITE F7 |
| | |--------------->| | | |--------------->|
| | | INVITE F8 | | | | INVITE F8 |
skipping to change at page 81, line 34 skipping to change at page 83, line 34
| | | INVITE F11 | | | | INVITE F11 |
| | 480 F12 |--------------->| | | 480 F12 |--------------->|
| |<---------------| | | |<---------------| |
| | ACK F13 | | | | ACK F13 | |
| 480 F14 |--------------->| | | 480 F14 |--------------->| |
|<---------------| | | |<---------------| | |
| ACK F15 | | | | ACK F15 | | |
|--------------->| | | |--------------->| | |
| | | | | | | |
In this example, there is no response from User B to User A's INVITE In this example, there is no response from Bob to Alice's INVITE
messages being re-transmitted by Proxy 2. After the sixth re- messages being re-transmitted by Proxy 2. After the sixth re-
transmission, Proxy 2 gives up and sends a 480 No Response to User A. transmission, Proxy 2 gives up and sends a 480 No Response to Alice.
Message Details Message Details
F1 INVITE User A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", realm="atlanta.example.com",
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
uri="sip:UserB@biloxi.com", nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="",
uri="sip:bob@biloxi.example.com",
response="7afc04be7961f053c24f80e7dbaf888f" response="7afc04be7961f053c24f80e7dbaf888f"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/*Client for A prepares to receive data on port 49172 from the /*Client for Alice prepares to receive data on port 49172 from the
network.*/ network.*/
F2 INVITE Proxy 1 -> Proxy 2 F2 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying Proxy 1 -> User A F3 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> User B F4 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com> From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F5 100 Trying Proxy 2 -> Proxy 1 F5 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples April 2003
F6 INVITE Proxy 2 -> User B F6 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
SIP Basic Call Flow Examples October 2002
F7 INVITE Proxy 2 -> User B F7 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
F8 INVITE Proxy 2 -> User B F8 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
F9 INVITE Proxy 2 -> User B F9 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
F10 INVITE Proxy 2 -> User B F10 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
F11 INVITE Proxy 2 -> User B F11 INVITE Proxy 2 -> Bob
Resend of Message F4 Resend of Message F4
/* Proxy 2 gives up */ /* Proxy 2 gives up */
F12 480 No Response Proxy 2 -> Proxy 1 F12 480 No Response Proxy 2 -> Proxy 1
SIP/2.0 480 No Response SIP/2.0 480 No Response
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F13 ACK Proxy 1 -> Proxy 2 F13 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 SIP Basic Call Flow Examples April 2003
Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
SIP Basic Call Flow Examples October 2002
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Max-Forwards: 70
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F14 480 No Response Proxy 1 -> User A F14 480 No Response Proxy 1 -> Alice
SIP/2.0 480 No Response SIP/2.0 480 No Response
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F15 ACK User A -> Proxy 1 F15 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="",
uri="sip:bob@biloxi.example.com",
response="7afc04be7961f053c24f80e7dbaf888f"
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002 SIP Basic Call Flow Examples April 2003
3.11 Unsuccessful Temporarily Unavailable 3.11 Unsuccessful Temporarily Unavailable
User A Proxy 1 Proxy 2 User B Alice Proxy 1 Proxy 2 Bob
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| INVITE F2 | | |--------------->| INVITE F2 | |
| 100 F3 |--------------->| INVITE F4 | | 100 F3 |--------------->| INVITE F4 |
|<---------------| 100 F5 |--------------->| |<---------------| 100 F5 |--------------->|
| |<---------------| 180 F6 | | |<---------------| 180 F6 |
| | 180 F7 |<---------------| | | 180 F7 |<---------------|
| 180 F8 |<---------------| | | 180 F8 |<---------------| |
|<---------------| | 480 F9 | |<---------------| | 480 F9 |
| | |<---------------| | | |<---------------|
| | | ACK F10 | | | | ACK F10 |
| | 480 F11 |--------------->| | | 480 F11 |--------------->|
| |<---------------| | | |<---------------| |
| | ACK F12 | | | | ACK F12 | |
| 480 F13 |--------------->| | | 480 F13 |--------------->| |
|<---------------| | | |<---------------| | |
| ACK F14 | | | | ACK F14 | | |
|--------------->| | | |--------------->| | |
| | | | | | | |
In this scenario, User B initially sends a 180 Ringing response to In this scenario, Bob initially sends a 180 Ringing response to
User A, indicating that alerting is taking place. However, then a Alice, indicating that alerting is taking place. However, then a
480 Unavailable is then sent to User A. This response is 480 Unavailable is then sent to Alice. This response is
acknowledged then proxied back to User A. acknowledged then proxied back to Alice.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE Alice -> Proxy 1
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.atlanta.com;lr> Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Proxy-Authorization: Digest username="UserA", realm="atlanta.com", Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="",
uri="sip:UserB@biloxi.com", uri="sip:bob@biloxi.example.com",
response="59a46a91bf1646562a4d486c84b399db" response="59a46a91bf1646562a4d486c84b399db"
Content-Type: application/sdp SIP Basic Call Flow Examples April 2003
SIP Basic Call Flow Examples October 2002
Content-Length: 143 Content-Type: application/sdp
Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
/*Client for A prepares to receive data on port 49172 from the /*Client for Alice prepares to receive data on port 49172 from the
network.*/ network.*/
F2 INVITE Proxy 1 -> Proxy 2 F2 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@biloxi.com SIP/2.0 INVITE sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss1.atlanta.example.com;lr>
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 100 Trying Proxy 1 -> A F3 100 Trying Proxy 1 -> Alice
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
SIP Basic Call Flow Examples April 2003
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples October 2002
F4 INVITE Proxy 2 -> B F4 INVITE Proxy 2 -> Bob
INVITE sip:UserB@client.biloxi.com SIP/2.0 INVITE sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com> From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@client.atlanta.com> Contact: <sip:alice@client.atlanta.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 143 Content-Length: 151
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com
s=- s=-
c=IN IP4 192.0.2.101 c=IN IP4 192.0.2.101
t=0 0 t=0 0
m=audio 49172 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F5 100 Trying Proxy 2 -> Proxy 1 F5 100 Trying Proxy 2 -> Proxy 1
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com> To: Bob <sip:bob@biloxi.example.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 180 Ringing B -> Proxy 2 F6 180 Ringing Bob -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 SIP Basic Call Flow Examples April 2003
;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
SIP Basic Call Flow Examples October 2002
Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F7 180 Ringing Proxy 2 -> Proxy 1 F7 180 Ringing Proxy 2 -> Proxy 1
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
F8 180 Ringing Proxy 1 -> A F8 180 Ringing Proxy 1 -> Alice
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr> Record-Route: <sip:ss2.biloxi.example.com;lr>,
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl <sip:ss1.atlanta.example.com;lr>
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@client.biloxi.com> Contact: <sip:bob@client.biloxi.example.com>
Content-Length: 0 Content-Length: 0
SIP Basic Call Flow Examples April 2003
F9 480 Temporarily Unavailable B -> Proxy 2 F9 480 Temporarily Unavailable Bob -> Proxy 2
SIP/2.0 480 Temporarily Unavailable SIP/2.0 480 Temporarily Unavailable
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
;received=192.0.2.222 ;received=192.0.2.222
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
SIP Basic Call Flow Examples October 2002 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F10 ACK Proxy 2 -> B F10 ACK Proxy 2 -> Bob
ACK sip:UserB@client.biloxi.com SIP/2.0 ACK sip:bob@client.biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP
ss2.biloxi.example.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1 F11 480 Temporarily Unavailable Proxy 2 -> Proxy 1
SIP/2.0 480 Temporarily Unavailable SIP/2.0 480 Temporarily Unavailable
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111 ;received=192.0.2.111
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F12 ACK Proxy 1 -> Proxy 2 F12 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl SIP Basic Call Flow Examples April 2003
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F13 480 Temporarily Unavailable Proxy 1 -> A F13 480 Temporarily Unavailable Proxy 1 -> Alice
SIP Basic Call Flow Examples October 2002
SIP/2.0 480 Temporarily Unavailable SIP/2.0 480 Temporarily Unavailable
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
;received=192.0.2.101 ;received=192.0.2.101
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F14 ACK A -> Proxy 1 F14 ACK Alice -> Proxy 1
ACK sip:UserB@biloxi.com SIP/2.0 ACK sip:bob@biloxi.example.com SIP/2.0
Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@biloxi.com>;tag=314159 To: Bob <sip:bob@biloxi.example.com>;tag=314159
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.example.com
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",
nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="",
uri="sip:bob@biloxi.example.com",
response="59a46a91bf1646562a4d486c84b399db"
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
Security Considerations Security Considerations
Since this document contains examples of SIP session establishment, Since this document contains examples of SIP session establishment,
the security considerations in RFC 3261 [2] apply. RFC 3261 the security considerations in RFC 3261 [1] apply. RFC 3261
describes the basic threats including registration hijacking, server describes the basic threats including registration hijacking, server
impersonation, message body tampering, session modifying or teardown, impersonation, message body tampering, session modifying or teardown,
and denial of service and amplification attacks. The use of HTTP and denial of service and amplification attacks. The use of HTTP
Digest as shown in this document provides one-way authentication and Digest as shown in this document provides one-way authentication and
protection against replay attacks. TLS transport is used in protection against replay attacks. TLS transport is used in
registration scenarios due to the lack of integrity protection in registration scenarios due to the lack of integrity protection in
HTTP Digest and the danger of registration hijacking without it, as HTTP Digest and the danger of registration hijacking without it, as
described in RFC 3261 [2]. A full discussion of the weaknesses of described in RFC 3261 [1]. A full discussion of the weaknesses of
HTTP Digest is provided in RFC 3261 [2]. The use of TLS and the HTTP Digest is provided in RFC 3261 [1]. The use of TLS and the
Secure SIP (sips) URI scheme provides a better level of security Secure SIP (sips) URI scheme provides a better level of security
including two-way authentication. IPsec can also improve security. SIP Basic Call Flow Examples April 2003
S/MIME can provide end-to-end confidentiality and integrity
protection of message bodies, as described in RFC 3261.
References including two-way authentication. S/MIME can provide end-to-end
confidentiality and integrity protection of message bodies, as
described in RFC 3261.
1 Bradner, S., "Key words for use in RFCs to Indicate Requirement Normative References
Levels", BCP 14, RFC 2119, March 1997
2 Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 1 Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and Schooler, E., "SIP: Peterson, J., Sparks, R., Handley, M., and Schooler, E., "SIP:
Session Initiation Protocol", RFC 3261, June 2002. Session Initiation Protocol", RFC 3261, June 2002.
SIP Basic Call Flow Examples October 2002 2 Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with
3 Rosenberg, J. and Schulzrinne, H., "An Offer/Answer Model with
SDP", Internet Engineering Task Force, RFC 3264, April 2002. SDP", Internet Engineering Task Force, RFC 3264, April 2002.
4 Johnston, A., Donovan, S., Sparks, R., Cunningham, C., Summers, K., 3 Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach,
"Session Initiation Protocol PSTN Call Flows", RFC xxxx, August
2002.
5 Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach,
P., Luotonen, A. and Stewart, L., "HTTP authentication: Basic and P., Luotonen, A. and Stewart, L., "HTTP authentication: Basic and
Digest Access Authentication", RFC 2617, June 1999. Digest Access Authentication", RFC 2617, June 1999.
Informative References
4 Johnston, A., Donovan, S., Sparks, R., Cunningham, C., Summers, K.,
"Session Initiation Protocol PSTN Call Flow Examples", RFC xxxx,
August 2002.
Acknowledgments Acknowledgments
This document is has been a group effort by the SIP and SIPPING WGs. This document is has been a group effort by the SIP and SIPPING WGs.
The authors wish to thank everyone who has read, reviewed, commented, The authors wish to thank everyone who has read, reviewed, commented,
or made suggestions to improve this document. or made suggestions to improve this document.
Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings, Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings,
and Tom Taylor for their detailed comments during the final review. and Tom Taylor for their detailed comments during the final review.
Thanks to Dean Willis for his early contributions to the development Thanks to Dean Willis for his early contributions to the development
of this document. of this document.
The authors wish to thank Neil Deason for his additions to the The authors wish to thank Neil Deason for his additions to the
Torture Test messages and Kundan Singh for performing parser Torture Test messages and Kundan Singh for performing parser
validation of messages. validation of messages.
The authors wish to thank the following individuals for their The authors wish to thank the following individuals for their
participation in the review of this call flows document: Aseem participation in the review of this call flows document: Aseem
Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc
Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua. Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua.
SIP Basic Call Flow Examples April 2003
The authors also wish to thank the following individuals for their The authors also wish to thank the following individuals for their
assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich, assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich,
David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole
MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat
Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise
Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John
Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and
Nortel. Nortel.
Author's Addresses Author's Addresses
SIP Basic Call Flow Examples October 2002
All listed authors actively contributed large amounts of text to this All listed authors actively contributed large amounts of text to this
document. document.
Alan Johnston Alan Johnston
WorldCom WorldCom
100 South 4th Street 100 South 4th Street
St. Louis, MO 63102 St. Louis, MO 63102
USA USA
skipping to change at page 93, line 41 skipping to change at page 96, line 4
USA USA
EMail: rsparks@dynamicsoft.com EMail: rsparks@dynamicsoft.com
Chris Cunningham Chris Cunningham
dynamicsoft, Inc. dynamicsoft, Inc.
5100 Tennyson Parkway 5100 Tennyson Parkway
Suite 1200 Suite 1200
Plano, Texas 75024 Plano, Texas 75024
USA USA
SIP Basic Call Flow Examples April 2003
EMail: ccunningham@dynamicsoft.com EMail: ccunningham@dynamicsoft.com
Kevin Summers Kevin Summers
Sonus Sonus
1701 North Collins Blvd, Suite 3000 1701 North Collins Blvd, Suite 3000
Richardson, TX 75080 Richardson, TX 75080
USA USA
Email: kevin.summers@sonusnet.com Email: kevin.summers@sonusnet.com
SIP Basic Call Flow Examples October 2002
Copyright Notice Intellectual Property Statement
"Copyright (C) The Internet Society 2002. All Rights Reserved. The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
SIP Basic Call Flow Examples April 2003
copyrights defined in the Internet Standards process must be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
English. English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTER