draft-ietf-sipping-call-flows-00.txt   draft-ietf-sipping-call-flows-01.txt 
Internet Engineering Task Force Alan Johnston Internet Engineering Task Force Alan Johnston
Internet Draft WorldCom Internet Draft WorldCom
Document: draft-ietf-sipping-call-flows-00.txt Steve Donovan Document: draft-ietf-sipping-call-flows-01.txt Steve Donovan
Category: Informational Robert Sparks Category: Informational Robert Sparks
February 2002 Chris Cunningham July 2002 Chris Cunningham
Expires: August 2002 Dean Willis Expires: December 2002 Dean Willis
Jonathan Rosenberg Jonathan Rosenberg
dynamicsoft dynamicsoft
Kevin Summers Kevin Summers
Sonus Sonus
Henning Schulzrinne Henning Schulzrinne
Columbia University Columbia University
SIP Call Flow Examples Session Initiation Protocol 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[1]. 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 other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This informational document gives examples of SIP (Session Initiation This informational document gives examples of Session Initiation
Protocol) call flows for IP telephony. Elements in these call flows Protocol (SIP) call flows. Elements in these call flows include SIP
include SIP User Agents and Clients, SIP Proxy and Redirect Servers, User Agents and Clients, SIP Proxy and Redirect Servers, and Gateways
and Gateways to the PSTN (Public Switch Telephone Network). IP to the PSTN (Public Switch Telephone Network). Scenarios include SIP
telephony scenarios include SIP Registration, SIP to SIP calling, SIP Registration, SIP to SIP calling, SIP to Gateway, Gateway to SIP, and
to Gateway, Gateway to SIP, and Gateway to Gateway via SIP. Call Gateway to Gateway via SIP. Call flow diagrams and message details
flow diagrams and message details are shown. PSTN telephony are shown. PSTN telephony protocols are illustrated using ISDN
protocols are illustrated using ISDN (Integrated Services Digital (Integrated Services Digital Network), ANSI ISUP (ISDN User Part),
Network), ANSI ISUP (ISDN User Part), and FGB (Feature Group B) and FGB (Feature Group B) circuit associated signaling. PSTN calls
circuit associated signaling. PSTN calls are illustrated using are illustrated using global telephone numbers from the PSTN and
global telephone numbers from the PSTN and private extensions served private extensions served on by a PBX (Private Branch Exchange).
on by a PBX (Private Branch Exchange). Example SIP messages used for Example SIP messages used for testing during SIP interoperability
testing during SIP "bakeoff" events include SIP "torture test" test events include SIP "torture test" messages, and messages with
messages, and messages with invalid parameters, methods, and tags. invalid parameters, methods, and tags.
Table of Contents Table of Contents
1 Overview...................................................4 1 Overview...................................................4
1.1 General Assumptions........................................4 1.1 General Assumptions........................................4
1.2 Legend for Message Flows...................................6 1.2 Legend for Message Flows...................................5
1.3 SIP Protocol Assumptions...................................7 1.3 SIP Protocol Assumptions...................................6
1.4 Changes to 00 draft .......................................7 2 SIP Registration...........................................7
1.5 Changes to 01 draft .......................................8 2.1 Success Scenarios..........................................7
1.6 Changes to 02 draft .......................................8 2.1.1 SIP Client New Registration................................7
1.7 Changes to 03 draft .......................................9 2.1.2 User updates contact list..................................9
1.8 Changes to 04 draft .......................................9 2.1.3 User Requests Current Contact List........................11
1.9 Changes to sipping 00 draft ...............................9 2.1.4 User Cancels Registration.................................12
2 SIP Registration Services.................................10 2.2 Failure Scenarios.........................................13
2.1 Success Scenarios.........................................10 2.2.1 Unsuccessful SIP registration.............................13
2.1.1 SIP Client New Registration...............................10 3 SIP to SIP Dialing........................................15
2.1.2 User updates contact list.................................13 3.1 Success Scenarios.........................................15
2.1.3 User Requests Current Contact List........................15 3.1.1 Successful Simple SIP to SIP..............................16
2.1.4 User Cancels Registration.................................17 3.1.2 Successful SIP to SIP through two proxies.................19
2.2 Failure Scenarios.........................................18 3.1.3 Successful SIP to SIP with Multi Proxy Authentication.....29
2.2.1 Unsuccessful SIP registration.............................18 3.1.4 Successful SIP to SIP with Proxy failure..................39
3 SIP to SIP Dialing........................................20 3.1.5 Successful SIP to SIP through SIP ALG ....................47
3.1 Success Scenarios.........................................20 3.1.6 Successful SIP to SIP via Redirect and Proxy SDP in ACK...55
3.1.1 Successful Simple SIP to SIP..............................21 3.1.7 Successful SIP to SIP with re-INVITE......................61
3.1.2 Successful SIP to SIP through two proxies.................24 3.2 Failure Scenarios.........................................67
3.1.3 Successful SIP to SIP with Multi Proxy Authentication.....33 3.2.1 Unsuccessful SIP to SIP no answer.........................67
3.1.4 Successful SIP to SIP with Proxy failure..................42 3.2.2 Unsuccessful SIP to SIP busy..............................74
3.1.5 Successful SIP to SIP through SIP ALG ....................50 3.2.3 Unsuccessful SIP to SIP no response.......................79
3.1.6 Successful SIP to SIP via Redirect and Proxy SDP in ACK...58 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable...........84
3.1.7 Successful SIP to SIP with re-INVITE......................64 4 SIP to Gateway Dialing....................................90
3.2 Failure Scenarios.........................................75 4.1 Success Scenarios.........................................90
3.2.1 Unsuccessful SIP to SIP no answer.........................75 4.1.1 Successful SIP to ISUP PSTN call..........................91
3.2.2 Unsuccessful SIP to SIP busy..............................82 4.1.2 Successful SIP to ISDN PBX call...........................99
3.2.3 Unsuccessful SIP to SIP no response.......................86 4.1.3 Successful SIP to ISUP PSTN call with overflow...........107
3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable...........91 4.2 Failure Scenarios........................................115
4 SIP to Gateway Dialing....................................96 4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN.......116
4.1 Success Scenarios.........................................96 4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN..........123
4.1.1 Successful SIP to ISUP PSTN call..........................97 4.2.3 Unsuccessful SIP to PSTN: ANM Timeout....................127
4.1.2 Successful SIP to ISDN PBX call..........................104
4.1.3 Successful SIP to ISUP PSTN call with overflow...........111
4.2 Failure Scenarios........................................119
4.2.1 Unsuccessful SIP to PSTN call: Treatment from PSTN.......120
4.2.2 Unsuccessful SIP to PSTN: REL w/Cause from PSTN..........126
4.2.3 Unsuccessful SIP to PSTN: ANM Timeout....................130
5 Gateway to SIP Dialing...................................133 5 Gateway to SIP Dialing...................................133
5.1 Success Scenarios........................................133 5.1 Success Scenarios........................................133
5.1.1 Successful PSTN to SIP call..............................134 5.1.1 Successful PSTN to SIP call..............................134
5.1.2 Successful PSTN to SIP call, Fast Answer.................140 5.1.2 Successful PSTN to SIP call, Fast Answer.................140
5.1.3 Successful PBX to SIP call...............................145 5.1.3 Successful PBX to SIP call...............................145
5.2 Failure Scenarios........................................151 5.2 Failure Scenarios........................................151
5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL....151 5.2.1 Unsuccessful PSTN to SIP REL, SIP error mapped to REL....151
5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL.....153 5.2.2 Unsuccessful PSTN to SIP REL, SIP busy mapped to REL.....153
5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones..157 5.2.3 Unsuccessful PSTN->SIP, SIP error interworking to tones..157
5.2.4 Unsuccessful PSTN->SIP, ACM timeout......................161 5.2.4 Unsuccessful PSTN->SIP, ACM timeout......................161
5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy.....166 5.2.5 Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy.....165
5.2.6 Unsuccessful PSTN->SIP, ANM timeout......................173 5.2.6 Unsuccessful PSTN->SIP, Call Abandonment.................168
6 Gateway to Gateway Dialing via SIP Network...............179 6 Gateway to Gateway Dialing via SIP Network...............174
6.1 Success Scenarios........................................179 6.1 Success Scenarios........................................174
6.1.1 Successful ISUP PSTN to ISUP PSTN call...................180 6.1.1 Successful ISUP PSTN to ISUP PSTN call...................175
6.1.2 Successful FGB PBX to ISDN PBX call with overflow........187 6.1.2 Successful FGB PBX to ISDN PBX call with overflow........182
7 SIP Test Messages........................................196 7 SIP Test Messages........................................191
7.1 INVITE Parser Torture Test Message.......................196 7.1 INVITE Parser Torture Test Message.......................191
7.2 INVITE with Proxy-Require and Require....................197 7.2 INVITE with Proxy-Require and Require....................192
7.3 INVITE with Unknown Schemes in URIs and URLs.............197 7.3 INVITE with Unknown Schemes in URIs and URLs.............192
7.4 REGISTER with Y2038 Test.................................198 7.4 REGISTER with Y2038 Test.................................193
7.5 INVITE with inconsistent Accept and message body.........198 7.5 INVITE with inconsistent Accept and message body.........193
7.6 INVITE with non-SDP message body.........................199 7.6 INVITE with non-SDP message body.........................194
7.7 Unknown Method Message...................................199 7.7 Unknown Method Message...................................194
7.8 Unknown Method with CSeq Error...........................200 7.8 Unknown Method with CSeq Error...........................195
7.9 REGISTER with Unknown Authorization Scheme...............200 7.9 REGISTER with Unknown Authorization Scheme...............195
7.10 Multiple SIP Request in a Single Message.................201 7.10 Multiple SIP Request in a Single Message.................196
7.11 INVITE missing Required Headers..........................201 7.11 INVITE missing Required Headers..........................197
7.12 INVITE with Duplicate Required Headers...................202 7.12 INVITE with Duplicate Required Headers...................197
7.13 INVITE with Illegal Expires Header.......................202 7.13 INVITE with Illegal Expires Header.......................198
7.14 200 OK Response with Broadcast Via Header................203 7.14 200 OK Response with Broadcast Via Header................198
7.15 INVITE with Invalid Via and Contact Headers..............204 7.15 INVITE with Invalid Via and Contact Headers..............199
7.16 INVITE with Incorrect Content-Length Header..............204 7.16 INVITE with Incorrect Content-Length Header..............200
7.17 INVITE with Invalid Value for Content-Length.............205 7.17 INVITE with Invalid Value for Content-Length.............200
7.18 INVITE with Garbage after Message Body...................205 7.18 INVITE with Garbage after Message Body...................201
7.19 INVITE with Error in Display Name in To Header...........206 7.19 INVITE with Error in Display Name in To Header...........201
7.20 INVITE with long tokens, Call-ID, and SIP URLs...........206 7.20 INVITE with long tokens, Call-ID, and SIP URIs...........202
7.21 INVITE with Illegal Enclosing of Request-URI in "<>".....207 7.21 INVITE with Illegal Enclosing of Request-URI in "<>".....202
7.22 INVITE with Illegal LWS within Elements of Request-URI...207 7.22 INVITE with Illegal LWS within Elements of Request-URI...203
7.23 INVITE with Illegal >1 SP between elements Request-URI...208 7.23 INVITE with Illegal >1 SP between elements Request-URI...204
7.24 INVITE with a Legal SIP URL With Escaped Characters......209 7.24 INVITE with a Legal SIP URI With Escaped Characters......204
7.25 INVITE with the Illegal Escaped Headers Request-URI......209 7.25 INVITE with the Illegal Escaped Headers Request-URI......205
7.26 INVITE with Unknown in Request-URI.......................210 7.26 INVITE with Unknown Scheme in Request-URI................206
7.27 OPTIONS with no LWS between display name and "<".........210 7.27 OPTIONS with no LWS between display name and "<".........206
7.28 OPTIONS with Extra WS between display name and "<".......211 7.28 OPTIONS with Extra WS between display name and "<".......206
7.29 INVITE with an Illegal Date Format.......................211 7.29 INVITE with an Illegal Date Format.......................207
7.30 INVITE with Passed Expires Time..........................212 7.30 INVITE with Passed Expires Time..........................207
7.31 INVITE with Max-Forwards Set to Zero.....................212 7.31 INVITE with Max-Forwards Set to Zero.....................208
7.32 REGISTER with Escaped Header in a Legal Contact URL......213 7.32 REGISTER with Escaped Header in a Legal Contact URI......209
7.33 REGISTER with Escaped Header in an Illegal Contact URL...213 7.33 REGISTER with Escaped Header in an Illegal Contact URI...209
7.34 INVITE with Long Values in Headers.......................214 7.34 INVITE with Long Values in Headers.......................210
7.35 OPTIONS with Multiple Headers............................215 7.35 OPTIONS with Multiple Headers............................211
7.36 INVITE with Large Number of SDP Attributes and Long URI..216 7.36 INVITE with Large Number of SDP Attributes and Long URI..211
7.37 REGISTER with Contact Parameter..........................216 7.37 REGISTER with Contact Parameter..........................212
7.38 REGISTER with a URL Parameter............................217 7.38 REGISTER with a URI Parameter............................213
7.39 INVITE with Unquoted Display Name with Tokens............217 7.39 INVITE with Unquoted Display Name with Tokens............213
7.40 INVITE with Unquoted Display Name with Non-Token Chars...218 7.40 INVITE with Unquoted Display Name with Non-Token Chars...213
7.41 INVITE with Unknown (Higher) Protocol Version Start Line.218 7.41 INVITE with Unknown (Higher) Protocol Version Start Line.214
8 Acknowledgements.........................................218 8 Security Considerations .................................214
9 References...............................................219 9 IANA Considerations .....................................215
10 Acknowledgements.........................................215
11 References...............................................215
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 carrier-class SIP IP Telephony network. They represent an example a carrier-class SIP IP Telephony network. They represent an example
minimum set of functionality for SIP to be used in IP Telephony minimum set of functionality for SIP to be used in IP Telephony
applications. The message examples were developed during the SIP applications. The message examples were developed during the SIP
interoperability testing "bake-offs." interoperability tests known as SIPit.
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 implementors, designers, and protocol researchers alike and will
help further the goal of a standard SIP implementation for IP help further the goal of a standard SIP implementation for IP
Telephony. It is envisioned that as changes to the standard and Telephony. It is envisioned that as changes to the standard and
additional RFCs are added that this document will reflect those additional RFCs are added that this document will reflect those
changes and represent the current state of a standard interoperable changes and represent the current state of a standard interoperable
SIP IP Telephony implementation. SIP IP Telephony implementation.
Note that this document is informational, and is not normative on any Note that this document is informational, and is NOT NORMATIVE on any
aspect of SIP or SIP/PSTN interworking. aspect of SIP or SIP/PSTN interworking.
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
[RFC2543bis] with SDP usage described in [OFFER-ANSWER]. [RFC3261] with SDP usage described in [RFC3264].
Various PSTN signaling protocols are illustrated in this document: Various PSTN signaling protocols are illustrated in this document:
ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User ISDN (Integrated Services Digital Network), ANSI ISUP (ISDN User
Part) and FGB (Feature Group B) circuit associated signaling. They Part) and FGB (Feature Group B) circuit associated signaling. They
were chosen to illustrate the nature of SIP/PSTN interworking - they were chosen to illustrate the nature of SIP/PSTN interworking - they
are not a complete or even representative set. Also, some details are not a complete or even representative set. Also, some details
and parameters of these PSTN protocols have been omitted. The intent and parameters of these PSTN protocols have been omitted. For full
of this document was not to provide a complete and exact mapping of information about SIP to ISUP mapping, refer to [SIP-ISUP].
PSTN protocols to SIP. Rather the emphasis is on the SIP signaling,
the message interaction, and the modifications to SIP currently
proposed to solve IP Telephony issues.
Finally, some example messages are given along with expected Finally, some example messages are given along with expected
behavior of clients and servers. behavior of clients and servers.
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 underly
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 aide 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 SIP Digest[RFC2543bis]. performed using SIP Digest as defined in [RFC3261] and [RFC2617].
No authentication of Gateways is shown, since it is assumed that:
. Gateways will only accept calls routed through a trusted Proxy.
. Proxies will perform the Client authentication.
. The Proxy and the Gateway will authenticate each other using
IPSec[IPSEC] or some other non-SIP scheme.
Throughout this document the call flows show a network where the
proxy servers authenticate users on behalf of gateways. Gateways may
also authenticate users directly. Both of these are reasonable usages
of SIP. If gateways do not authenticate directly they would be to
refuse requests from entities other than trusted proxy servers with
which they have effective channel security (for example [RFC2246] or
[RFC2401])."
The SIP Proxy Server has access to a Location Service and other The SIP Proxy Server has access to a Location Service and other
databases. Information present in the Request-URI and the context databases. Information present in the Request-URI and the context
(From header) is sufficient to determine to which proxy or gateway (From header) is sufficient to determine to which proxy or gateway
the message should be routed. In most cases, a primary and secondary the message should be routed. In most cases, a primary and secondary
route will be determined in case of Proxy or Gateway failure route will be determined in case of Proxy or Gateway failure
downstream. downstream.
The 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. This allows them to implement features future message exchanges.
later in the call, which are not shown in these flows.
Gateways receive enough information in the Request-URI field to
determine how to route a call, i.e. what trunk group or link to
select, what digits to outpulse, etc.
Gateways provide tones (ringing, busy, etc) and announcements to the Gateways provide tones (ringing, busy, etc) and announcements to the
PSTN side based on SIP response messages, or pass along audio in-band PSTN side based on SIP response messages, or pass along audio in-band
tones (ringing, busy tone, etc.) in an early media stream to the SIP tones (ringing, busy tone, etc.) in an early media stream to the SIP
side. side.
Two types of Gateways are described in this document. The actual
names of Gateways will be vendor and implementation specific.
However, two catagories are described here since the type of Gateway
determines the form of the SIP URL used to identify them. The two
types are:
. Network Gateway. This high port count PSTN gateway originates
and terminates calls to the PSTN. Its use is shared by many
customers. Incoming calls from the PSTN have the From header
populated with a SIP URL containing the telephone number from
the calling party telephone number, if available. A Network
Gateway typically uses carrier protocols such as SS7.
. Enterprise Gateway. This low port count PBX (Private Branch
Exchange) gateway has trunks or lines for a single customer or
user. Incoming calls from the PBX have the From header
populated with a provisionable string which uniquely identifies
the customer, trunk group, or carrier. This allows private
numbers to be interpreted in their correct context. An
Enterprise Gateway typically uses SS7, ISDN, circuit associated
signaling, or other PBX interfaces.
The interactions between the Proxy and Gateway can be summarized as The interactions between the Proxy and Gateway can be summarized as
follows: follows:
. The SIP Proxy Server performs digit analysis and lookup and . The SIP Proxy Server performs digit analysis and lookup and
locates the correct gateway. locates the correct gateway.
. The SIP Proxy Server performs gateway location based on primary . The SIP Proxy Server performs gateway location based on primary
and secondary routing. and secondary routing.
Digit handling by the Gateways will be as follows: Telephone numbers are usually represented as SIP URIs. Note that an
alternative is the use of the tel URI [RFC2806].
. Dialed digits received from a Network or Enterprise Gateway will
be put in a SIP URL with a telephone number. The number will
either be globalized (e.g. sip:+1-314-555-1111@ngw.wcom.com
;user=phone) or left as a private number (sip:555-
6666@wcom.com) Alternatively, the "phone-context"
qualifier could be used to interpret the private number. It is
defined in the telephony URL document [RFC2806].
All Gateways will need to be provisioned to be able to parse the
user portion of a Request-URI to determine the customer, trunk
group, or circuit referenced. Note that the visual separator "-"
is used purely to aid in the readability of the examples; a real
gateway would be unlikely to insert visual separators.
. The From header will be populated with a SIP URL with a
telephone number if it is Calling Party number (CgPN) from the
PSTN. If it is an Enterprise Gateway, a provisionable string
which uniquely identifies the customer, trunk group, or carrier
will be used in the sip URI (e.g. From:
sip:ProvisionableString@gw1.wcom.com;user=phone).
. Note that an alternative to using a SIP URL for telephone
numbers is the tel URL[RFC2806]. The major difference between
using
the SIP URL and the tel URL is that the SIP URL is routable in a
SIP network (resolves down to an IP address) where the tel URL
is not (it just represents digits).
These flows show UDP for transport. TCP could also be used. These flows show UDP for transport. Other transport schemes could
also be used.
1.2 Legend for Message Flows 1.2 Legend for Message Flows
Dashed lines (---) represent control messages that are mandatory to Dashed lines (---) represent signaling messages that are mandatory to
the call scenario. These control messages can be SIP or PSTN the call scenario. These messages can be SIP or PSTN
signaling. 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.
Messages with parenthesis around name represent optional control Messages with parentheses around their name represent optional
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 table 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
In any discrepency between this document and RFC 2543bis, follow RFC This document is informational only and is NOT NORMATIVE in any
2543bis. This document is informational only. sense.
1.4 Changes to 00 draft
The major changes between this draft and the previous draft are
listed below:
- SIP Telephony Service Examples have been removed from the draft.
They will be revised using the TRANSFER header in a separate
draft.
- Updated draft with RFC2543bis changes including: adding maddr to
all Record-Route and Route headers, adding branch tags to Via
headers inserted by proxies, added 487 response to CANCEL
scenarios.
- Added example of INFO method in 5.1.1.
- Added Session: media to all 183 messages.
- Corrected a number of typos including putting user=phone tags
inside <>, fixing Request-URI on PRACK, added missing tags, fixed
Request-URIs that did not match To header in initial INVITE.
- Corrected all registrations to have same Call-ID.
1.5 Changes to 01 draft
The major changes between this draft and the previous draft are
listed below:
- Added an example of multiple proxy authentication (3.1.3).
- Removed INFO method from 5.1.1. The use of INFO to transport
DTMF is controversial.
- Fixed CSeq and Call-ID errors in Section 2.
- Replaced Session: media with Content-Disposition: session
- Added notes about CSeq numbering spaces.
- Fixed maddr in some Route headers.
- Corrected tag handling and Record-Routes in Section 4.
1.6 Changes to 02 draft
The major changes between this draft and previous are listed below:
- The word "Telephony" has been removed from the document title.
- Selected messages have been successfully validated against a SIP
parser for accuracy.
- Added word "informational" to Abstract, and added additional
wording about this document being informational and not normative.
- Added re-INVITE call flow (T.38 Fax)in 3.1.7.
- Removed SDP from all 183 Session Progress messages since it is not
needed. Corrected figures to show early media path as one way.
- Removed PRACK from example 4.1.2 since there is no longer any need
for the 183 to be transported reliably since it no longer contains
SDP.
- Corrected Call-ID in 3.1.1.
- Corrected domain in WWW-Authenticate and Proxy-Authenticate
headers to be a SIP URL.
- Section 7.4 SIP Date corrected to Sat, 01 Dec 2040 16:00:00 GMT
- Section 7.7 Retransmission strategy for unknown method message
should be based on BYE not INVITE
- Section 7.10 multiple message element of this test removed as this
behaviour is no longer allowed, higher SIP version number part
moved into 7.42
- Section 7.18 recommended response changed
- Added Test Messages 7.21 through 7.41
1.7 Changes to the 03 draft
- Replaced Authorization headers with Proxy-Authorization headers
- Fixed Record-Route in example 3.1.3
- Various CSeq and Content-Length corrections
1.8 Changes to the 04 draft
- Removed domain names from Contact headers
- Removed "phone-context" URI parameter.
- Added expires parameter to 200 OK responses to REGISTERs.
- Changed Proxy-Authorization headers in Section 2 to Authorization
headers.
1.9 Changes to the sipping-00 draft
- Changed references to RFC2543 to RFC2543bis and offer/answer.
- Added mandatory branch tag for all Via headers.
- Added From tags.
- Changed Record-Route and Route behavior to show bis loose routing.
- Proxies now keep To tag the same when proxying non-2xx responses.
- Added Max-Forwards header.
- Changes to Digest: removed domain in challenges, fixed uri in
responses, and changed realm to be a domain name.
- Renamed Firewall Proxy to Application Layer Gateway (ALG)
- Fixed SDP in 183 responses. For simplicity in reading and editing the document, there are a
number of differences between some of the examples and actual SIP
messages. For example, the SIP Digest responses are not actual MD5
encodings. Call-IDs are often repeated, and CSeq counts often begin
at 1. Header fields are usually shown in the same order. Usually
only the minimum required header field set is shown, others that
would normally be present such as Accept, Supported, Allow, etc are
not shown.
- Made other changes to bring SIP/ISUP interworking in line with Actors:
SIP/ISUP document.
- Added Error-Info example Element Display Name URI IP Address
------- ------------ --- ----------
- To Do: make bis changes to Test Messages. User Agent BigGuy UserA@atlanta.com 192.168.100.101
User Agent LittleGuy UserB@biloxi.com 192.168.200.201
User Agent UserB@chicago.com 192.168.200.100
Proxy Server ss1.atlanta.com 192.168.255.111
Proxy/Registrar ss2.biloxi.com 192.168.156.222
Proxy Server ss3.chicago.com 192.168.182.333
ALG alg1.atlanta.com 192.168.255.128
User Agent (Gateway) gw1.atlanta.com 192.168.255.201
User Agent (Gateway) gw2.atlanta.com 192.168.255.202
User Agent (Gateway) gw3.atlanta.com 192.168.255.203
User Agent (Gateway) ngw1.atlanta.com 192.168.255.101
User Agent (Gateway) ngw2.atlanta.com 192.168.255.102
2 SIP Registration Services 2 SIP Registration
2.1 Success Scenarios 2.1 Success Scenarios
Registration either validates or invalidates a SIP client for user Registration binds a particular device Contact URI with a SIP user
services provided by a SIP server. Additionally, the client provides AOR (Address of Record).
one or more contact locations to the SIP server with the registration
request. Registration is used by a Proxy to route incoming calls in
an IP Telephony network. Registration are shown with authentication
in these call flows. If authentication is not used, an imposter
could "hijack" someone else's calls.
2.1.1 SIP Client New Registration 2.1.1 SIP Client New Registration
User B SIP Server User B SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| |
| 401 Unauthorized F2 | | 401 Unauthorized F2 |
|<------------------------------| |<------------------------------|
| |
| REGISTER F3 | | REGISTER F3 |
|------------------------------>| |------------------------------>|
| |
| 200 OK F4 | | 200 OK F4 |
|<------------------------------| |<------------------------------|
| | | |
User B initiates a new SIP session with the SIP Server (i.e. the user User B sends a SIP REGISTER request to the SIP server. The request
"logs on to" the SIP server). User B sends a SIP REGISTER request to includes the user's contact list. The SIP server provides a
the SIP server. The request includes the user's contact list. The challenge to User B. User B enters her/his valid user ID and
SIP server provides a challenge to User B. User B enters her/his password. User B's SIP client encrypts the user information
valid user ID and password. User B's SIP client encrypts the user according to the challenge issued by the SIP server and
information according to the challenge issued by the SIP server and
sends the response to the SIP server. The SIP server validates the sends the response to the SIP server. The SIP server validates the
user's credentials. It registers the user in its contact database user's credentials. It registers the user in its contact database
and returns a response (200 OK) to User B's SIP client. The response and returns a response (200 OK) to User B'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 SIP digest. It is assumed that format of the authentication shown is SIP digest. It is assumed that
User B has not previously registered with this Server. User B has not previously registered with this Server.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone>
Contact: tel:+1-972-555-2222
Content-Length: 0 Content-Length: 0
F2 401 Unauthorized SIP Server -> User B F2 401 Unauthorized SIP Server -> User B
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="wcom.com", WWW-Authenticate: Digest realm="atlanta.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 B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=ja743ks76zlflH
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone> Authorization: Digest username="UserB", realm="atlanta.com"
Contact: tel:+1-972-555-2222
Authorization:Digest username="UserB", realm="wcom.com",
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="", nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",
uri="sip:ss2.wcom.com", response="dfe56131d1958046689cd83306477ecc" uri="sip:ss2.biloxi.com", response="dfe56131d1958046689d83306477ecc"
Content-Length: 0 Content-Length: 0
F4 200 OK SIP Server -> B F4 200 OK SIP Server -> B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=ja743ks76zlflH
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=37GkEhwl6
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@110.111.112.113>;expires=3600 Contact: <sip:UserB@192.168.200.201>;expires=3600
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone>;expires=3600
Contact: <tel:+1-972-555-2222>;expires=4294967295
Content-Length: 0 Content-Length: 0
2.1.2 User updates contact list 2.1.2 User updates contact list
User B SIP Server User B 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 User B 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 User B sends a SIP REGISTER request to the SIP server. User B'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 User B'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 B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: mailto:UserB@there.com Contact: mailto:UserB@biloxi.com
Authorization:Digest username="UserB", realm="wcom.com", Authorization: Digest username="UserB", realm="atlanta.com",
nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="", qop="auth", nonce="1cec4341ae6cbe5a359ea9c8e88df84f", opaque="",
uri="sip:ss2.wcom.com", response="71ba27c64bd01de719686aa4590d5824" uri="sip:ss2.biloxi.com",
response="71ba27c64bd01de719686aa4590d5824"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=34095828jh
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@110.111.112.113>;expires=3600 Contact: <sip:UserB@192.168.200.201>;expires=3600
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone>;expires=3600 Contact: <mailto:UserB@biloxi.com>;expires=4294967295
Contact: <tel:+1-972-555-2222>;expires=4294967295
Contact: <mailto:UserB@there.com>;expires=4294967295
Content-Length: 0 Content-Length: 0
2.1.3 User Requests Current Contact List 2.1.3 User Requests Current Contact List
User B SIP Server User B SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| |
| 200 OK F2 | | 200 OK F2 |
|<------------------------------| |<------------------------------|
| | | |
User B sends a register request to the Proxy Server containing no User B 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 B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Authorization:Digest username="UserB", realm="wcom.com", Authorization: Digest username="UserB", realm="atlanta.com",
nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="", nonce="df84f1cec4341ae6cbe5ap359a9c8e88", opaque="",
uri="sip:ss2.wcom.com", response="aa7ab4678258377c6f7d4be6087e2f60" uri="sip:ss2.biloxi.com",
response="aa7ab4678258377c6f7d4be6087e2f60"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=jqoiweu75
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@110.111.112.113>;expires=3600 Contact: <sip:UserB@192.168.200.201>;expires=3600
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone>;expires=3600 Contact: <mailto:UserB@biloxi.com>;expires=4294967295
Contact: <tel:+1-972-555-2222>;expires=4294967295
Contact: <mailto:UserB@there.com>;expires=4294967295
Content-Length: 0 Content-Length: 0
2.1.4 User Cancels Registration 2.1.4 User Cancels Registration
User B SIP Server User B SIP Server
| | | |
| REGISTER F1 | | REGISTER F1 |
|------------------------------>| |------------------------------>|
| |
| 200 OK F2 | | 200 OK F2 |
|<------------------------------| |<------------------------------|
| | | |
User B wishes to cancel their registration with the SIP User B wishes to cancel their registration with the SIP
server. User B sends a SIP REGISTER request to the server. User B 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 User B's SIP
client. client.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Expires: 0 Expires: 0
Contact: * Contact: *
Authorization:Digest username="UserB", realm="wcom.com", Authorization: Digest username="UserB", realm="atlanta.com",
nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="", nonce="88df84f1cac4341aea9c8ee6cbe5a359", opaque="",
uri="sip:ss2.wcom.com", response="ff0437c51696f9a76244f0cf1dbabbea" uri="sip:ss2.biloxi.com",
response="ff0437c51696f9a76244f0cf1dbabbea"
Content-Length: 0 Content-Length: 0
F2 200 OK SIP Server -> B F2 200 OK SIP Server -> B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=1418nmdsrf
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Content-Length: 0 Content-Length: 0
2.2 Failure Scenarios 2.2 Failure Scenarios
2.2.1 Unsuccessful SIP registration 2.2.1 Unsuccessful SIP registration
User B SIP Server User B 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 User B 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 User B. User B enters her/his user ID
and password. User B's SIP client encrypts the user information and password. User B'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 User B's SIP client.
Message Details Message Details
F1 REGISTER B -> SIP Server F1 REGISTER B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone>
Contact: tel:+1-972-555-2222
Content-Length: 0 Content-Length: 0
F2 Unauthorized SIP Server -> User B F2 Unauthorized SIP Server -> User B
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=a73kszlfl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 1 REGISTER CSeq: 1 REGISTER
WWW-Authenticate: Digest realm="wcom.com", WWW-Authenticate: Digest realm="atlanta.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 B -> SIP Server
REGISTER sip:ss2.wcom.com SIP/2.0 REGISTER sip:ss2.biloxi.com SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=JueHGuidj28dfga
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-972-555-2222@gw1.wcom.com;user=phone> Authorization: Digest username="UserB", realm="atlanta.com",
Contact: tel:+1-972-555-2222
Authorization:Digest username="UserB", realm="wcom.com",
nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="", nonce="f1cec4341ae6ca9c8e88df84be55a359", opaque="",
uri="sip:ss2.wcom.com", response="61f8470ceb87d7ebf508220214ed438b" uri="sip:ss2.biloxi.com",
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 -> User B
SIP/2.0 401 Unauthorized SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=a73kszlfl From: LittleGuy <sip:UserB@biloxi.com>;tag=JueHGuidj28dfga
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>;tag=1410948204
Call-ID: 123456789@there.com Call-ID: 1j9FpLxk3uxtm8tn@biloxi.com
CSeq: 2 REGISTER CSeq: 2 REGISTER
WWW-Authenticate: Digest realm="wcom.com", WWW-Authenticate: Digest realm="atlanta.com", qop="auth",
nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459", nonce="84f1c1ae6cbe5ua9c8e88dfa3ecm3459",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
3 SIP to SIP Dialing 3 SIP to SIP Dialing
3.1 Success Scenarios 3.1 Success Scenarios
This section details calls between two SIP User Agents (UAs): This section details calls between two SIP User Agents (UAs):
User A and User B. User A (LittleGuy sip:UserA@here.com) and User User A and User B. User A (LittleGuy sip:UserA@atlanta.com) and User
B (BigGuy sip:UserB@there.com) are assumed to be SIP phones or SIP- B (BigGuy sip:UserB@biloxi.com) are assumed to be SIP phones or SIP-
enabled devices. The successful calls show the initial signaling, enabled devices. The successful calls show the initial signaling,
the exchange of media information in the form of SDP payloads, the the exchange of media information in the form of SDP payloads, the
establishment of the media session, then finally the termination of establishment of the media session, then finally the termination of
the call. the call.
SIP digest authentication is used by Proxy Servers to SIP digest authentication is used by Proxy Servers to
authenticate the caller User A. It is assumed that User B has authenticate the caller User A. It is assumed that User B has
registered with Proxy Server Proxy 2 as per Section 2.1 to be able to registered with Proxy Server Proxy 2 as per Section 2.1 to be able to
receive the calls via the Proxy. receive the calls via the Proxy.
skipping to change at page 21, line 33 skipping to change at page 16, line 33
| 200 OK F6 | | 200 OK F6 |
|----------------------->| |----------------------->|
| | | |
In this scenario, User A completes a call to User B directly. In this scenario, User A completes a call to User B directly.
Message Details Message Details
F1 INVITE User A -> User B F1 INVITE User A -> User B
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User B -> User A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=8321234356 To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F3 200 OK User B -> User A F3 200 OK User B -> User A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=8321234356 To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
F4 ACK User A -> User B F4 ACK User A -> User B
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=8321234356 To: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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 A and B */
/* User B Hangs Up with User A. Note that the CSeq is NOT 2, since /* User B Hangs Up with User A. Note that the CSeq is NOT 2, since
User A and User B maintain their own independent CSeq counts. User A and User B 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 User A, and the BYE is
request 1 generated by User B) */ request 1 generated by User B) */
F5 BYE User B -> User A F5 BYE User B -> User A
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: LittleGuy <sip:UserB@there.com>;tag=8321234356 From: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F6 200 OK User A -> User B F6 200 OK User A -> User B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=8321234356 From: LittleGuy <sip:UserB@biloxi.com>;tag=8321234356
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
3.1.2 Successful SIP to SIP through two proxies 3.1.2 Successful SIP to SIP through two proxies
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| 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 |
|<---------------| (100) F8 |--------------->| |<---------------| 100 F8 |--------------->|
| |<---------------| | | |<---------------| |
| | | 180 F9 | | | | 180 F9 |
| | 180 F10 |<---------------| | | 180 F10 |<---------------|
| 180 F11 |<---------------| | | 180 F11 |<---------------| |
|<---------------| | 200 F12 | |<---------------| | 200 F12 |
| | 200 F13 |<---------------| | | 200 F13 |<---------------|
| 200 F14 |<---------------| | | 200 F14 |<---------------| |
|<---------------| | | |<---------------| | |
| ACK F15 | | | | ACK F15 | | |
|--------------->| ACK F16 | | |--------------->| ACK F16 | |
skipping to change at page 24, line 44 skipping to change at page 19, line 44
| | 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, User A completes a call to User B using two proxies
Proxy 1 and Proxy 2. The initial INVITE (F1) does not contain the 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
default outbound proxy for User A). 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 User B 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. 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.
A tag is inserted by User B in message F9 since the initial INVITE
message contains more than one Via header and may have been forked.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A for authentication */
F2 407 Proxy Authorization Required Proxy 1 -> User A F2 407 Proxy Authorization Required Proxy 1 -> User A
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=3flal12sf To: LittleGuy <sip:UserB@biloxi.com>;tag=3flal12sf
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="wcom.com", Proxy-Authenticate: Digest realm="atlanta.com", qop="auth",
nonce="f84f1cec41e6cbe5aea9c8e88d359", nonce="f84f1cec41e6cbe5aea9c8e88d359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F3 ACK A -> Proxy 1 F3 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=3flal12sf To: LittleGuy <sip:UserB@biloxi.com>;tag=3flal12sf
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* User A responds be re-sending the INVITE with authentication
credentials in it. */ credentials in it. */
F4 INVITE A -> Proxy 1 F4 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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. Proxy 1 is assumed to have been authenticated by Proxy 2 using
IPSec. Client for A 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
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F7 INVITE Proxy 2 -> B F7 INVITE Proxy 2 -> B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F9 180 Ringing B -> Proxy 2 F9 180 Ringing B -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
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/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F11 180 Ringing Proxy 1 -> A F11 180 Ringing Proxy 1 -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F12 200 OK B -> Proxy 2 F12 200 OK B -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
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/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
F15 ACK A -> Proxy 1 F15 ACK A -> Proxy 1
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr>, <sip:ss2.wcom.com;lr> Route: <sip:ss1.atlanta.com;lr>, <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss2.wcom.com;lr> Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F17 ACK Proxy 2 -> B F17 ACK Proxy 2 -> B
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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 A and B */
/* User B Hangs Up with User A. */ /* User B Hangs Up with User A. */
/* Again, note that the CSeq is NOT 2. User A and User B maintain /* Again, note that the CSeq is NOT 3. User A and User B maintain
their own separate CSeq counts */ their own separate CSeq counts */
F18 BYE User B -> Proxy 2 F18 BYE User B -> Proxy 2
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss1.wcom.com;lr> Route: <sip:ss1.atlanta.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F20 BYE Proxy 1 -> User A F20 BYE Proxy 1 -> User A
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
Max-Forwards: 68 Max-Forwards: 68
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F21 200 OK User A -> Proxy 1 F21 200 OK User A -> Proxy 1
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=100.101.102.103 ;received=192.168.100.101
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.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 -> User B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345601@here.com Call-ID: 3848276298220188511@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
3.1.3 SIP to SIP with Multi Proxy Authentication 3.1.3 SIP to SIP with Multi Proxy Authentication
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | |
| 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 | | |
|<-----------| INVITE F6 | | |<-----------| INVITE F6 | |
| |---------->| | | |---------->| |
| | 407 Proxy Authorization Required F7 | | 407 Proxy Authorization Required F7
| |<----------| | | |<----------| |
| | ACK F8 | | | | ACK F8 | |
| |---------->| | | |---------->| |
| 407 Proxy Authorization Required F9 | | 407 Proxy Authorization Required F9 |
|<-----------| | | |<-----------| | |
| ACK F10 | | | | ACK F10 | | |
|----------->| | | |----------->| | |
| INVITE F11| | | | INVITE F11| | |
|----------->| | | |----------->| | |
| (100 F12) | | | | 100 F12 | | |
|<-----------| INVITE F13| | |<-----------| INVITE F13| |
| |---------->| | | |---------->| |
| | (100 F14) | | | | 100 F14 | |
| |<----------| INVITE F15 | | |<----------| INVITE F15 |
| | |------------>| | | |------------>|
| | | 200 OK F16 | | | | 200 OK F16 |
| | 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, User A completes a call to User B using two proxies
Proxy 1 and Proxy 2. The initial INVITE (F1) does not contain the Proxy 1 and Proxy 2. User A has valid credentials in both domains.
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
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 User B 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 A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A for authentication */
F2 407 Proxy Authorization Required Proxy 1 -> User A F2 407 Proxy Authorization Required Proxy 1 -> User A
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=876321 To: LittleGuy <sip:UserB@biloxi.com>;tag=876321
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="wcom.com", Proxy-Authenticate: Digest realm="atlanta.com", qop="auth",
nonce="wf84f1cczx41ae6cbeaea9ce88d359", nonce="wf84f1cczx41ae6cbeaea9ce88d359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F3 ACK A -> Proxy 1 F3 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Max-Forwards: 70 Max-Forwards: 70
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=876321 To: LittleGuy <sip:UserB@biloxi.com>;tag=876321
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* User A 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 A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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. Proxy 1 is assumed to have been authenticated by Proxy 2 using
IPSec. Client for A 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 (100 Trying Proxy 1 -> User A) F5 100 Trying Proxy 1 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A 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.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=838209 To: LittleGuy <sip:UserB@biloxi.com>;tag=838209
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Proxy-Authenticate: Digest realm="mci.com", Proxy-Authenticate: Digest realm="biloxi.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@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=838209 To: LittleGuy <sip:UserB@biloxi.com>;tag=838209
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE 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 User A for authentication from
Proxy 2 */ Proxy 2 */
F9 407 Proxy Authorization Required Proxy 1 -> User A F9 407 Proxy Authorization Required Proxy 1 -> User A
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=838209 To: LittleGuy <sip:UserB@biloxi.com>;tag=838209
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Proxy-Authenticate: Digest realm="mci.com", Proxy-Authenticate: Digest realm="biloxi.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 User A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=838209 To: LittleGuy <sip:UserB@biloxi.com>;tag=838209
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* User A 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 A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="", nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359", opaque="",
uri="sip:UserB@there.com", response="42ce3cef44b22f50c6a6071bc8" uri="sip:UserB@biloxi.com", response="42ce3cef44b22f50c6a6071bc8"
Proxy-Authorization:Digest username="UserA", realm="mci.com", Proxy-Authorization: Digest username="UserA", realm="biloxi.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:UserB@there.com", response="f44ab22f150c6a56071bce8" uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A, forwarding
the INVITE to Proxy. */ the INVITE to Proxy. */
F12 (100 Trying Proxy 1 -> User A) F12 100 Trying Proxy 1 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Content-Length: 0 Content-Length: 0
F13 INVITE Proxy 1 -> Proxy 2 F13 INVITE Proxy 1 -> Proxy 2
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="mci.com", Proxy-Authorization: Digest username="UserA", realm="biloxi.com",
nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="", nonce="c1e22c41ae6cbe5ae983a9c8e88d359", opaque="",
uri="sip:UserB@there.com", response="f44ab22f150c6a56071bce8" uri="sip:UserB@biloxi.com", response="f44ab22f150c6a56071bce8"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A, forwarding
the INVITE to User B. */ the INVITE to User B. */
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.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Content-Length: 0 Content-Length: 0
F15 INVITE Proxy 2 -> User B F15 INVITE Proxy 2 -> User B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.mci.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 */ /* User B answers the call immediately */
F16 200 OK User B -> Proxy 2 F16 200 OK User B -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 ;received=192.168.156.222
;received=1.2.3.4 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=192.168.255.111
;received=100.101.102.103 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Record-Route: <sip:ss2.mci.com;lr>, <sip:ss1.wcom.com;lr> ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com>;tag=9103874 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
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.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.mci.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=9103874 To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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 -> User A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.mci.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=9103874 To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 INVITE CSeq: 3 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
F19 ACK User A -> Proxy 1 F19 ACK User A -> Proxy 1
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr>, <sip:ss2.mci.com;lr> Route: <sip:ss1.atlanta.com;lr>, <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=9103874 To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 ACK CSeq: 3 ACK
Content-Length: 0 Content-Length: 0
F20 ACK Proxy 1 -> Proxy 2 F20 ACK Proxy 1 -> Proxy 2
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss2.mci.com;lr> Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=9103874 To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 ACK CSeq: 3 ACK
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F21 ACK Proxy 2 -> User A F21 ACK Proxy 2 -> User A
ACK sip:UserB@110.111.112.113 SIP/2.0
Via: SIP/2.0/UDP ss2.mci.com:5060;branch=z9hG4bK31972.1 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK230f2.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK31972.1
;received=1.2.3.4 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK230f2.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 ;received=192.168.255.111
;received=100.101.102.103 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=9103874 To: LittleGuy <sip:UserB@biloxi.com>;tag=9103874
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 3 ACK CSeq: 3 ACK
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
3.1.4 Successful SIP to SIP with Proxy failure 3.1.4 Successful SIP to SIP with Proxy failure
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| | | |--------------->| | |
| INVITE F2 | | | | INVITE F2 | | |
|--------------->| | | |--------------->| | |
| INVITE F3 | | | | INVITE F3 | | |
|--------------->| | | |--------------->| | |
| INVITE F4 | | | | INVITE F4 | | |
|--------------->| | | |--------------->| | |
| INVITE F5 | | | | INVITE F5 | | |
|--------------->| | | |--------------->| | |
| INVITE F6 | | | | INVITE F6 | | |
|--------------->| | | |--------------->| | |
| INVITE F7 | | | | INVITE F7 | | |
|--------------->| | | |--------------->| | |
| INVITE F9 | | | INVITE F8 | |
|-------------------------------->| | |-------------------------------->| |
| 407 F10 | | | 407 F9 | |
|<--------------------------------| | |<--------------------------------| |
| ACK F11 | | | ACK F10 | |
|-------------------------------->| | |-------------------------------->| |
| INVITE F12 | | | INVITE F11 | |
|-------------------------------->| INVITE F13 | |-------------------------------->| INVITE F12 |
| (100) F14 |--------------->| | 100 F13 |--------------->|
|<--------------------------------| | |<--------------------------------| |
| | 180 F15 | | | 180 F14 |
| 180 F16 |<---------------| | 180 F15 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| | 200 F17 | | | 200 F16 |
| 200 F18 |<---------------| | 200 F17 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| ACK F19 | | | ACK F18 | |
|-------------------------------->| ACK F20 | |-------------------------------->| ACK F19 |
| |--------------->| | |--------------->|
| Both Way RTP Media | | Both Way RTP Media |
|<================================================>| |<================================================>|
| | BYE F21 | | | BYE F20 |
| BYE F22 |<---------------| | BYE F21 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| 200 F23 | | | 200 F22 | |
|-------------------------------->| 200 F24 | |-------------------------------->| 200 F23 |
| |--------------->| | |--------------->|
| | | | | |
In this scenario, User A completes a call to User B via a Proxy In this scenario, User A completes a call to User B via a Proxy
Server. User A is configured for a primary SIP Proxy Server Proxy 1 Server. User A is configured for a primary SIP Proxy Server Proxy 1
and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV and a secondary SIP Proxy Server Proxy 2 (Or is able to use DNS SRV
records to locate Proxy 1 and Proxy 2). Proxy 1 is out of service and records to locate Proxy 1 and Proxy 2). User A has valid credentials
does not respond to INVITEs (it is reachable, but unresponsive). for both domains. Proxy 1 is out of service and does not respond to
After sending a CANCEL to Proxy 1, User A then completes the call to INVITEs (it is reachable, but unresponsive). User A then completes
User B using Proxy 2. the call to User B using Proxy 2.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK465bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK465bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A -> Proxy 1
Same as Message F1 Same as Message F1
F3 INVITE A -> Proxy 1 F3 INVITE A -> Proxy 1
skipping to change at page 46, line 12 skipping to change at page 41, line 12
F6 INVITE A -> Proxy 1 F6 INVITE A -> Proxy 1
Same as Message F1 Same as Message F1
F7 INVITE A -> Proxy 1 F7 INVITE A -> Proxy 1
Same as Message F1 Same as Message F1
/* User A gives up on the unresponsive proxy */ /* User A gives up on the unresponsive proxy */
F9 INVITE A -> Proxy 2 F8 INVITE A -> Proxy 2
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345601@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 User A for authentication */
F10 407 Proxy Authorization Required Proxy 2 -> User A F9 407 Proxy Authorization Required Proxy 2 -> User A
SIP/2.0 407 Proxy Authorization Required SIP/2.0 407 Proxy Authorization Required
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=2421452 To: LittleGuy <sip:UserB@biloxi.com>;tag=2421452
Call-ID: 12345601@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Proxy-Authenticate: Digest realm="wcom.com", Proxy-Authenticate: Digest realm="biloxi.com", qop="auth",
nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359",
opaque="", stale=FALSE, algorithm=MD5 opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0 Content-Length: 0
F11 ACK A -> Proxy 2 F10 ACK A -> Proxy 2
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=2421452 To: LittleGuy <sip:UserB@biloxi.com>;tag=2421452
Call-ID: 12345601@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* User A responds be re-sending the INVITE with authentication /* User A responds be re-sending the INVITE with authentication
credentials in it. */ credentials in it. */
F12 INVITE A -> Proxy 2 F11 INVITE A -> Proxy 2
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="biloxi.com",
nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="", nonce="1ae6cbe5ea9c8e8df84fqnlec434a359", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="8a880c919d1a52f20a1593e228adf599" response="8a880c919d1a52f20a1593e228adf599"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 accepts the credentials and forwards the INVITE to User B. /* Proxy 2 accepts the credentials and forwards the INVITE to User B.
Client for A prepares to receive data on port 49172 from the network. Client for A prepares to receive data on port 49172 from the network.
*/ */
F13 INVITE Proxy 2 -> B F12 INVITE Proxy 2 -> B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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
F14 (100 Trying) Proxy 2 -> User A F13 100 Trying Proxy 2 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=2.3.4.5 ;received=192.168.100.101
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
;received=100.101.102.103 To: LittleGuy <sip:UserB@biloxi.com>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
To: LittleGuy <sip:UserB@there.com> CSeq: 2 INVITE
Call-ID: 12345602@here.com
CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F15 180 Ringing B -> Proxy 2 F14 180 Ringing B -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F16 180 Ringing Proxy 2 -> A F15 180 Ringing Proxy 2 -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F17 200 OK B -> Proxy 2 F16 200 OK B -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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 2 -> A F17 200 OK Proxy 2 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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
F19 ACK A -> Proxy 2 F18 ACK A -> Proxy 2
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.wcom.com;lr> Route: <sip:ss2.biloxi.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F20 ACK Proxy 2 -> B F19 ACK Proxy 2 -> B
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 ACK CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
/* RTP streams are established between A and B */ /* RTP streams are established between A and B */
/* User B Hangs Up with User A. */ /* User B Hangs Up with User A. */
F21 BYE User B -> Proxy 2 F20 BYE User B -> Proxy 2
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.wcom.com;lr> Route: <sip:ss2.biloxi.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F22 BYE Proxy 2 -> User A F21 BYE Proxy 2 -> User A
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
Max-Forwards: 69 Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F23 200 OK User A -> Proxy 2 F22 200 OK User A -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F24 200 OK Proxy 2 -> User B F23 200 OK Proxy 2 -> User B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP there.com:5060;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKnashds7
;received=110.111.112.113 ;received=192.168.200.201
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345602@here.com Call-ID: 4Fde34wkd11wsGFDs3@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
3.1.5 Successful SIP to SIP through SIP ALG 3.1.5 Successful SIP to SIP through SIP ALG
User A ALG Proxy 1 User B User A ALG Proxy 2 User B
| | | | | | | |
| 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 |<---------------|
| 200 F11 |<---------------| | | 200 F11 |<---------------| |
|<---------------| | | |<---------------| |
| ACK F12 | | | | ACK F12 | |
|--------------->| ACK F13 | | |--------------->| ACK F13 |
| |--------------->| ACK F14 | | |-------------------------------->|
| | |--------------->|
| RTP Media | Both Way RTP Media | | RTP Media | Both Way RTP Media |
|<==============>|<===============================>| |<==============>|<===============================>|
| BYE F15 | | | | BYE F14 | |
|--------------->| BYE F16 | | |--------------->| BYE F15 |
| |--------------->| BYE F17 | | |-------------------------------->|
| | |--------------->| | | 200 F16 |
| | | 200 F18 | | 200 F17 |<--------------------------------|
| | 200 F19 |<---------------| |<---------------| |
| 200 F20 |<---------------| | | | |
|<---------------| | |
| | | |
User A completes a call to User B through a ALG (Application Layer User A completes a call to User B through a ALG (Application Layer
Gateway) and a SIP Proxy. The signaling message exchange is Gateway) and a SIP Proxy. The routing through the ALG is
identical to 3.1.1 but the media stream setup is not end-to-end - the accomplished using a pre-loaded Route header in the INVITE F1. Note
ALG terminates both media streams and bridges them. This is done by that the media stream setup is not end-to-end - the ALG terminates
the ALG modifying the SDP in the INVITE (F1) and 200 OK (F10) both media streams and bridges them. This is done by the ALG
messages, and possibly any 18x or ACK messages containing SDP. modifying the SDP in the INVITE (F1) and 200 OK (F10) messages, and
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 User A 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.
Message Details Message Details
F1 INVITE A -> SIP ALG F1 INVITE A -> SIP ALG
INVITE sip:UserB@there.com;maddr=alg1.here.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Route: <sip:alg1.atlanta.com;lr>
Proxy-Authorization: Digest username="UserA", realm="biloxi.com",
nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="b3f392f9218a328b9294076d708e6815" response="b3f392f9218a328b9294076d708e6815"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A prepares to receive data on port 49172 from the
network. */ network. */
F2 INVITE SIP ALG -> Proxy 1 F2 INVITE SIP ALG -> Proxy 2
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="biloxi.com",
nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="", nonce="85b4f1cen4341ae6cbe5a3a9c8e88df9", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="b3f392f9218a328b9294076d708e6815" response="b3f392f9218a328b9294076d708e6815"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 149 Content-Length: 146
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 200.201.202.203 c=IN IP4 192.168.255.128
t=0 0 t=0 0
m=audio 1000 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 -> A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
/* SIP ALG prepares to proxy data from port 200.201.202.203/1000 to /* SIP ALG prepares to proxy data from port 192.168.255.128/2000 to
100.101.102.103/49172. Proxy 1 uses a Location Service function to 192.168.100.101/49172. Proxy 2 uses a Location Service function to
determine where B is located. Based upon location analysis the call determine where B is located. Based upon location analysis the call
is forwarded to User B */ is forwarded to User B */
F4 INVITE Proxy 1 -> B F4 INVITE Proxy 2 -> B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 146 Content-Length: 146
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 200.201.202.203 c=IN IP4 192.168.255.128
t=0 0 t=0 0
m=audio 1000 RTP/AVP 0 m=audio 2000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F5 (100 Trying) Proxy 1 -> 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.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 180 Ringing B -> Proxy 1 F6 180 Ringing B -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.156.222
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F7 180 Ringing Proxy 1 -> 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.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F8 180 Ringing SIP ALG -> A F8 180 Ringing SIP ALG -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F9 200 OK B -> Proxy 1 F9 200 OK B -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.156.222
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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 1 -> SIP ALG F10 200 OK Proxy 2 -> SIP ALG
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 110.111.112.113 c=IN IP4 192.168.200.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 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr>, <sip:alg1.here.com;lr> Record-Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 145
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 200.201.202.203 c=IN IP4 192.168.255.128
t=0 0 t=0 0
m=audio 1002 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 200.201.202.203/ /* The ALG prepares to proxy packets from 192.168.255.128/
1002 to 110.111.112.113/3456 */ 1734 to 192.168.200.201/3456 */
F12 ACK A -> SIP ALG F12 ACK A -> SIP ALG
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:alg.wcom.com;lr>, <sip:ss1.wcom.com;lr> Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F13 ACK SIP ALG -> Proxy 1 F13 ACK SIP ALG -> B
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: LittleGuy <sip:UserB@there.com>;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 12345600@here.com
CSeq: 1 ACK
Content-Length: 0
F14 ACK Proxy 1 -> B
ACK sip:UserB@110.111.112.113 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103
Max-Forwards: 68
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.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 A and the ALG and
between the ALG and B*/ between the ALG and B*/
/* User A Hangs Up with User B. */ /* User A Hangs Up with User B. */
F15 BYE A -> SIP ALG F14 BYE A -> SIP ALG
BYE sip:UserB@110.111.112.113 SIP/2.0 BYE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:alg.wcom.com;lr>, <sip:ss1.wcom.com;lr> Route: <sip:alg1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F16 BYE SIP ALG -> Proxy 1 F15 BYE SIP ALG -> B
BYE sip:UserB@110.111.112.113 SIP/2.0 BYE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: LittleGuy <sip:UserB@there.com>;tag=314159 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F17 BYE F18 Proxy 1 -> B
BYE sip:UserB@110.111.112.113 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103
Max-Forwards: 68
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE
Content-Length: 0
F18 200 OK B -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159
Call-ID: 12345600@here.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F19 200 OK Proxy 1 -> SIP ALG F16 200 OK B -> SIP ALG
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP alg1.here.com:5060;branch=z9hG4bK739578.1 Via: SIP/2.0/UDP alg1.atlanta.com:5060;branch=z9hG4bK739578.1
;received=200.201.202.203 ;received=192.168.255.128
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
F17 200 OK SIP ALG -> A
F20 200 OK SIP ALG -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 BYE CSeq: 2 BYE
Content-Length: 0 Content-Length: 0
3.1.6 Successful SIP to SIP via Redirect and Proxy with SDP in ACK 3.1.6 Successful SIP to SIP via Redirect and Proxy with SDP in ACK
User A Redirect Proxy Proxy 2 User B User A Redirect Server Proxy 3 User B
| | | | | | | |
| INVITE F1 | | | | INVITE F1 | | |
|--------------->| | | |--------------->| | |
| 302 F2 | | | | 302 F2 | | |
|<---------------| | | |<---------------| | |
| ACK F3 | | | | ACK F3 | | |
|--------------->| | | |--------------->| | |
| INVITE F4 | | | INVITE F4 | |
|-------------------------------->| INVITE F5 | |-------------------------------->| INVITE F5 |
| (100) F6 |--------------->| | 100 F6 |--------------->|
|<--------------------------------| 180 F7 | |<--------------------------------| 180 F7 |
| 180 F8 |<---------------| | 180 F8 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| | 200 F9 | | | 200 F9 |
| 200 F10 |<---------------| | 200 F10 |<---------------|
|<--------------------------------| | |<--------------------------------| |
| ACK F11 | | | ACK F11 | |
|-------------------------------->| ACK F12 | |-------------------------------->| ACK F12 |
| |--------------->| | |--------------->|
| Both Way RTP Media | | Both Way RTP Media |
skipping to change at page 61, line 50 skipping to change at page 55, line 50
Temporarily response (F2) containing a Contact header with User B's Temporarily response (F2) containing a Contact header with User B's
current SIP address. User A then generates a new INVITE and sends to current SIP address. User A then generates a new INVITE and sends to
User B via the Proxy Server and the call proceeds normally. In this User B 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 User B sends a BYE message.
Message Details Message Details
F1 INVITE A -> Redirect Proxy F1 INVITE A -> Redirect Server
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Length: 0 Content-Length: 0
F2 302 Moved Temporarily Redirect Proxy -> A F2 302 Moved Temporarily Redirect Proxy -> A
SIP/2.0 302 Moved Temporarily SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=53fHlqlQ2 To: LittleGuy <sip:UserB@biloxi.com>;tag=53fHlqlQ2
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: sip:UserB@everywhere.com Contact: sip:UserB@chicago.com
Content-Length: 0 Content-Length: 0
F3 ACK A -> Redirect Proxy F3 ACK A -> Redirect Server
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bKbf9f44 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bKbf9f44
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=53fHlqlQ2 To: LittleGuy <sip:UserB@biloxi.com>;tag=53fHlqlQ2
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F4 INVITE A -> Proxy 2 F4 INVITE A -> Proxy 3
INVITE sip:UserB@everywhere.com SIP/2.0 INVITE sip:UserB@chicago.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Length: 0 Content-Length: 0
F5 INVITE Proxy 2 -> B F5 INVITE Proxy 3 -> B
INVITE sip:UserB@111.112.113.114 SIP/2.0 INVITE sip:UserB@192.168.200.100 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss2.wcom.com> Record-Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Length: 0 Content-Length: 0
F6 (100 Trying) Proxy 2 -> A F6 100 Trying Proxy 3 -> A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Content-Length: 0 Content-Length: 0
F7 180 Ringing B -> Proxy 2 F7 180 Ringing B -> Proxy 3
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.182.333
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@111.112.113.114> Contact: <sip:UserB@192.168.200.100>
Content-Length: 0 Content-Length: 0
F8 180 Ringing Proxy 2 -> A F8 180 Ringing Proxy 3 -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@111.112.113.114> Contact: <sip:UserB@192.168.200.100>
Content-Length: 0 Content-Length: 0
F9 200 OK B -> Proxy 2 F9 200 OK B -> Proxy 3
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.182.333
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@111.112.113.114> Contact: <sip:UserB@192.168.200.100>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 152 Content-Length: 146
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 everywhere.com o=UserB 2890844527 2890844527 IN IP4 client.chicago.com
s=Session SDP s=-
c=IN IP4 111.112.113.114 c=IN IP4 192.168.200.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 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr> Record-Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 2 INVITE
Contact: <sip:UserB@111.112.113.114> Contact: <sip:UserB@192.168.200.100>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 152 Content-Length: 146
v=0 v=0
o=UserB 2890844527 2890844527 IN IP4 everywhere.com o=UserB 2890844527 2890844527 IN IP4 client.chicago.com
s=Session SDP s=-
c=IN IP4 111.112.113.114 c=IN IP4 192.168.200.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 A since none present in INVITE */
F11 ACK A -> Proxy 2 F11 ACK A -> Proxy 3
ACK sip:UserB@192.168.200.100 SIP/2.0
ACK sip:UserB@everyhere.com SIP/2.0 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.wcom.com;lr> Route: <sip:ss3.chicago.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 2 -> B F12 ACK Proxy 3 -> B
ACK sip:UserB@111.112.112.114 SIP/2.0 ACK sip:UserB@111.112.112.114 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 ACK CSeq: 2 ACK
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A and B*/
/* User B Hangs Up with User A. */ /* User B Hangs Up with User A. */
F13 BYE B -> Proxy 2 F13 BYE B -> Proxy 3
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss2.wcom.com;lr> Route: <sip:ss3.chicago.com;lr>
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F14 BYE Proxy 2 -> A F14 BYE Proxy 3 -> A
BYE sip:UserA@100.101.102.103 SIP/2.0 BYE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 ;received=192.168.200.100
Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2
Max-Forwards: 69 Max-Forwards: 69
From: LittleGuy <sip:UserB@there.com>;tag=314159 From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F15 200 OK A -> Proxy 2 F15 200 OK A -> Proxy 3
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss3.chicago.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.182.333
Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2
From: LittleGuy <sip:UserB@there.com>;tag=314159 ;received=192.168.200.100
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
F16 200 OK Proxy 2 -> B F16 200 OK Proxy 3 -> B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP everywhere.com:5060;branch=z9hG4bKfgaw2 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKfgaw2
From: LittleGuy <sip:UserB@there.com>;tag=314159 ;received=192.168.200.100
To: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 BYE CSeq: 1 BYE
Content-Length: 0 Content-Length: 0
3.1.7 Successful SIP to SIP with re-INVITE (T.38 Fax) 3.1.7 Successful SIP to SIP with re-INVITE (IP Address Change)
IFT UA Proxy IFTGW UA User A Proxy 2 User B
| 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 |
|------------------->| F9 ACK | |---------------------------------------->|
| ------------------->|
| Both Way RTP Media Established | | Both Way RTP Media Established |
|<=======================================>| |<=======================================>|
| | F10 INVITE | | |
| F11 INVITE |<-------------------| | B changes IP address |
|<-------------------| | | |
| F12 200 OK | | | F9 INVITE |
|------------------->| F13 200 OK | |<----------------------------------------|
| |------------------->| | F10 200 OK |
| | F14 ACK | |---------------------------------------->|
| F15 ACK |<-------------------| | F11 ACK |
|<-------------------| | |<----------------------------------------|
| T.38/UDPT Fax Flow Established | | New RTP Media Stream |
|<=======================================>|
| | F16 INVITE |
| F17 INVITE |<-------------------|
|<-------------------| |
| F18 200 OK | |
|------------------->| F19 200 OK |
| |------------------->|
| | F20 ACK |
| F21 ACK |<-------------------|
|<-------------------| |
| RTP Media Re-Established |
|<=======================================>| |<=======================================>|
| F22 BYE | | | F12 BYE |
|------------------->| F23 BYE | |---------------------------------------->|
| |------------------->| | F25 200 OK |
| | F24 200 OK | |<----------------------------------------|
| F25 200 OK |<-------------------| | |
|<-------------------| |
This example shows a session whose media session changes twice during This example shows a session in which the media is changes midway
the session. The initial PCM media session is established between through the session. When User B?s IP address changes during the
the two User Agents in messages F1 through F10. The called party session, User B sends a re-INVITE containing a new Contact and SDP
then wishes to change the type of media session between them. (In (version number incremented) information to A. In this flow, the
this example, the called party detects a fax transmission and wishes proxy does not Record-Route so is not in the SIP messaging path after
to change the media session to a T.38 Fax over IP session). The the initial exchange.
details of the T.38 SDP parameters are described in [T.38]. The
called party then sends a re-INVITE in message F11 which is accepted
in the 200 OK of message F13. After message F16, the original PCM
media session is terminated and the new T.38 session established.
After the fax transmission is over, the called party again wishes to
switch the media session back to a PCM media session and initiates a
re-INVITE sequence with message F17.
Message Details Message Details
F1 INVITE IFT UA -> PROXY F1 INVITE A -> Proxy 2
INVITE sip:+1-650-555-2222@ss1.wcom.com;user=phone SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 1717@ift.here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 17 INVITE CSeq: 1 INVITE
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 146 Content-Length: 147
v=0 v=0
o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 ift.here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 120.121.122.123 c=IN IP4 192.168.100.101
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F2 INVITE PROXY -> IFTGW UA F2 INVITE Proxy 2 -> B
INVITE sip:+1-650-555-2222@iftgw.there.com;user=phone SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d007.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=120.121.122.123 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: LittleGuy <sip:UserB@biloxi.com>
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone> Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 1 INVITE
CSeq: 17 INVITE Contact: <sip:UserA@192.168.100.101>
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 146 Content-Length: 147
v=0 v=0
o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 ift.here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 120.121.122.123 c=IN IP4 192.168.100.101
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F3 (100 Trying) PROXY -> IFT UA F3 100 Trying Proxy 2 -> A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=120.121.122.123 ;received=192.168.100.101
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 1717@ift.here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 17 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 180 Ringing IFTGW UA -> PROXY F4 180 Ringing B -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.156.222
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=120.121.122.123 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 1 INVITE
CSeq: 17 INVITE Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Length: 0 Content-Length: 0
F5 180 Ringing PROXY -> IFT UA F5 180 Ringing Proxy 2 -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=120.121.122.123 ;received=192.168.100.101
Record-Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 1 INVITE
CSeq: 17 INVITE Contact: <sip:UserB@192.168.200.201>
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Length: 0 Content-Length: 0
F6 200 OK IFTGW UA -> PROXY F6 200 OK B -> Proxy 2
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1
;received=1.2.3.4
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5
;received=120.121.122.123
Record-Route: <sip:ss1.wcom.com;lr>
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 17 INVITE
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Type: application/sdp
Content-Length: 150
v=0
o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 iftgw.there.com
s=Session SDP
c=IN IP4 iftmg.there.com
t=0 0
m=audio 12323 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F7 200 OK PROXY -> IFT UA
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK2d4790.1
;received=120.121.122.123 ;received=192.168.156.222
Record-Route: <sip:ss1.wcom.com;lr> Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke ;received=192.168.100.101
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 1717@ift.here.com To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
CSeq: 17 INVITE Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Type: application/sdp
Content-Length: 150
v=0
o=IFAXTERMINAL01 2890844527 2890844527 IN IP4 iftgw.there.com
s=Session SDP
c=IN IP4 iftmg.there.com
t=0 0
m=audio 12323 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F8 ACK IFT UA -> PROXY
ACK sip:+1-650-555-2222@ss1.wcom.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5
Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr>
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 17 ACK
Content-Length: 0
F9 ACK PROXY -> IFTGW UA
ACK sip:+1-650-555-2222@iftgw.there.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d007.1
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5
;received=120.121.122.123
Max-Forwards: 69
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 17 ACK
Content-Length: 0
/* RTP streams are established. The CNG fax tone is sent in-band if
it is present. The receiving side IFT gateway DSP detects the
Preamble. A new UDP port is open on IFTGW for T.38 IFP packets and
the IFTGW signals the switch over to fax mode by send a re-INVITE
with the same Call-ID and with the new UDP port in the SDP */
F10 INVITE IFTGW UA -> PROXY
INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr>
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 1 INVITE
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Type: application/sdp
Content-Length: 320
v=0
o=faxgw1 2890844527 2890844528 IN IP4 iftgw.there.com
s=Session SDP
c=IN IP4 iftmg.there.com
t=0 0
m=image 49172 udptl t38
a=T38FaxVersion:0
a=T38maxBitRate:14400
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:72
a=T38FaxMaxDatagram:316
a=T38FaxUdpEC:t38UDPRedundancy
F11 INVITE PROXY -> IFT UA
INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr>
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 320 Content-Length: 145
v=0 v=0
o=faxgw1 2890844527 2890844528 IN IP4 iftgw.there.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 iftmg.there.com c=IN IP4 192.168.200.201
t=0 0 t=0 0
m=image 49172 udptl t38 m=audio 3456 RTP/AVP 0
a=T38FaxVersion:0 a=rtpmap:0 PCMU/8000
a=T38maxBitRate:14400
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:72
a=T38FaxMaxDatagram:316
a=T38FaxUdpEC:t38UDPRedundancy
F12 200 OK IFT UA -> PROXY
F7 200 OK Proxy 2 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=1.2.3.4 ;received=192.168.100.101
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
;received=120.121.122.123 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Record-Route: <sip:ss1.wcom.com;lr> Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone> Contact: <sip:UserB@192.168.200.201>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 320 Content-Length: 145
v=0 v=0
o=faxgw1 2890846527 2890846528 IN IP4 ift.here.com o=UserB 2890844527 2890844527 IN IP4 client.biloxi.com
s=Session SDP s=-
c=IN IP4 120.121.122.123 c=IN IP4 192.168.200.201
t=0 0 t=0 0
m=image 15002 udptl t38 m=audio 3456 RTP/AVP 0
a=T38FaxVersion:0 a=rtpmap:0 PCMU/8000
a=T38maxBitRate:14400
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:72
a=T38FaxMaxDatagram:316
a=T38FaxUdpEC:t38UDPRedundancy
F13 200 OK PROXY -> IFT UA
SIP/2.0 200 OK
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Record-Route: <sip:ss1.wcom.com;lr>
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 1 INVITE
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone>
Content-Type: application/sdp
Content-Length: 320
v=0 F8 ACK A -> B
o=faxgw1 2890846527 2890846528 IN IP4 ift.here.com
s=Session SDP
c=IN IP4 120.121.122.123
t=0 0
m=image 15002 udptl t38
a=T38FaxVersion:0
a=T38maxBitRate:14400
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:72
a=T38FaxMaxDatagram:316
a=T38FaxUdpEC:t38UDPRedundancy
F14 ACK IFTGW UA -> PROXY
ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com
CSeq: 1 ACK
Content-Length: 0
F15 ACK PROXY -> IFT UA
ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Max-Forwards: 69
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
/* T.38 fax transmission established both ways which replaces the PCM /* RTP streams are established between A and B */
audio session. */
/* Then, the end of the fax transmission is detected on ingress side /* B changes IP address and re-INVITEs A with new Contact and SDP */
and sent to the egress side (IFTGW). IFTGW initiates the switch back
to voice communication */
F16 INVITE IFTGW UA -> PROXY F9 INVITE B -> A
INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 INVITE sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKlkld5l
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr> From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 14 INVITE
CSeq: 2 INVITE Contact: <sip:UserB@192.168.200.100>
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Type: application/sdp
Content-Length: 181
v=0
o=faxgw1 2890844527 2890844529 IN IP4 iftgw.there.com
s=Session SDP
c=IN IP4 iftmg.there.com
t=0 0
m=audio 12323 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F17 INVITE PROXY -> IFT UA
INVITE sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr>
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 2 INVITE
Contact: <sip:+1-650-555-2222@iftgw.there.com;user=phone>
Content-Type: application/sdp
Content-Length: 181
v=0
o=faxgw1 2890844527 2890844529 IN IP4 iftgw.there.com
s=Session SDP
c=IN IP4 iftmg.there.com
t=0 0
m=audio 12323 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F18 200 OK IFT UA -> PROXY
SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d008.1
;received=1.2.3.4
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Record-Route: <sip:ss1.wcom.com;lr>
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 2 INVITE
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 150 Content-Length: 147
v=0 v=0
o=faxgw1 2890844527 2890844529 IN IP4 ift.here.com o=UserB 2890844527 2890844528 IN IP4 client.chicago.com
s=Session SDP s=-
c=IN IP4 120.121.122.123 c=IN IP4 192.168.200.100
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 47172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F19 200 OK PROXY -> IFTGW UA F10 200 OK A ->B
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 Via: SIP/2.0/UDP client.chicago.com:5060;branch=z9hG4bKlkld5l
;received=120.121.122.123 ;received=192.168.200.100
Record-Route: <sip:ss1.wcom.com;lr> Max-Forwards: 70
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 1717@ift.here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 2 INVITE CSeq: 14 INVITE
Contact: <sip:+1-303-555-1111@ift.here.com;user=phone> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 150 Content-Length: 147
v=0 v=0
o=faxgw1 2890844527 2890844529 IN IP4 ift.here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 120.121.122.123 c=IN IP4 192.168.100.101
t=0 0 t=0 0
m=audio 3456 RTP/AVP 0 m=audio 1000 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
F20 ACK IFTGW UA -> PROXY F11 ACK B -> A
ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0 ACK sip:UserA@192.168.100.101 SIP/2.0
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3 Via: SIP/2.0/UDP client.biloxi.com:5060;branch=z9hG4bKlkld5l
Max-Forwards: 70 Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr> From: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 14 ACK
CSeq: 2 ACK
Content-Length: 0 Content-Length: 0
F21 ACK PROXY -> IFT UA /* New RTP stream established between A and B */
ACK sip:+1-303-555-1111@ift.here.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1
Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bKjeefr3
;received=120.121.122.123
Max-Forwards: 69
To: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
From: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 2 ACK
Content-Length: 0
F22 BYE IFT UA -> PROXY
BYE sip:+1-650-555-2222@ss1.wcom.com SIP/2.0 /* A hangs up with B */
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5
Max-Forwards: 70
Route: <sip:ss1.wcom.com;lr>
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 18 BYE
Content-Length: 0
F23 BYE PROXY -> IFTGW UA F12 BYE A -> B
BYE sip:+1-650-555-2222@ss1.wcom.com SIP/2.0 BYE sip:UserB@192.168.200.100 SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060; branch=z9hG4bK2d009.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Max-Forwards: 70
;received=120.121.122.123 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Max-Forwards: 69 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 CSeq: 2 BYE
Call-ID: 1717@ift.here.com
CSeq: 18 BYE
Content-Length: 0 Content-Length: 0
F24 200 OK IFTGW UA -> PROXY F13 200 OK B -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d007.1 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=1.2.3.4 ;received=192.168.100.101
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5 Max-Forwards: 70
;received=120.121.122.123 From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617 Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
Call-ID: 1717@ift.here.com CSeq: 2 BYE
CSeq: 18 BYE
Content-Type: application/sdp
Content-Length: 0 Content-Length: 0
F25 200 OK PROXY -> IFT UA
SIP/2.0 200 OK
Via: SIP/2.0/UDP ift.here.com:5060;branch=z9hG4bK4jhfk5
;received=120.121.122.123
From: <sip:+1-303-555-1111@ift.here.com;user=phone>;tag=332lflke
To: <sip:+1-650-555-2222@ss1.wcom.com;user=phone>;tag=5617
Call-ID: 1717@ift.here.com
CSeq: 18 BYE
Content-Type: application/sdp
Content-Length: 0
3.2 Failure Scenarios 3.2 Failure Scenarios
3.2.1 Unsuccessful SIP to SIP no answer 3.2.1 Unsuccessful SIP to SIP no answer
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| 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 |<---------------| |
|<---------------| | | |<---------------| | |
| | | | | | | |
| CANCEL F9 | | | | CANCEL F9 | | |
|--------------->| | | |--------------->| | |
| 200 F10 | | | | 200 F10 | | |
|<---------------| CANCEL F11 | | |<---------------| CANCEL F11 | |
skipping to change at page 80, line 9 skipping to change at page 68, line 9
had crossed with the CANCEL, User A would have sent an ACK then a BYE had crossed with the CANCEL, User A would have sent an ACK then a BYE
to User B in order to properly terminate the call. to User B 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.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="", nonce="ze7k1ee88df84f1cec431ae6cbe5a359", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="b00b416324679d7e243f55708d44be7b" response="b00b416324679d7e243f55708d44be7b"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A 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@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 -> A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> B F4 INVITE Proxy 2 -> B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
Max-Forwards: 68 Max-Forwards: 68
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 180 Ringing B -> Proxy 2 F6 180 Ringing B -> Proxy 2
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.client.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F8 180 Ringing Proxy 1 -> A F8 180 Ringing Proxy 1 -> A
SIP/2.0 180 Ringing SIP/2.0 180 Ringing
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserB@110.111.112.113> Contact: <sip:UserB@192.168.200.201>
Content-Length: 0 Content-Length: 0
F9 CANCEL A -> Proxy 1 F9 CANCEL A -> Proxy 1
CANCEL sip:UserB@there.com SIP/2.0 CANCEL sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F10 200 OK Proxy 1 -> A F10 200 OK Proxy 1 -> A
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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@here.com SIP/2.0 CANCEL sip:UserA@atlanta.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F13 CANCEL Proxy 2 -> B F13 CANCEL Proxy 2 -> B
CANCEL sip:UserB@110.111.112.113 SIP/2.0 CANCEL sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F14 200 OK B -> Proxy 2 F14 200 OK B -> Proxy 2
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 CANCEL CSeq: 1 CANCEL
Content-Length: 0 Content-Length: 0
F15 487 Request Terminated B -> Proxy 2 F15 487 Request Terminated B -> Proxy 2
SIP/2.0 487 Request Terminated SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F16 ACK Proxy 2 -> B F16 ACK Proxy 2 -> B
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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 -> A
SIP/2.0 487 Request Terminated SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
F20 ACK A -> Proxy 1 F20 ACK A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
3.2.2 Unsuccessful SIP to SIP busy 3.2.2 Unsuccessful SIP to SIP busy
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| 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, User B is busy and sends a 486 Busy Here response
to User A's INVITE. Note that the 4xx response is ACKed at each to User A's INVITE. Note that the non-2xx response is acknowleged on
signaling leg. a hop-by-hop basis instead of end-to-end.
Message Details Message Details
F1 INVITE User A -> Proxy 1 F1 INVITE User A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="", nonce="dc3a5ab2530aa93112cf5904ba7d88fa", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="702138b27d869ac8741e10ec643d55be" response="702138b27d869ac8741e10ec643d55be"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A 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@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> User B F4 INVITE Proxy 2 -> User B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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 User B -> Proxy 2
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
;received=2.3.4.5 ;received=192.168.156.222
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F7 ACK Proxy 2 -> User B F7 ACK Proxy 2 -> User B
ACK sip:UserB@110.111.112.113 SIP/2.0 ACK sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
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 -> User A
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F11 ACK User A -> Proxy 1 F11 ACK User A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
3.2.3 Unsuccessful SIP to SIP no response 3.2.3 Unsuccessful SIP to SIP no response
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| 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 |
| | |--------------->| | | |--------------->|
| | | INVITE F9 | | | | INVITE F9 |
| | |--------------->| | | |--------------->|
| | | INVITE F10 | | | | INVITE F10 |
| | |--------------->| | | |--------------->|
skipping to change at page 92, line 41 skipping to change at page 79, line 41
| | | | | | | |
In this example, there is no response from User B to User A's INVITE In this example, there is no response from User B to User A'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 User A.
Message Details Message Details
F1 INVITE User A -> Proxy 1 F1 INVITE User A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="", nonce="cf5904ba7d8dc3a5ab2530aa931128fa", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="7afc04be7961f053c24f80e7dbaf888f" response="7afc04be7961f053c24f80e7dbaf888f"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A 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@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 -> User A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> User B F4 INVITE Proxy 2 -> User B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F6 INVITE Proxy 2 -> User B F6 INVITE Proxy 2 -> User B
Resend of Message F4 Resend of Message F4
F7 INVITE Proxy 2 -> User B F7 INVITE Proxy 2 -> User B
Resend of Message F4 Resend of Message F4
skipping to change at page 95, line 21 skipping to change at page 82, line 23
F11 INVITE Proxy 2 -> User B F11 INVITE Proxy 2 -> User B
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.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.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 -> User A
SIP/2.0 480 No Response SIP/2.0 480 No Response
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F15 ACK User A -> Proxy 1 F15 ACK User A -> Proxy 1
ACK sip:UserB@there.com SIP/2.0 ACK sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com>;tag=314159 To: LittleGuy <sip:UserB@biloxi.com>;tag=314159
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable 3.2.4 Unsuccessful SIP to SIP Temporarily Unavailable
User A Proxy 1 Proxy 2 User B User A Proxy 1 Proxy 2 User B
| | | | | | | |
| 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 |--------------->| |
skipping to change at page 97, line 37 skipping to change at page 84, line 37
In this scenario, User B initially sends a 180 Ringing response to In this scenario, User B initially sends a 180 Ringing response to
User A, indicating that alerting is taking place. However, then a User A, 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 User A. This response is
acknowledged then proxied back to User A. acknowledged then proxied back to User A.
Message Details Message Details
F1 INVITE A -> Proxy 1 F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70 Max-Forwards: 70
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl Route: <sip:ss1.atlanta.com;lr>
To: LittleGuy <sip:UserB@there.com> From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
Call-ID: 12345600@here.com To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Proxy-Authorization:Digest username="UserA", realm="wcom.com", Proxy-Authorization: Digest username="UserA", realm="atlanta.com",
nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="", nonce="aa9311cf5904ba7d8dc3a5ab253028fa", opaque="",
uri="sip:UserB@there.com", uri="sip:UserB@biloxi.com",
response="59a46a91bf1646562a4d486c84b399db" response="59a46a91bf1646562a4d486c84b399db"
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 A 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@there.com SIP/2.0 INVITE sip:UserB@biloxi.com SIP/2.0
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 69 Max-Forwards: 69
Record-Route: <sip:ss1.wcom.com;lr> Record-Route: <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103> Contact: <sip:UserA@192.168.100.101>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: 147 Content-Length: 147
v=0 v=0
o=UserA 2890844526 2890844526 IN IP4 here.com o=UserA 2890844526 2890844526 IN IP4 client.atlanta.com
s=Session SDP s=-
c=IN IP4 100.101.102.103 c=IN IP4 192.168.100.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 -> A
SIP/2.0 100 Trying SIP/2.0 100 Trying
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl From: BigGuy <sip:UserA@atlanta.com>;tag=9fxced76sl
To: LittleGuy <sip:UserB@there.com> To: LittleGuy <sip:UserB@biloxi.com>
Call-ID: 12345600@here.com Call-ID: 2xTb9vxSit55XU7p8@atlanta.com
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F4 INVITE Proxy 2 -> B F4 INVITE Proxy 2 -> B
INVITE sip:UserB@110.111.112.113 SIP/2.0 INVITE sip:UserB@192.168.200.201 SIP/2.0
Via: SIP/2.0/UDP ss2.wcom.com:5060;branch=z9hG4bK721e418c4.1 Via: SIP/2.0/UDP ss2.biloxi.com:5060;branch=z9hG4bK721e418c4.1
Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/UDP ss1.atlanta.com:5060;branch=z9hG4bK2d4790.1
;received=1.2.3.4 ;received=192.168.255.111
Via: SIP/2.0/UDP here.com:5060;branch=z9hG4bK74bf9 Via: SIP/2.0/UDP client.atlanta.com:5060;branch=z9hG4bK74bf9
;received=100.101.102.103 ;received=192.168.100.101
Max-Forwards: 68 Max-Forwards: 68
Record-Route: <sip:ss2.wcom.com;lr>, <sip:ss1.wcom.com;lr> Record-Route: <sip:ss2.biloxi.com;lr>, <sip:ss1.atlanta.com;lr>
From: BigGuy <sip:UserA@here.com>;tag=9fxced76sl