summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3666.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3666.txt')
-rw-r--r--doc/rfc/rfc3666.txt6611
1 files changed, 6611 insertions, 0 deletions
diff --git a/doc/rfc/rfc3666.txt b/doc/rfc/rfc3666.txt
new file mode 100644
index 0000000..334f1fd
--- /dev/null
+++ b/doc/rfc/rfc3666.txt
@@ -0,0 +1,6611 @@
+
+
+
+
+
+
+Network Working Group A. Johnston
+Request for Comments: 3666 MCI
+BCP: 76 S. Donovan
+Category: Best Current Practice R. Sparks
+ C. Cunningham
+ dynamicsoft
+ K. Summers
+ Sonus
+ December 2003
+
+
+ Session Initiation Protocol (SIP)
+ Public Switched Telephone Network (PSTN) Call Flows
+
+Status of this Memo
+
+ This document specifies an Internet Best Current Practices for the
+ Internet Community, and requests discussion and suggestions for
+ improvements. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+Abstract
+
+ This document contains best current practice examples of Session
+ Initiation Protocol (SIP) call flows showing interworking with the
+ Public Switched Telephone Network (PSTN). Elements in these call
+ flows include SIP User Agents, SIP Proxy Servers, and PSTN Gateways.
+ Scenarios include SIP to PSTN, PSTN to SIP, and PSTN to PSTN via SIP.
+ PSTN telephony protocols are illustrated using ISDN (Integrated
+ Services Digital Network), ISUP (ISDN User Part), and FGB (Feature
+ Group B) circuit associated signaling. PSTN calls are illustrated
+ using global telephone numbers from the PSTN and private extensions
+ served on by a PBX (Private Branch Exchange). Call flow diagrams and
+ message details are shown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 1]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+Table of Contents
+
+ 1. Overview..................................................... 2
+ 1.1. General Assumptions.................................... 3
+ 1.2. Legend for Message Flows............................... 4
+ 1.3. SIP Protocol Assumptions............................... 5
+ 2. SIP to PSTN Dialing.......................................... 6
+ 2.1. Successful SIP to ISUP PSTN call....................... 7
+ 2.2. Successful SIP to ISDN PBX call........................ 15
+ 2.3. Successful SIP to ISUP PSTN call with overflow......... 23
+ 2.4. Session established using ENUM Query................... 32
+ 2.5. Unsuccessful SIP to PSTN call: Treatment from PSTN..... 38
+ 2.6. Unsuccessful SIP to PSTN: REL w/Cause from PSTN........ 45
+ 2.7. Unsuccessful SIP to PSTN: ANM Timeout.................. 49
+ 3. PSTN to SIP Dialing.......................................... 54
+ 3.1. Successful PSTN to SIP call............................ 55
+ 3.2. Successful PSTN to SIP call, Fast Answer............... 62
+ 3.3. Successful PBX to SIP call............................. 68
+ 3.4. Unsuccessful PSTN to SIP REL, SIP error mapped to REL.. 74
+ 3.5. Unsuccessful PSTN to SIP REL, SIP busy mapped to REL... 76
+ 3.6. Unsuccessful PSTN->SIP, SIP error interworking to tones 80
+ 3.7. Unsuccessful PSTN->SIP, ACM timeout.................... 84
+ 3.8. Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy... 88
+ 3.9. Unsuccessful PSTN->SIP, Caller Abandonment............. 91
+ 4. PSTN to PSTN Dialing via SIP Network......................... 96
+ 4.1. Successful ISUP PSTN to ISUP PSTN call................. 97
+ 4.2. Successful FGB PBX to ISDN PBX call with overflow...... 105
+ 5. Security Considerations...................................... 113
+ 6. References................................................... 115
+ 6.1. Normative References................................... 115
+ 6.2. Informative References................................. 115
+ 7. Acknowledgments.............................................. 116
+ 8. Intellectual Property Statement.............................. 116
+ 9. Authors' Addresses........................................... 117
+ 10. Full Copyright Statement..................................... 118
+
+1. Overview
+
+ The call flows shown in this document were developed in the design of
+ a SIP IP communications network. They represent an example of a
+ minimum set of functionality.
+
+ It is the hope of the authors that this document will be useful for
+ SIP implementers, designers, and protocol researchers alike and will
+ help further the goal of a standard implementation of RFC 3261 [2].
+ These flows represent carefully checked and working group reviewed
+ scenarios of the most common SIP/PSTN interworking examples as a
+ companion to the specifications.
+
+
+
+Johnston, et al. Best Current Practice [Page 2]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ These call flows are based on the current version 2.0 of SIP in RFC
+ 3261 [2] with SDP usage described in RFC 3264 [3]. Other RFCs also
+ comprise the SIP standard but are not used in this set of basic call
+ flows. The SIP/ISUP mapping is based on RFC 3398 [4].
+
+ Various PSTN signaling protocols are illustrated in this document:
+ ISDN (Integrated Services Digital Network), ISUP (ISDN User Part) and
+ FGB (Feature Group B) circuit associated signaling. This document
+ shows mainly ANSI ISUP due to its practical origins. However, as
+ used in this document, the usage is virtually identical to the ITU-T
+ International ISUP used as the reference in [4].
+
+ Basic SIP call flow examples are contained in a companion document,
+ RFC 3665 [10].
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in BCP 14, RFC 2119 [1].
+
+1.1. General Assumptions
+
+ A number of architecture, network, and protocol assumptions underlie
+ the call flows in this document. Note that these assumptions are not
+ requirements. They are outlined in this section so that they may be
+ taken into consideration and to aid in the understanding of the call
+ flow examples.
+
+ The authentication of SIP User Agents in these example call flows is
+ performed using HTTP Digest as defined in [3] and [5].
+
+ Some Proxy Servers in these call flows insert Record-Route headers
+ into requests to ensure that they are in the signaling path for
+ future message exchanges.
+
+ These flows show TLS, TCP, and UDP for transport. SCTP could also be
+ used. See the discussion in RFC 3261 [2] for details on the
+ transport issues for SIP.
+
+ The SIP Proxy Server has access to a Location Service and other
+ databases. Information present in the Request-URI and the context
+ (From header) is sufficient to determine to which proxy or gateway
+ the message should be routed. In most cases, a primary and secondary
+ route will be determined in case of a Proxy or Gateway failure
+ downstream.
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 3]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Gateways provide tones (ringing, busy, etc) and announcements to the
+ 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
+ side.
+
+ The interactions between the Proxy and Gateway can be summarized as
+ follows:
+
+ - The SIP Proxy Server performs digit analysis and lookup and
+ locates the correct gateway.
+
+ - The SIP Proxy Server performs gateway location based on primary
+ and secondary routing.
+
+ Telephone numbers are usually represented as SIP URIs. Note that an
+ alternative is the use of the tel URI [6].
+
+ This document shows typical examples of SIP/ISUP interworking.
+ Although in the spirit of the SIP-T framework [7], these examples do
+ not represent a complete implementation of the framework. The
+ examples here represent more of a minimal set of examples for very
+ basic SIP to ISUP interworking, rather than the more complex goal of
+ ISUP transparency. In particular, there are NO examples of
+ encapsulated ISUP in this document. If present, these messages would
+ show S/MIME encryption due to the sensitive nature of this
+ information, as discussed in the SIP-T Framework security
+ considerations section. (Note - RFC 3204 [8] contains an example of
+ an INVITE with encapsulated ISUP.) See the Security Considerations
+ section for a more detailed discussion on the security of these call
+ flows.
+
+ In ISUP, the Calling Party Number is abbreviated as CgPN and the
+ Called Party Number is abbreviated as CdPN. Other abbreviations
+ include Numbering Plan Indicator (NPI) and Nature of Address (NOA).
+
+1.2. Legend for Message Flows
+
+ Dashed lines (---) represent signaling messages that are mandatory to
+ the call scenario. These messages can be SIP or PSTN signaling. The
+ arrow indicates the direction of message flow.
+
+ Double dashed lines (===) represent media paths between network
+ elements.
+
+ Messages with parentheses around their name represent optional
+ messages.
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 4]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Messages are identified in the Figures as F1, F2, etc. This
+ references the message details in the list that follows the Figure.
+ Comments in the message details are shown in the following form:
+
+ /* Comments. */
+
+1.3. SIP Protocol Assumptions
+
+ This document does not prescribe the flows precisely as they are
+ shown, but rather the flows illustrate the principles for best
+ practice. They are best practices usages (orderings, syntax,
+ selection of features for the purpose, handling of error) of SIP
+ methods, headers and parameters. IMPORTANT: The exact flows here
+ must not be copied as is by an implementer due to specific incorrect
+ characteristics that were introduced into the document for
+ convenience and are listed below. To sum up, the SIP/PSTN call flows
+ represent well-reviewed examples of SIP usage, which are best common
+ practice according to IETF consensus.
+
+ For simplicity in reading and editing the document, there are a
+ 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.
+
+ Actors:
+
+ Element Display Name URI IP Address
+ ------- ------------ --- ----------
+
+ User Agent Alice sip:alice@a.example.com 192.0.2.101
+ User Agent Bob sip:bob@b.example.com 192.0.2.200
+ Proxy Server sip:ss1.a.example.com 192.0.2.111
+ User Agent (Gateway) sip:gw1.a.example.com 192.0.2.201
+ User Agent (Gateway) sip:gw2.a.example.com 192.0.2.202
+ User Agent (Gateway) sip:gw3.a.example.com 192.0.2.203
+ User Agent (Gateway) sip:ngw1.a.example.com 192.0.2.103
+ User Agent (Gateway) sip:ngw2.a.example.com 192.0.2.102
+
+ Note that NGW 1 and NGW 2 also have device URIs (Contacts) of
+ sip:ngw1@a.example.com and sip:ngw2@a.example.com which resolve to
+ the Proxy Server sip:ss1.wcom.com using DNS SRV records.
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 5]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2. SIP to PSTN Dialing
+
+ In the following scenarios, Alice (sip:alice@a.example.com) is a SIP
+ phone or other SIP-enabled device. Bob is reachable via the PSTN at
+ global telephone number +19725552222. Alice places a call to Bob
+ through a Proxy Server, Proxy 1, and a Network Gateway. In other
+ scenarios, Alice places calls to Carol, who is served via a PBX
+ (Private Branch Exchange) and is identified by a private extension
+ 444-3333, or global number +1-918-555-3333. Note that Alice uses
+ his/her global telephone number +1-314-555-1111 in the From header in
+ the INVITE messages. This then gives the Gateway the option of using
+ this header to populate the calling party identification field in
+ subsequent signaling. Left open is the issue of how the Gateway can
+ determine the accuracy of the telephone number which is necessary
+ before passing it as a valid calling party number in the PSTN.
+
+ In these scenarios, Alice is a SIP phone or other SIP-enabled device.
+ Alice places a call to Bob in the PSTN or Carol on a PBX through a
+ Proxy Server and a Gateway.
+
+ In the failure scenarios, the call does not complete. In some cases
+ however, a media stream is still setup. This is due to the fact that
+ some failures in dialing to the PSTN result in in-band tones (busy,
+ reorder tones or announcements - "The number you have dialed has
+ changed. The new number is..."). The 183 Session Progress response
+ containing SDP media information is used to setup this early media
+ path so that the caller Alice knows the final disposition of the
+ call.
+
+ The media stream is either terminated by the caller after the tone or
+ announcement has been heard and understood, or by the Gateway after a
+ timer expires.
+
+ In other failure scenarios, a SS7 Release with Cause Code is mapped
+ to a SIP response. In these scenarios, the early media path is not
+ used, but the actual failure code is conveyed to the caller by the
+ SIP User Agent Client.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 6]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.1. Successful SIP to ISUP PSTN call
+
+ Alice Proxy 1 NGW 1 Switch B
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| | |
+ | 100 F2 | | |
+ |<---------------| INVITE F3 | |
+ | |--------------->| |
+ | | 100 F4 | |
+ | |<---------------| IAM F5 |
+ | | |--------------->|
+ | | | ACM F6 |
+ | | 183 F7 |<---------------|
+ | 183 F8 |<---------------| |
+ |<---------------| | |
+ | Both Way RTP Media | One Way Voice |
+ |<===============================>|<===============|
+ | | | ANM F9 |
+ | | 200 F10 |<---------------|
+ | 200 F11 |<---------------| |
+ |<---------------| | |
+ | ACK F12 | | |
+ |--------------->| ACK F13 | |
+ | |--------------->| |
+ | Both Way RTP Media | Both Way Voice |
+ |<===============================>|<==============>|
+ | BYE F14 | | |
+ |--------------->| BYE F15 | |
+ | |--------------->| |
+ | | 200 F16 | |
+ | 200 F17 |<---------------| REL F18 |
+ |<---------------| |--------------->|
+ | | | RLC F19 |
+ | | |<---------------|
+ | | | |
+
+ Alice dials the globalized E.164 number +19725552222 to reach Bob.
+ Note that A might have only dialed the last 7 digits, or some other
+ dialing plan. It is assumed that the SIP User Agent Client converts
+ the digits into a global number and puts them into a SIP URI. Note
+ that tel URIs could be used instead of SIP URIs.
+
+ Alice could use either their SIP address (sip:alice@a.example.com) or
+ SIP telephone number (sip:+13145551111@ss1.a.example.com;user=phone)
+ in the From header. In this example, the telephone number is
+ included, and it is shown as being passed as calling party
+ identification through the Network Gateway (NGW 1) to Bob (F5). Note
+
+
+
+Johnston, et al. Best Current Practice [Page 7]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ that for this number to be passed into the SS7 network, it would have
+ to be somehow verified for accuracy.
+
+ In this scenario, Bob answers the call, then Alice disconnects the
+ call. Signaling between NGW 1 and Bob's telephone switch is ANSI
+ ISUP. For the details of SIP to ISUP mapping, refer to [4].
+
+ In this flow, notice that the Contact returned by NGW 1 in messages
+ F7-11 is sip:ngw1@a.example.com. This is because NGW 1 only accepts
+ SIP messages that come through Proxy 1 - any direct signaling will be
+ ignored. Since this Contact URI may be used outside of this dialog
+ and must be routable (Section 8.1.1.8 in RFC 3261 [2]) the Contact
+ URI for NGW 1 must resolve to Proxy 1. This Contact URI resolves via
+ DNS to Proxy 1 (sip:ss1.a.example.com) which then resolves it to
+ sip:ngw1.a.example.com which is the address of NGW 1.
+
+ This flow shows TCP transport.
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Proxy-Authorization: Digest username="alice", realm="a.example.com",
+ nonce="dc3a5ab25302aa931904ba7d88fa1cf5", opaque="",
+ uri="sip:+19725552222@ss1.a.example.com;user=phone",
+ response="ccdca50cb091d587421457305d097458c"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 8]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F2 100 Trying Proxy 1 -> Alice
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ /* Proxy 1 uses a Location Service function to determine the gateway
+ for terminating this call. The call is forwarded to NGW 1. Client
+ for A prepares to receive data on port 49172 from the
+ network.*/
+
+
+ F3 INVITE Proxy 1 -> NGW 1
+
+ INVITE sip:+19725552222@ngw1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying NGW 1 -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+
+
+
+Johnston, et al. Best Current Practice [Page 9]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ ;received=192.0.2.111
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 IAM NGW 1 -> Bob
+
+ IAM
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+
+
+ F6 ACM Bob -> NGW 1
+
+ ACM
+
+
+ F7 183 Session Progress NGW 1 -> Proxy 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* NGW 1 sends PSTN audio (ringing) in the RTP path to A */
+
+
+
+Johnston, et al. Best Current Practice [Page 10]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+
+ F8 183 Session Progress Proxy 1 -> Alice
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F9 ANM Bob -> NGW 1
+
+ ANM
+
+
+ F10 200 OK NGW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+
+
+
+Johnston, et al. Best Current Practice [Page 11]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F11 200 OK Proxy 1 -> Alice
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F12 ACK Alice -> Proxy 1
+
+ ACK sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+
+
+
+Johnston, et al. Best Current Practice [Page 12]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Length: 0
+
+
+ F13 ACK Proxy 1 -> NGW 1
+
+ ACK sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* Alice Hangs Up with Bob. */
+
+
+ F14 BYE Alice -> Proxy 1
+
+ BYE sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F15 BYE Proxy 1 -> NGW 1
+
+ BYE sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 13]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F16 200 OK NGW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F17 200 OK Proxy 1 -> A
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F18 REL NGW 1 -> B
+
+ REL
+ CauseCode=16 Normal
+
+
+ F19 RLC B -> NGW 1
+
+ RLC
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 14]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.2. Successful SIP to ISDN PBX call
+
+ Alice Proxy 1 GW 1 PBX C
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| | |
+ | 100 F2 | | |
+ |<---------------| INVITE F3 | |
+ | |--------------->| |
+ | | 100 F4 | |
+ | |<---------------| SETUP F5 |
+ | | |--------------->|
+ | | | CALL PROC F6 |
+ | | |<---------------|
+ | | | PROGress F7 |
+ | | 180 F8 |<---------------|
+ | 180 F9 |<---------------| |
+ |<---------------| | |
+ | | | One Way Voice |
+ | | |<===============|
+ | | | CONNect F10 |
+ | | |<---------------|
+ | | | CONNect ACK F11|
+ | | 200 F12 |--------------->|
+ | 200 F13 |<---------------| |
+ |<---------------| | |
+ | ACK F14 | | |
+ |--------------->| ACK F15 | |
+ | |--------------->| |
+ | Both Way RTP Media | Both Way Voice |
+ |<===============================>|<==============>|
+ | BYE F16 | | |
+ |--------------->| BYE F17 | |
+ | |--------------->| |
+ | | 200 F18 | |
+ | 200 F19 |<---------------| DISConnect F20 |
+ |<---------------| |--------------->|
+ | | | RELease F21 |
+ | | |<---------------|
+ | | | RELease COM F22|
+ | | |--------------->|
+ | | | |
+
+ Alice is a SIP device while Carol is connected via a Gateway (GW 1)
+ to a PBX. The PBX connection is via a ISDN trunk group. Alice dials
+ Carol's telephone number (918-555-3333) which is globalized and put
+ into a SIP URI.
+
+
+
+
+Johnston, et al. Best Current Practice [Page 15]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ The host portion of the Request-URI in the INVITE F3 is used to
+ identify the context (customer, trunk group, or line) in which the
+ private number 444-3333 is valid. Otherwise, this INVITE message
+ could get forwarded by GW 1 and the context of the digits could
+ become lost and the call unroutable.
+
+ Proxy 1 looks up the telephone number and locates the gateway that
+ serves Carol. Carol is identified by its extension (444-3333) in the
+ Request-URI sent to GW 1.
+
+ Note that the Contact URI for GW 1, as used in messages F8, F9, F12,
+ and F13, is sips:4443333@gw1.a.example.com, which resolves directly
+ to the gateway.
+
+ This flow shows the use of Secure SIP (sips) URIs.
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sips:+19185553333@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:alice@client.a.example.com>
+ Proxy-Authorization: Digest username="alice",
+ realm="a.example.com", nonce="qo0dc3a5ab22aa931904badfa1cf5j9h",
+ opaque="", uri="sips:+19185553333@ss1.a.example.com;user=phone",
+ response="6c792f5c9fa360358b93c7fb826bf550"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F2 100 Trying Proxy 1 -> Alice
+
+ SIP/2.0 100 Trying
+
+
+
+Johnston, et al. Best Current Practice [Page 16]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Content-Length: 0
+
+
+ F3 INVITE Proxy 1 -> GW 1
+
+ INVITE sips:4443333@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:alice@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying GW -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Content-Length: 0
+
+
+
+
+Johnston, et al. Best Current Practice [Page 17]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F5 SETUP GW 1 -> Carol
+
+ Protocol discriminator=Q.931
+ Message type=SETUP
+ Bearer capability: Information transfer capability=0 (Speech) or 16
+ (3.1 kHz audio)
+ Channel identification=Preferred or exclusive B-channel
+ Progress indicator=1 (Call is not end-to-end ISDN;further call
+ progress information may be available inband)
+ Called party number:
+ Type of number unknown
+ Digits=444-3333
+
+
+ F6 CALL PROCeeding Carol-> GW 1
+
+ Protocol discriminator=Q.931
+ Message type=CALL PROC
+ Channel identification=Exclusive B-channel
+
+
+ F7 PROGress Carol-> GW 1
+
+ Protocol discriminator=Q.931
+ Message type=PROG
+ Progress indicator=1 (Call is not end-to-end ISDN;further call
+ progress information may be available inband)
+
+
+ F8 180 Ringing GW 1 -> Proxy 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:4443333@gw1.a.example.com>
+ Content-Length: 0
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 18]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F9 180 Ringing Proxy 1 -> Alice
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:4443333@gw1.a.example.com>
+ Content-Length: 0
+
+
+ F10 CONNect Carol-> GW 1
+
+ Protocol discriminator=Q.931
+ Message type=CONN
+
+
+ F11 CONNect ACK GW 1 -> Carol
+
+ Protocol discriminator=Q.931
+ Message type=CONN ACK
+
+
+ F12 200 OK GW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:4443333@gw1.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 144
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 19]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F13 200 OK Proxy 1 -> Alice
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sips:4443333@gw1.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 144
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F14 ACK Alice -> Proxy 1
+
+ ACK sips:4443333@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 ACK
+ Content-Length: 0
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 20]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F15 ACK Proxy 1 -> GW 1
+
+ ACK sips:4443333@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 ACK
+ Content-Length: 0
+
+ /* Alice Hangs Up with Bob. */
+
+
+ F16 BYE Alice -> Proxy 1
+
+ BYE sips:4443333@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <sips:ss1.a.example.com;lr>
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 3 BYE
+ Content-Length: 0
+
+
+ F17 BYE Proxy 1 -> GW 1
+
+ BYE sips:4443333@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 3 BYE
+ Content-Length: 0
+
+
+
+
+Johnston, et al. Best Current Practice [Page 21]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F18 200 OK GW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 3 BYE
+ Content-Length: 0
+
+
+ F19 200 OK Proxy 1 -> A
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS client.a.example.com:5061;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sips:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Carol <sips:+19185553333@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 3 BYE
+ Content-Length: 0
+
+
+ F20 DISConnect GW 1 -> Carol
+
+ Protocol discriminator=Q.931
+ Message type=DISC
+ Cause=16 (Normal clearing)
+
+
+ F21 RELease Carol-> GW 1
+
+ Protocol discriminator=Q.931
+ Message type=REL
+
+
+ F22 RELease COMplete GW 1 -> Carol
+
+ Protocol discriminator=Q.931
+ Message type=REL COM
+
+
+
+
+Johnston, et al. Best Current Practice [Page 22]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.3. Successful SIP to ISUP PSTN call with overflow
+
+ Alice Proxy 1 NGW 1 NGW 2 Switch B
+ | | | | |
+ | INVITE F1 | | | |
+ |------------->| | | |
+ | | INVITE F2 | | |
+ | 100 F3 |------------->| | |
+ |<-------------| 503 F4 | | |
+ | |<-------------| | |
+ | | ACK F5 | | |
+ | |------------->| | |
+ | | INVITE F6 | |
+ | |---------------------------->| IAM F7 |
+ | | |------------->|
+ | | | ACM F8 |
+ | | 183 F9 |<-------------|
+ | 183 F10 |<----------------------------| |
+ |<-------------| | |
+ | Two Way RTP Media | One Way Voice|
+ |<==========================================>|<=============|
+ | | | ANM F11 |
+ | | 200 F12 |<-------------|
+ | 200 F13 |<----------------------------| |
+ |<-------------| | |
+ | ACK F14 | | |
+ |------------->| ACK F15 | |
+ | |---------------------------->| |
+ | Both Way RTP Media |Both Way Voice|
+ |<==========================================>|<============>|
+ | BYE F16 | | |
+ |------------->| BYE F17 | |
+ | |---------------------------->| |
+ | | 200 F18 | |
+ | 200 F19 |<----------------------------| REL F20 |
+ |<-------------| |------------->|
+ | | | RLC F21 |
+ | | |<-------------|
+ | | | |
+
+ Alice calls Bob through Proxy 1. Proxy 1 tries to route to a Network
+ Gateway NGW 1. NGW 1 is not available and responds with a 503
+ Service Unavailable (F4). The call is then routed to Network Gateway
+ NGW 2. Bob answers the call. The call is terminated when Alice
+ disconnects the call. NGW 2 and Bob's telephone switch use ANSI ISUP
+ signaling.
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 23]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ NGW 2 also only accepts SIP messages that come through Proxy 1, so
+ the Contact URI sip:ngw2@a.example.com is used in this flow.
+
+ This flow shows UDP transport.
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com>
+ Proxy-Authorization: Digest username="alice",
+ realm="a.example.com", nonce="b59311c3ba05b401cf80b2a2c5ac51b0",
+ opaque="", uri="sip:+19725552222@ss1.a.example.com;user=phone",
+ response="ba6ab44923fa2614b28e3e3957789ab0"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Proxy 1 receives a primary route NGW 1 and a secondary
+ route NGW 2. NGW 1 is tried first */
+
+
+ F2 INVITE Proxy 1 -> NGW 1
+
+ INVITE sip:+19725552222@ngw1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+
+
+
+Johnston, et al. Best Current Practice [Page 24]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F3 100 Trying Proxy 1 -> Alice
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F4 503 Service Unavailable NGW 1 -> Proxy 1
+
+ SIP/2.0 503 Service Unavailable
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 25]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F5 ACK Proxy 1 -> NGW 1
+
+ ACK sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com>;user=phone>
+ ;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* Proxy 1 now tries secondary route to NGW 2 */
+
+
+ F6 INVITE Proxy 1 -> NGW 2
+
+ INVITE sip:+19725552222@ngw2.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F7 IAM NGW 2 -> Bob
+
+ IAM
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+
+
+
+
+Johnston, et al. Best Current Practice [Page 26]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F8 ACM Bob -> NGW 2
+
+ ACM
+
+
+ F9 183 Session Progress NGW 2 -> Proxy 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw2@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw2.a.example.com
+ s=-
+ c=IN IP4 ngw2.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* RTP packets are sent by GW to A for audio (e.g. ring tone) */
+
+
+ F10 183 Session Progress Proxy 1 -> Alice
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw2@a.example.com>
+ Content-Type: application/sdp
+
+
+
+Johnston, et al. Best Current Practice [Page 27]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw2.a.example.com
+ s=-
+ c=IN IP4 ngw2.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F11 ANM Bob -> NGW 2
+
+ ANM
+
+
+ F12 200 OK NGW 2 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw2@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw2.a.example.com
+ s=-
+ c=IN IP4 ngw2.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F13 200 OK Proxy 1 -> Alice
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+
+
+
+Johnston, et al. Best Current Practice [Page 28]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw2@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw2.a.example.com
+ s=-
+ c=IN IP4 ngw2.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F14 ACK Alice -> Proxy 1
+
+ ACK sip:ngw2@a.example.com SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F15 ACK Proxy 1 -> NGW 2
+
+ ACK sip:ngw2@a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+
+
+
+Johnston, et al. Best Current Practice [Page 29]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Length: 0
+
+ /* RTP streams are established between A and B(via the GW) */
+
+ /* Alice Hangs Up with Bob. */
+
+
+ F16 BYE Alice -> Proxy 1
+
+ BYE sip:ngw2@a.example.com SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ Route: <ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F17 BYE Proxy 1 -> NGW 2
+
+ BYE sip:ngw2@a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F18 200 OK NGW 2 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+
+
+
+Johnston, et al. Best Current Practice [Page 30]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F19 200 OK Proxy 1 -> Alice
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F20 REL NGW 2 -> B
+
+ REL
+ CauseCode=16 Normal
+
+
+ F21 RLC B -> NGW 2
+
+ RLC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 31]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.4. Successful SIP to SIP using ENUM Query
+
+ Alice DNS Server Proxy 3 Bob
+ | | | |
+ | ENUM Query F1 | | |
+ |--------------->| | |
+ | Response F2 | | |
+ |<---------------| | |
+ | INVITE F3 | |
+ |-------------------------------->| INVITE F4 |
+ | 100 F5 |--------------->|
+ |<--------------------------------| 180 F6 |
+ | 180 F7 |<---------------|
+ |<--------------------------------| |
+ | | 200 F8 |
+ | 200 F9 |<---------------|
+ |<--------------------------------| |
+ | ACK F10 | |
+ |-------------------------------->| ACK F11 |
+ | |--------------->|
+ | Both Way RTP Media |
+ |<================================================>|
+ | | BYE F12 |
+ | BYE F13 |<---------------|
+ |<--------------------------------| |
+ | 200 F14 | |
+ |-------------------------------->| 200 F15 |
+ | |--------------->|
+ | | |
+
+ In this scenario, Alice places a call to Bob by dialing Bob's
+ telephone number (9725552222). Alice's UA converts the phone number
+ to an E.164 number (+19725552222), and performs an ENUM query [9] on
+ the E.164 number (2.2.2.2.5.5.5.2.7.9.1.e164.arpa), which returns a
+ NAPTR record containing a SIP AOR URI for Bob
+ (sip:+19725552222@b.example.com). As a result, Alice's UA sends an
+ INVITE and the call completes over IP bypassing the PSTN.
+
+ The call is terminated when Bob sends a BYE message.
+
+ Message Details
+
+ F1 ENUM Query Alice -> DNS Server
+
+ 2.2.2.2.5.5.5.2.7.9.1.e164.arpa
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 32]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F2 ENUM NAPTR Set DNS Server -> Alice
+
+ $ORIGIN 2.2.2.2.5.5.5.2.7.9.1.e164.arpa.
+ IN NAPTR 100 10 "u" "sip+E2U"
+ "!^.*$!sip:+19725552222@b.example.com!".
+
+
+ F3 INVITE Alice -> Proxy 3
+
+ INVITE sip:+19725552222@b.example.com SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+13145551111@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 INVITE Proxy 3 -> Bob
+
+ INVITE sip:+19725552222@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+13145551111@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=UserA 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+
+
+
+Johnston, et al. Best Current Practice [Page 33]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F5 100 Trying Proxy 3 -> Alice
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Content-Length: 0
+
+
+ F6 180 Ringing B -> Proxy 3
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ ;received=192.0.2.233
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+19725552222@client.b.example.com>
+ Content-Length: 0
+
+
+ F7 180 Ringing Proxy 3 -> Alice
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+19725552222@client.b.example.com>
+ Content-Length: 0
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 34]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F8 200 OK Bob -> Proxy 3
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ ;received=192.0.2.233
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+19725552222@client.b.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F9 200 OK Proxy -> Alice
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 INVITE
+ Contact: <sip:+19725552222@client.b.example.com>
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 192.0.2.100
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 35]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F10 ACK Alice -> Proxy 3
+
+ ACK sip:+19725552222@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bq9
+ Max-Forwards: 70
+ Route: <sip:ss3.b.example.com;lr>
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 ACK
+ Content-Length: 0
+
+
+ F11 ACK Proxy 3 -> Bob
+
+ ACK sip:+19725552222@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bq9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ From: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ To: <tel:+19725552222>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 2 ACK
+ Content-Type: application/sdp
+ Content-Length: 0
+
+ /* RTP streams are established between A and B*/
+
+ /* User B Hangs Up with User A. */
+
+
+ F12 BYE Bob -> Proxy 3
+
+ BYE sip:+13145551111@client.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP client.b.example.com:5060;branch=z9hG4bKfgaw2
+ Max-Forwards: 70
+ Route: <sip:ss3.b.example.com;lr>
+ From: <tel:+19725552222>;tag=314159
+ To: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F13 BYE Proxy 3 -> Alice
+
+ BYE sip:+13145551111@client.a.example.com SIP/2.0
+
+
+
+Johnston, et al. Best Current Practice [Page 36]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ ;received=192.0.2.100
+ Via: SIP/2.0/UDP client.b.example.com:5060;branch=z9hG4bKfgaw2
+ Max-Forwards: 69
+ From: <tel:+19725552222>;tag=314159
+ To: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F14 200 OK Alice -> Proxy 3
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss3.b.example.com:5060;branch=z9hG4bK721e418c4.1
+ ;received=192.0.2.233
+ Via: SIP/2.0/UDP client.b.example.com:5060;branch=z9hG4bKfgaw2
+ ;received=192.0.2.100
+ From: <tel:+19725552222>;tag=314159
+ To: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F15 200 OK Proxy 3 -> Bob
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP client.b.example.com:5060;branch=z9hG4bKfgaw2
+ ;received=192.0.2.100
+ From: <tel:+19725552222>;tag=314159
+ To: <sip:+13145551111@a.example.com>;tag=9fxced76sl
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 37]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.5. Unsuccessful SIP to PSTN call: Treatment from PSTN
+
+ Alice Proxy 1 NGW 1 Bob
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| | |
+ | 100 F2 | | |
+ |<---------------| INVITE F3 | |
+ | |--------------->| |
+ | | 100 F4 | |
+ | |<---------------| IAM F5 |
+ | | |--------------->|
+ | | | ACM F6 |
+ | | 183 F7 |<---------------|
+ | 183 F8 |<---------------| |
+ |<---------------| | |
+ | Two Way RTP Media | One Way Voice |
+ |<===============================>|<===============|
+ | Treatment Applied |
+ |<=================================================|
+ | CANCEL F9 | | |
+ |--------------->| | |
+ | 200 F10 | | |
+ |<---------------| CANCEL F11 | |
+ | |--------------->| |
+ | | 200 F12 | |
+ | |<---------------| REL F13 |
+ | | |--------------->|
+ | | | RLC F14 |
+ | | 487 F15 |<---------------|
+ | |<---------------| |
+ | | ACK F16 | |
+ | 487 F17 |--------------->| |
+ |<---------------| | |
+ | ACK F18 | | |
+ |--------------->| | |
+ | | | |
+
+ Alice calls Bob in the PSTN through a proxy server Proxy 1 and a
+ Network Gateway NGW 1. The call is rejected by the PSTN with an
+ in-band treatment (tone or recording) played. Alice hears the
+ treatment and then hangs up, which results in a CANCEL (F9) being
+ sent to terminate the call. (A BYE is not sent since no final
+ response was ever received by Alice.)
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 38]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com>
+ Proxy-Authorization: Digest username="alice",
+ realm="a.example.com", nonce="01cf8311c3b0b2a2c5ac51bb59a05b40",
+ opaque="", uri="sip:+19725552222@ss1.a.example.com;user=phone",
+ response="e178fbe430e6680a1690261af8831f40"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F2 100 Trying Proxy 1 -> A
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Based upon location analysis the call is forwarded to NGW
+ 1. Client for A prepares to receive data on port 49172 from the
+ network. */
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 39]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F3 INVITE Proxy 1 -> NGW 1
+
+ INVITE sip:+19725552222@ngw1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying NGW 1 -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 IAM NGW 1 -> Bob
+
+ IAM
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 40]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F6 ACM Bob -> NGW 1
+
+ ACM
+
+
+ F7 183 Session Progress NGW 1 -> Proxy 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F8 183 Session Progress Proxy 1 -> Alice
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+
+
+
+Johnston, et al. Best Current Practice [Page 41]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Caller hears the recorded announcement, then hangs up */
+
+
+ F9 CANCEL Alice -> Proxy 1
+
+ CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F10 200 OK Proxy 1 -> A
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F11 CANCEL Proxy 1 -> NGW 1
+
+ CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+
+Johnston, et al. Best Current Practice [Page 42]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F12 200 OK NGW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F13 REL NGW 1 -> B
+
+ REL
+ CauseCode=18 No user responding
+
+
+ F14 RLC B -> NGW 1
+
+ RLC
+
+
+ F15 487 Request Terminated NGW 1 -> Proxy 1
+
+ SIP/2.0 487 Request Terminated
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F16 ACK Proxy 1 -> NGW 1
+
+ ACK sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+
+
+
+Johnston, et al. Best Current Practice [Page 43]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F17 487 Request Terminated Proxy 1 -> A
+
+ SIP/2.0 487 Request Terminated
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F18 ACK Alice -> Proxy 1
+
+ ACK sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 44]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+2.6. Unsuccessful SIP to PSTN: REL w/Cause from PSTN
+
+ Alice Proxy 1 NGW 1 Switch B
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| | |
+ | 100 F2 | | |
+ |<---------------| INVITE F3 | |
+ | |--------------->| |
+ | | 100 F4 | |
+ | |<---------------| IAM F5 |
+ | | |--------------->|
+ | | | REL(1) F6 |
+ | | |<---------------|
+ | | | RLC F7 |
+ | | 404 F8 |--------------->|
+ | |<---------------| |
+ | | ACK F9 | |
+ | |--------------->| |
+ | 404 F10 | | |
+ |<---------------| | |
+ | ACK F11 | | |
+ |--------------->| | |
+ | | | |
+
+ Alice calls PSTN Bob through a Proxy Server Proxy 1 and a Network
+ Gateway NGW 1. The call is rejected by the PSTN with a ANSI ISUP
+ Release message REL containing a specific Cause code. This cause
+ value (1) is mapped by the Gateway to a SIP 404 Address Incomplete
+ response which is proxied back to Alice. For more details of ISUP
+ cause value to SIP response mapping, refer to [4].
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sip:+44-1234@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Proxy-Authorization: Digest username="alice",
+ realm="a.example.com", nonce="j1c3b0b01cf832da2c5ac51bb59a05b40",
+ opaque="", uri="sip:+44-1234@ss1.a.example.com;user=phone",
+
+
+
+Johnston, et al. Best Current Practice [Page 45]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ response="a451358d46b55512863efe1dccaa2f42"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F2 100 Trying Proxy 1 -> A
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Based upon location analysis the call is forwarded to NGW1.
+ Client for A prepares to receive data on port 49172 from the network.
+ */
+
+
+ F3 INVITE Proxy 1 -> NGW 1
+
+ INVITE sip:+44-1234@ngw1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+
+
+
+Johnston, et al. Best Current Practice [Page 46]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying NGW 1 -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 IAM NGW 1 -> Bob
+
+ IAM
+ CdPN=44-1234,NPI=E.164,NOA=International
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+
+
+ F6 REL Bob -> NGW 1
+
+ REL
+ CauseValue=1 Unallocated number
+
+
+ F7 RLC NGW 1 -> Bob
+
+ RLC
+
+ /* Network Gateway maps CauseValue=1 to the SIP message 404 Not
+ Found */
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 47]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F8 404 Not Found NGW 1 -> Proxy 1
+
+ SIP/2.0 404 Not Found
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Error-Info: <sip:not-found-ann@ann.a.example.com>
+ Content-Length: 0
+
+
+ F9 ACK Proxy 1 -> NGW 1
+
+ ACK sip:+44-1234@ngw1.a.example.com;user=phone SIP/2.0
+ Max-Forwards: 70
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F10 404 Not Found Proxy 1 -> Alice
+
+ SIP/2.0 404 Not Found
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Error-Info: <sip:not-found-ann@ann.a.example.com>
+ Content-Length: 0
+
+
+ F11 ACK Alice -> Proxy 1
+
+ ACK sip:+44-1234@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+
+
+
+Johnston, et al. Best Current Practice [Page 48]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+44-1234@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+2.7. Unsuccessful SIP to PSTN: ANM Timeout
+
+ Alice Proxy 1 NGW 1 Switch B
+ | | | |
+ | INVITE F1 | | |
+ |--------------->| | |
+ | 100 F2 | | |
+ |<---------------| INVITE F3 | |
+ | |--------------->| |
+ | | 100 F4 | |
+ | |<---------------| IAM F5 |
+ | | |--------------->|
+ | | | ACM F6 |
+ | | 183 F7 |<---------------|
+ | 183 F8 |<---------------| |
+ |<---------------| | |
+ | | Timer on NGW 1 Expires |
+ | | | |
+ | | | REL F9 |
+ | | |--------------->|
+ | | | RLC F10 |
+ | | 480 F11 |<---------------|
+ | |<---------------| |
+ | | ACK F12 | |
+ | |--------------->| |
+ | 480 F13 | | |
+ |<---------------| | |
+ | ACK F14 | | |
+ |--------------->| | |
+
+ Alice calls Bob in the PSTN through a proxy server Proxy 1 and
+ Network Gateway NGW 1. The call is released by the Gateway after a
+ timer expires due to no ANswer Message (ANM) being received. The
+ Gateway sends an ISUP Release REL message to the PSTN and a 480
+ Temporarily Unavailable response to Alice in the SIP network.
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 49]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Message Details
+
+ F1 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Proxy-Authorization: Digest username="alice",
+ realm="a.example.com", nonce="da2c5ac51bb59a05j1c3b0b01cf832b40",
+ opaque="", uri="sip:+19725552222@ss1.a.example.com;user=phone",
+ response="579cb9db184cdc25bf816f37cbc03c7d"
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Based upon location analysis the call is forwarded to NGW
+ 1. Client for A prepares to receive data on port 49172 from the
+ network.*/
+
+
+ F2 100 Trying Proxy 1 -> A
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 50]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F3 INVITE Proxy 1 -> NGW 1
+
+ INVITE sip:+19725552222@ngw1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:alice@client.a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 154
+
+ v=0
+ o=alice 2890844526 2890844526 IN IP4 client.a.example.com
+ s=-
+ c=IN IP4 client.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying NGW 1 -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 IAM NGW 1 -> Bob
+
+ IAM
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 51]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F6 ACM Bob -> NGW 1
+
+ ACM
+
+
+ F7 183 Session Progress NGW 1 -> Proxy 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F8 183 Session Progress Proxy 1 -> Alice
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+
+
+
+Johnston, et al. Best Current Practice [Page 52]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* After NGW 1's timer expires, Network Gateway sends REL to ISUP
+ network and 480 to SIP network */
+
+
+ F9 REL NGW 1 -> Bob
+
+ REL
+
+ CauseCode=18 No user responding
+
+
+ F10 RLC Bob -> NGW 1
+
+ RLC
+
+
+ F11 480 Temporarily Unavailable NGW 1 -> Proxy 1
+
+ SIP/2.0 480 Temporarily Unavailable
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Error-Info: <sip:temp-unavail-ann@ann.a.example.com>
+ Content-Length: 0
+
+
+ F12 ACK Proxy 1 -> NGW 1
+
+ ACK sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+
+
+
+Johnston, et al. Best Current Practice [Page 53]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F13 480 Temporarily Unavailable F13 Proxy 1 -> Alice
+
+ SIP/2.0 480 Temporarily Unavailable
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ ;received=192.0.2.101
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 INVITE
+ Error-Info: <sip:temp-unavail-ann@ann.a.example.com>
+ Content-Length: 0
+
+
+ F14 ACK Alice -> Proxy 1
+
+ ACK sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Max-Forwards: 70
+ Via: SIP/2.0/TCP client.a.example.com:5060;branch=z9hG4bK74bf9
+ From: Alice <sip:+13145551111@ss1.a.example.com;user=phone>
+ ;tag=9fxced76sl
+ To: Bob <sip:+19725552222@ss1.a.example.com;user=phone>
+ ;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+3. PSTN to SIP Dialing
+
+ In these scenarios, Alice is placing calls from the PSTN to Bob in a
+ SIP network. Alice's telephone switch signals to a Network Gateway
+ (NGW 1) using ANSI ISUP.
+
+ Since the called SIP User Agent does not send in-band signaling
+ information, no early media path needs to be established on the IP
+ side. As a result, the 183 Session Progress response is not used.
+ However, NGW 1 will establish a one way speech path prior to call
+ completion, and generate ringing for the PSTN caller. Any tones or
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 54]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ recordings are generated by NGW 1 and played in this speech path.
+ When the call completes successfully, NGW 1 bridges the PSTN speech
+ path with the IP media path.
+
+ To reduce the number of messages, only a single proxy server is shown
+ in these flows, which means that the a.example.com proxy server has
+ access to the b.example.com location service.
+
+3.1. Successful PSTN to SIP call
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 180 F5 |
+ | | 180 F6 |<---------------|
+ | ACM F7 |<---------------| |
+ |<---------------| | |
+ | One Way Voice | | |
+ |<===============| | |
+ | Ringing Tone | | 200 F8 |
+ |<===============| 200 F9 |<---------------|
+ | |<---------------| |
+ | | ACK F10 | |
+ | ANM F12 |--------------->| ACK F11 |
+ |<---------------| |--------------->|
+ | Both Way Voice | Both Way RTP Media |
+ |<==============>|<===============================>|
+ | REL F13 | | |
+ |--------------->| | |
+ | RLC F14 | | |
+ |<---------------| BYE F15 | |
+ | |--------------->| BYE F16 |
+ | | |--------------->|
+ | | | 200 F17 |
+ | | 200 F18 |<---------------|
+ | |<---------------| |
+ | | | |
+
+ In this scenario, Alice from the PSTN calls Bob through a Network
+ Gateway NGW1 and Proxy Server Proxy 1. When Bob answers the call,
+ the media path is setup end-to-end. The call terminates when Alice
+ hangs up the call, with Alice's telephone switch sending an ISUP
+ RELease message that is mapped to a BYE by NGW 1.
+
+
+
+
+Johnston, et al. Best Current Practice [Page 55]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Based upon location analysis the call is forwarded to NGW
+ 1. NGW 1 prepares to receive data on port 3456 from Alice.*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 56]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying Bob -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 180 Ringing Bob -> Proxy 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+
+
+
+Johnston, et al. Best Current Practice [Page 57]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Length: 0
+
+
+ F6 180 Ringing Proxy 1 -> NGW 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Length: 0
+
+
+ F7 ACM NGW 1 -> Alice
+
+ ACM
+
+
+ F8 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ Contact: <sip:bob@client.b.example.com>
+ CSeq: 1 INVITE
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+
+
+
+Johnston, et al. Best Current Practice [Page 58]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ a=rtpmap:0 PCMU/8000
+
+
+ F9 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F10 ACK NGW 1 -> Proxy 1
+
+ ACK sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F11 ACK Proxy 1 -> Bob
+
+ ACK sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+
+
+
+Johnston, et al. Best Current Practice [Page 59]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F12 ANM Bob -> NGW 1
+
+ ANM
+
+ /* RTP streams are established between A and B (via the GW) */
+
+ /* Alice Hangs Up with Bob. */
+
+
+ F13 REL Alice -> NGW 1
+
+ REL
+ CauseCode=16 Normal
+
+
+ F14 RLC NGW 1 -> Alice
+
+ RLC
+
+
+ F15 BYE NGW 1-> Proxy 1
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F16 BYE Proxy 1 -> Bob
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 60]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F17 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F18 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 61]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+3.2. Successful PSTN to SIP call, Fast Answer
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 200 F5 |
+ | | 200 F6 |<---------------|
+ | |<---------------| |
+ | | ACK F7 | |
+ | ANM F9 |--------------->| ACK F8 |
+ |<---------------| |--------------->|
+ | Both Way Voice | Both Way RTP Media |
+ |<==============>|<===============================>|
+ | REL F10 | | |
+ |--------------->| | |
+ | RLC F11 | | |
+ |<---------------| BYE F12 | |
+ | |--------------->| BYE F13 |
+ | | |--------------->|
+ | | | 200 F14 |
+ | | 200 F15 |<---------------|
+ | |<---------------| |
+ | | | |
+
+ This "fast answer" scenario is similar to 3.1., except that Bob
+ immediately accepts the call, sending a 200 OK (F5) without sending a
+ 180 Ringing response. The Gateway then sends an Answer Message (ANM)
+ without sending an Address Complete Message (ACM). Note that for
+ ETSI and some other ISUP variants, a CONnect message (CON) would be
+ sent instead of the ANM.
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE NGW 1 -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+
+
+
+Johnston, et al. Best Current Practice [Page 62]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Based upon location analysis the call is forwarded to User
+ B. Bob prepares to receive data on port 3456 from Alice.*/
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 63]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F4 100 Trying Proxy 1 -> NGW 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F6 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com;transport=tcp>
+
+
+
+Johnston, et al. Best Current Practice [Page 64]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F7 ACK NGW 1 -> Proxy 1
+
+ ACK bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F8 ACK Proxy 1 -> Bob
+
+ ACK bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=130.131.132.14
+ Max-Forwards: 69
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F9 ANM Bob -> NGW 1
+
+ ANM
+
+ /* RTP streams are established between A and B (via the GW) */
+
+ /* Alice Hangs Up with Bob. */
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 65]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F10 REL ser Alice -> NGW 1
+
+ REL
+ CauseCode=16 Normal
+
+
+ F11 RLC NGW 1 -> Alice
+
+ RLC
+
+
+ F12 BYE NGW 1 -> Proxy 1
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F13 BYE Proxy 1 -> Bob
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F14 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 66]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F15 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 67]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+3.3. Successful PBX to SIP call
+
+ PBX A GW 1 Proxy 1 Bob
+ | | | |
+ | Seizure | | |
+ |--------------->| | |
+ | Wink | | |
+ |<---------------| | |
+ | MF Digits F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 180 F5 |
+ | | 180 F6 |<---------------|
+ | |<---------------| |
+ | One Way Voice | | |
+ |<===============| | |
+ | Ringing Tone | | 200 F7 |
+ |<===============| 200 F8 |<---------------|
+ | |<---------------| |
+ | | ACK F9 | |
+ | Seizure |--------------->| ACK F10 |
+ |<---------------| |--------------->|
+ | Both Way Voice | Both Way RTP Media |
+ |<==============>|<===============================>|
+ | Seizure Removal| | |
+ |--------------->| | |
+ | Seizure Removal| | |
+ |<---------------| BYE F11 | |
+ | |--------------->| BYE F12 |
+ | | |--------------->|
+ | | | 200 F13 |
+ | | 200 F14 |<---------------|
+ | |<---------------| |
+ | | | |
+
+ In this scenario, Alice dials from PBX A to Bob through GW 1 and
+ Proxy 1. This is an example of a call that appears destined for the
+ PSTN but is instead routed to a SIP Client.
+
+ Signaling between PBX A and GW 1 is Feature Group B (FGB) circuit
+ associated signaling, in-band Mult-Frequency (MF) outpulsing. After
+ the receipt of the 180 Ringing from Bob, GW 1 generates a ringing
+ tone for Alice.
+
+ Bob answers the call by sending a 200 OK. The call terminates when
+ Alice hangs up, causing GW1 to send a BYE.
+
+
+
+Johnston, et al. Best Current Practice [Page 68]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ The Gateway can only identify the trunk group that the call came in
+ on; it cannot identify the individual line on PBX A that is placing
+ the call. The SIP URI used to identify the caller is shown in these
+ flows as sip:551313@gw1.a.example.com.
+
+ Message Details
+
+ PBX Alice -> GW 1
+
+ Seizure
+
+ GW 1 -> PBX A
+
+ Wink
+
+ F1 MF Digits PBX Alice -> GW 1
+
+ KP 1 972 555 2222 ST
+
+
+ F2 INVITE GW 1 -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ Max-Forwards: 70
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:551313@gw1.a.example.com;user=phone>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine where the
+ phone number +19725552222 is located. Based upon location
+ analysis the call is forwarded to SIP Bob. */
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 69]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:551313@gw1.a.example.com;user=phone>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying Proxy 1 -> GW 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 180 Ringing Bob -> Proxy 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 70]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Length: 0
+
+
+ F6 180 Ringing Proxy 1 -> GW 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Length: 0
+
+ /* One way Voice path is established between GW and the PBX for
+ ringing. */
+
+
+ F7 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ Contact: <sip:bob@client.b.example.com>
+ CSeq: 1 INVITE
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 71]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F8 200 OK Proxy 1 -> GW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Type: application/sdp
+ Content-Length: 151
+
+ v=0
+ o=bob 2890844527 2890844527 IN IP4 client.b.example.com
+ s=-
+ c=IN IP4 client.b.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F9 ACK GW 1 -> Proxy 1
+
+ ACK sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F10 ACK Proxy 1 -> Bob
+
+ ACK sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+Johnston, et al. Best Current Practice [Page 72]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+ /* RTP streams are established between A and B (via the GW) */
+
+ /* Alice Hangs Up with Bob. */
+
+
+ F11 BYE GW 1 -> Proxy 1
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F12 BYE Proxy 1 -> Bob
+
+ BYE sip:bob@client.b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+ F13 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 73]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F14 200 OK Proxy 1 -> GW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ From: <sip:551313@gw1.a.example.com;user=phone>;tag=jwdkallkzm
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 2 BYE
+ Content-Length: 0
+
+3.4. Unsuccessful PSTN to SIP REL, SIP error mapped to REL
+
+ Switch A GW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| |
+ | | 604 F3 | |
+ | |<---------------| |
+ | | ACK F4 | |
+ | |--------------->| |
+ | REL F5 | | |
+ |<---------------| | |
+ | RLC F6 | | |
+ |--------------->| | |
+ | | | |
+
+ Alice attempts to place a call through Gateway GW 1 and Proxy 1,
+ which is unable to find any routing for the number. The call is
+ rejected by Proxy 1 with a REL message containing a specific Cause
+ value mapped by the gateway based on the SIP error.
+
+ Message Details
+
+ F1 IAM Alice -> GW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-9999,NPI=E.164,NOA=National
+
+
+ F2 INVITE Alice -> Proxy 1
+
+ INVITE sip:+1972559999@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@gw1.a.example.com;user=phone>;tag=076342s
+
+
+
+Johnston, et al. Best Current Practice [Page 74]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ To: <sip:+1972559999@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact:
+ <sip:+13145551111@gw1.a.example.com;user=phone;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 144
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service to find a route to +1-972-555-
+ 9999. A route is not found, so Proxy 1 rejects the call. */
+
+
+ F3 604 Does Not Exist Anywhere Proxy 1 -> GW 1
+
+ SIP/2.0 604 Does Not Exist Anywhere
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@gw1.a.example.com;user=phone>;tag=076342s
+ To: <sip:+1972559999@ss1.a.example.com;user=phone>;tag=6a34d410
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 INVITE
+ Error-Info: <sip:does-not-exist@ann.a.example.com>
+ Content-Length: 0
+
+
+ F4 ACK GW 1 -> Proxy 1
+
+ ACK sip:+1972559999@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@gw1.a.example.com;user=phone>;tag=076342s
+ To: <sip:+1972559999@ss1.a.example.com;user=phone>;tag=6a34d410
+ Call-ID: 4Fde34wkd11wsGFDs3@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 75]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F5 REL GW 1 -> Alice
+
+ REL
+ CauseCode=1
+
+
+ F6 RLC Alice -> GW 1
+
+ RLC
+
+3.5. Unsuccessful PSTN to SIP REL, SIP busy mapped to REL
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 600 F5 |
+ | | |<---------------|
+ | | | ACK F6 |
+ | | 600 F7 |--------------->|
+ | |<---------------| |
+ | | ACK F8 | |
+ | |--------------->| |
+ | REL(17) F9 | | |
+ |<---------------| | |
+ | RLC F10 | | |
+ |<-------------->| | |
+ | | | |
+
+ In this scenario, Alice calls Bob through Network Gateway NGW 1 and
+ Proxy 1. The call is routed to Bob by Proxy 1. The call is rejected
+ by Bob who sends a 600 Busy Everywhere response. The Gateway sends a
+ REL message containing a specific Cause value mapped by the gateway
+ based on the SIP error.
+
+ Since no interworking is indicated in the IAM (F1), the busy tone is
+ generated locally by Alice's telephone switch. In some scenarios,
+ the busy signal is generated by the Gateway since interworking is
+ indicated. For more discussion on interworking, refer to [4].
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 76]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 144
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine a route for
+ +19725552222. The call is then forwarded to Bob. */
+
+
+ F3 INVITE F3 Proxy 1 -> Bob
+
+ INVITE bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+
+
+
+Johnston, et al. Best Current Practice [Page 77]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Length: 144
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying Proxy 1 -> NGW 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 600 Busy Everywhere Bob -> Proxy 1
+
+ SIP/2.0 600 Busy Everywhere
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F6 ACK Proxy 1 -> Bob
+
+ ACK bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+Johnston, et al. Best Current Practice [Page 78]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+ F7 600 Busy Everywhere Proxy 1 -> NGW 1
+
+ SIP/2.0 600 Busy Everywhere
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F8 ACK NGW 1 -> Proxy 1
+
+ ACK bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F9 REL NGW 1 -> Alice
+
+ REL
+ CauseCode=17 Busy
+
+
+ F10 RLC Alice -> NGW 1
+
+ RLC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 79]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+3.6. Unsuccessful PSTN->SIP, SIP error interworking to tones
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 600 F5 |
+ | | |<---------------|
+ | | | ACK F6 |
+ | | 600 F7 |--------------->|
+ | |<---------------| |
+ | | ACK F8 | |
+ | ACM F9 |--------------->| |
+ |<---------------| | |
+ | One Way Voice | | |
+ |<===============| | |
+ | Busy Tone | | |
+ |<===============| | |
+ | REL(16) F10 | | |
+ |--------------->| | |
+ | RLC F11 | | |
+ |<---------------| | |
+ | | | |
+
+ In this scenario, Alice calls Bob through Network Gateway NGW 1 and
+ Proxy 1. The call is routed to Bob by Proxy 1. The call is rejected
+ by the Bob client. NGW 1 sets up a two way voice path to Alice and
+ plays busy tone. The caller then disconnects
+
+ NGW 1 plays the busy tone since the IAM (F1) indicates the
+ interworking is present. In scenario 5.2.2., with no interworking,
+ the busy indication is carried in the REL Cause value and is
+ generated locally instead.
+
+ Again, note that for ETSI or ITU ISUP, a CONnect message would be
+ sent instead of the Answer Message.
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+ Interworking=encountered
+
+
+
+Johnston, et al. Best Current Practice [Page 80]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+ F2 INVITE NGW1 -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine a route for
+ +19725552222. The call is then forwarded to Bob. */
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+
+
+
+Johnston, et al. Best Current Practice [Page 81]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying Bob -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 600 Busy Everywhere Bob -> Proxy 1
+
+ SIP/2.0 600 Busy Everywhere
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F6 ACK Proxy 1 -> Bob
+
+ ACK bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 82]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F7 600 Busy Everywhere Proxy 1 -> NGW 1
+
+ SIP/2.0 600 Busy Everywhere
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F8 ACK NGW 1 -> Proxy 1
+
+ ACK sip:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F9 ACM NGW 1 -> Alice
+
+ ACM
+
+ /* A one way speech path is established between NGW 1 and Alice. */
+
+ /* Call Released after Alice hangs up. */
+
+
+ F10 REL Alice -> NGW 1
+
+ REL
+ CauseCode=16
+
+
+ F11 RLC NGW 1 -> Alice
+
+ RLC
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 83]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+3.7. Unsuccessful PSTN->SIP, ACM timeout
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | INVITE F5 |
+ | | |--------------->|
+ | | | INVITE F6 |
+ | | |--------------->|
+ | | | INVITE F7 |
+ | | |--------------->|
+ | | | INVITE F8 |
+ | | |--------------->|
+ | | | INVITE F9 |
+ | | |--------------->|
+ | REL F10 | | |
+ |--------------->| | |
+ | RLC F11 | | |
+ |<---------------| | |
+ | | CANCEL F12 | |
+ | |--------------->| |
+ | | 200 F13 | |
+ | |<---------------| |
+
+ Alice calls Bob through NGW 1 and Proxy 1. Proxy 1 re-sends the
+ INVITE after the expiration of SIP timer T1 without receiving any
+ response from Bob. Bob never responds with 180 Ringing or any other
+ response (it is reachable but unresponsive). After the expiration of
+ a timer, Alice's network disconnects the call by sending a Release
+ message REL. The Gateway maps this to a CANCEL.
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+
+
+
+Johnston, et al. Best Current Practice [Page 84]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine a route for
+ +19725552222. The call is then forwarded to Bob. */
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE sip:bob@b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ c c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 85]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F4 100 Trying Proxy 1 -> NGW 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F6 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F7 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F8 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F9 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+ /* Timer expires in Alice's access network. */
+
+
+ F10 REL Alice -> NGW 1
+
+ REL
+ CauseCode=16 Normal
+
+
+ F11 RLC NGW 1 -> Alice
+
+ RLC
+
+
+
+Johnston, et al. Best Current Practice [Page 86]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F12 CANCEL NGW 1 -> Proxy 1
+
+ CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F13 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 87]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+3.8. Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy
+
+ Switch A NGW 1 Stateless Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | INVITE F4 |--------------->|
+ | |--------------->| INVITE F5 |
+ | | INVITE F6 |--------------->|
+ | |--------------->| INVITE F7 |
+ | | INVITE F8 |--------------->|
+ | |--------------->| INVITE F9 |
+ | | INVITE F10 |--------------->|
+ | |--------------->| INVITE F11 |
+ | | INVITE F12 |--------------->|
+ | |--------------->| INVITE F13 |
+ | | |--------------->|
+ | REL F14 | | |
+ |--------------->| | |
+ | RLC F15 | | |
+ |<---------------| | |
+
+
+ In this scenario, Alice calls Bob through NGW 1 and Proxy 1. Since
+ Proxy 1 is stateless (it does not send a 100 Trying response), NGW 1
+ re-sends the INVITE message after the expiration of SIP timer T1.
+ Bob does not respond with 180 Ringing. Alice's network disconnects
+ the call with a release REL (CauseCode=102 Timeout).
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE NGW 1 -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+
+
+
+Johnston, et al. Best Current Practice [Page 88]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine a route for
+ +19725552222. The call is then forwarded to Bob. */
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE sip:bob@b.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 INVITE NGW 1 -> Proxy 1
+
+ Same as Message F2
+
+
+ F5 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+
+Johnston, et al. Best Current Practice [Page 89]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+
+ F6 INVITE NGW 1 -> Proxy 1
+
+ Same as Message F2
+
+
+ F7 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F8 INVITE NGW 1 -> Proxy 1
+
+ Same as Message F2
+
+
+ F9 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F10 INVITE NGW 1 -> Proxy 1
+
+ Same as Message F2
+
+
+ F11 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+
+ F12 INVITE NGW 1 -> Proxy 1
+
+ Same as Message F2
+
+
+ F13 INVITE Proxy 1 -> Bob
+
+ Same as Message F3
+
+ /* A timer expires in Alice's access network. */
+
+
+ F14 REL Alice -> NGW 1
+
+ REL
+ CauseCode=102 Timeout
+
+
+
+Johnston, et al. Best Current Practice [Page 90]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+
+ F15 RLC NGW 1 -> Alice
+
+ RLC
+
+3.9. Unsuccessful PSTN->SIP, Caller Abandonment
+
+ Switch A NGW 1 Proxy 1 Bob
+ | | | |
+ | IAM F1 | | |
+ |--------------->| INVITE F2 | |
+ | |--------------->| INVITE F3 |
+ | | 100 F4 |--------------->|
+ | |<---------------| |
+ | | | 180 F5 |
+ | | 180 F6 |<---------------|
+ | ACM F7 |<---------------| |
+ |<---------------| | |
+ | One Way Voice | | |
+ |<===============| | |
+ | Ringing Tone | | |
+ |<===============| | |
+ | | | |
+ | REL F8 | | |
+ |--------------->| | |
+ | RLC F9 | | |
+ |<---------------| CANCEL F10 | |
+ | |--------------->| |
+ | | 200 F11 | |
+ | |<---------------| |
+ | | | CANCEL F12 |
+ | | |--------------->|
+ | | | 200 F13 |
+ | | |<---------------|
+ | | | 487 F14 |
+ | | |<---------------|
+ | | | ACK F15 |
+ | | 487 F16 |--------------->|
+ | |<---------------| |
+ | | ACK F17 | |
+ | |--------------->| |
+ | | | |
+
+ In this scenario, Alice calls Bob through NGW 1 and Proxy 1. Bob
+ does not respond with 200 OK. NGW 1 plays ringing tone since the ACM
+ indicates that interworking has been encountered. Alice disconnects
+ the call with a Release message REL which is mapped by NGW 1 to a
+
+
+
+Johnston, et al. Best Current Practice [Page 91]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ CANCEL. Note that if Bob had sent a 200 OK response after the REL,
+ NGW 1 would have sent an ACK and then a BYE to properly terminate the
+ call.
+
+ Message Details
+
+ F1 IAM Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=972-555-2222,NPI=E.164,NOA=National
+
+
+ F2 INVITE Alice -> Proxy 1
+
+ INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 uses a Location Service function to determine a route for
+ +19725552222. The call is then forwarded to Bob. */
+
+
+ F3 INVITE Proxy 1 -> Bob
+
+ INVITE sip:bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+
+
+
+Johnston, et al. Best Current Practice [Page 92]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:ngw1@a.example.com;transport=tcp>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 100 Trying Bob -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.201
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 180 Ringing Bob -> Proxy 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com;transport=tcp>
+ Content-Length: 0
+
+
+ F6 180 Ringing Proxy 1 -> NGW 1
+
+ SIP/2.0 180 Ringing
+
+
+
+Johnston, et al. Best Current Practice [Page 93]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:bob@client.b.example.com>
+ Content-Length: 0
+
+
+ F7 ACM NGW 1 -> Alice
+
+ ACM
+
+ /* Alice hangs up */
+
+
+ F8 REL Alice -> NGW 1
+
+ REL
+ CauseCode=16 Normal
+
+
+ F9 RLC NGW 1 -> Alice
+
+ RLC
+
+
+ F10 CANCEL NGW 1 -> Proxy 1
+
+ CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F11 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+
+
+
+Johnston, et al. Best Current Practice [Page 94]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F12 CANCEL Proxy 1 -> Bob
+
+ CANCEL sip:bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F13 200 OK Bob -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 CANCEL
+ Content-Length: 0
+
+
+ F14 487 Request Terminated Bob -> Proxy 1
+
+ SIP/2.0 487 Request Terminated
+ Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F15 ACK Proxy 1 -> Bob
+
+ ACK sip:bob@b.example.com SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+
+
+
+Johnston, et al. Best Current Practice [Page 95]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F16 487 Request Terminated Proxy 1 -> NGW 1
+
+ SIP/2.0 487 Request Terminated
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F17 ACK NGW 1 -> Proxy 1
+
+ ACK sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+4. PSTN to PSTN Dialing via SIP Network
+
+ In these scenarios, both the caller and the called party are in the
+ telephone network, either normal PSTN subscribers or PBX extensions.
+ The calls route through two Gateways and at least one SIP Proxy
+ Server. The Proxy Server performs the authentication and location of
+ the Gateways.
+
+ Again it is noted that the intent of this call flows document is not
+ to provide a detailed parameter level mapping of SIP to PSTN
+ protocols. For information on SIP to ISUP mapping, the reader is
+ referred to other references [4].
+
+ In these scenarios, the call is successfully completed between the
+ two Gateways, allowing the PSTN or PBX users to communicate. The 183
+ Session Progress response is used to indicate that in-band alerting
+ may flow from the called party telephone switch to the caller.
+
+
+
+
+Johnston, et al. Best Current Practice [Page 96]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+4.1. Successful ISUP PSTN to ISUP PSTN call
+
+ Switch A NGW 1 Proxy 1 GW 2 Switch C
+ | | | | |
+ | IAM F1 | | | |
+ |------------->| | | |
+ | | INVITE F2 | | |
+ | |------------->| INVITE F3 | |
+ | | |------------->| IAM F4 |
+ | | | |------------->|
+ | | | | ACM F5 |
+ | | | 183 F6 |<-------------|
+ | | 183 F7 |<-------------| |
+ | ACM F8 |<-------------| | |
+ |<-------------| | | |
+ | One Way Voice| Two Way RTP Media | One Way Voice|
+ |<=============|<===========================>|<=============|
+ | | | | ANM F9 |
+ | | | 200 F10 |<-------------|
+ | | 200 F11 |<-------------| |
+ | ANM F12 |<-------------| | |
+ |<-------------| | | |
+ | | ACK F13 | | |
+ | |------------->| ACK F14 | |
+ | | |------------->| |
+ |Both Way Voice| Both Way RTP Media |Both Way Voice|
+ |<=============|<===========================>|<=============|
+ | | | | REL F15 |
+ | | | |<-------------|
+ | | | BYE F16 | |
+ | | BYE F18 |<-------------| RLC F17 |
+ | |<-------------| |------------->|
+ | | | | |
+ | | 200 F19 | | |
+ | |------------->| 200 F20 | |
+ | | |------------->| |
+ | REL F21 | | | |
+ |<-------------| | | |
+ | RLC F22 | | | |
+ |------------->| | | |
+ | | | | |
+
+ In this scenario, Alice in the PSTN calls Carol who is an extension
+ on a PBX. Alice's telephone switch signals via SS7 to the Network
+ Gateway NGW 1, while Carol's PBX signals via SS7 with the Gateway GW
+ 2. The CdPN and CgPN are mapped by GW 1 into SIP URIs and placed in
+ the To and From headers. Proxy 1 looks up the dialed digits in the
+ Request-URI and maps the digits to the PBX extension of Carol, which
+
+
+
+Johnston, et al. Best Current Practice [Page 97]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ is served by GW 2. The Proxy in F3 uses the host portion of the
+ Request-URI to identify what private dialing plan is being
+ referenced. The INVITE is then forwarded to GW 2 for call
+ completion. An early media path is established end-to-end so that
+ Alice can hear the ringing tone generated by PBX C.
+
+ Carol answers the call and the media path is cut through in both
+ directions. Bob hangs up terminating the call.
+
+ Message Details
+
+ F1 IAM Switch Alice -> NGW 1
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=918-555-3333,NPI=E.164,NOA=National
+
+
+ F2 INVITE NGW 1 -> Proxy 1
+
+ INVITE sips:+19185553333@ss1.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844526 2890844526 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* Proxy 1 consults Location Service and translates the dialed number
+ to a private number in the Request-URI*/
+
+
+ F3 INVITE Proxy 1 -> GW 2
+
+ INVITE sips:4443333@gw2.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKwqwee65
+
+
+
+Johnston, et al. Best Current Practice [Page 98]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:ngw1@a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 146
+
+ v=0
+ o=GW 2890844526 2890844526 IN IP4 ngw1.a.example.com
+ s=-
+ c=IN IP4 ngw1.a.example.com
+ t=0 0
+ m=audio 3456 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 IAM GW 2 -> Switch C
+
+ IAM
+ CgPN=314-555-1111,NPI=E.164,NOA=National
+ CdPN=444-3333,NPI=Private,NOA=Subscriber
+
+
+ F5 ACM Switch C -> GW 2
+
+ ACM
+
+ /* Based on the ACM message, GW 2 returns a 183 response. In-band
+ call progress indications are sent to Alice through NGW 1. */
+
+
+ F6 183 Session Progress GW 2 -> Proxy 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:4443333@gw2.a.example.com>
+
+
+
+Johnston, et al. Best Current Practice [Page 99]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw2.a.example.com
+ s=-
+ c=IN IP4 gw2.a.example.com
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F7 183 Session Progress Proxy 1 -> GW 1
+
+ SIP/2.0 183 Session Progress
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:4443333@gw2.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw2.a.example.com
+ s=-
+ c=IN IP4 gw2.a.example.com
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ /* NGW 1 receives packets from GW 2 with encoded ringback, tones or
+ other audio. NGW 1 decodes this and places it on the originating
+ trunk. */
+
+
+ F8 ACM NGW 1 -> Switch A
+
+ ACM
+
+ /* Bob answers */
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 100]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F9 ANM Switch C -> GW 2
+
+ ANM
+
+
+ F10 200 OK GW 2 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:4443333@gw2.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw2.a.example.com
+ s=-
+ c=IN IP4 gw2.a.example.com
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F11 200 OK Proxy 1 -> NGW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Record-Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sips:4443333@gw2.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw2.a.example.com
+ s=-
+ c=IN IP4 gw2.a.example.com
+
+
+
+Johnston, et al. Best Current Practice [Page 101]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F12 ANM NGW 1 -> Switch A
+
+ ANM
+
+
+ F13 ACK NGW 1 -> Proxy 1
+
+ ACK sips:4443333@gw2.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ Max-Forwards: 70
+ Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F14 ACK Proxy 1 -> GW 2
+
+ ACK sips:4443333@gw2.a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS ngw1.a.example.com:5061;branch=z9hG4bKlueha2
+ ;received=192.0.2.103
+ Max-Forwards: 69
+ From: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ To: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+ /* RTP streams are established between NGW 1 and GW 2. */
+
+ /* Bob Hangs Up with Alice. */
+
+
+ F15 REL Switch C -> GW 2
+
+ REL
+ CauseCode=16 Normal
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 102]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F16 BYE GW 2 -> Proxy 1
+
+ BYE sips:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TLS gw2.a.example.com:5061;branch=z9hG4bKtexx6
+ Max-Forwards: 70
+ Route: <sips:ss1.a.example.com;lr>
+ From: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ To: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 4 BYE
+ Content-Length: 0
+
+
+ F17 RLC GW 2 -> Switch C
+
+ RLC
+
+
+ F18 BYE Proxy 1 -> NGW 1
+
+ BYE sips:ngw1@a.example.com SIP/2.0
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/TLS gw2.a.example.com:5061;branch=z9hG4bKtexx6
+ ;received=192.0.2.202
+ Max-Forwards: 69
+ From: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ To: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 4 BYE
+ Content-Length: 0
+
+
+ F19 200 OK NGW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS ss1.a.example.com:5061;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/TLS gw2.a.example.com:5061;branch=z9hG4bKtexx6
+ ;received=192.0.2.202
+ From: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ To: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 4 BYE
+ Content-Length: 0
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 103]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F20 200 OK Proxy 1 -> GW 2
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/TLS gw2.a.example.com:5061;branch=z9hG4bKtexx6
+ ;received=192.0.2.202
+ From: <sips:+19185553333@ss1.a.example.com;user=phone>;tag=314159
+ To: <sips:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
+ Call-ID: 2xTb9vxSit55XU7p8@ngw1.a.example.com
+ CSeq: 4 BYE
+ Content-Length: 0
+
+
+ F21 REL Switch C -> GW 2
+
+ REL
+ CauseCode=16 Normal
+
+
+ F22 RLC GW 2 -> Switch C
+
+ RLC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 104]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+4.2. Successful FGB PBX to ISDN PBX call with overflow
+
+ PBX A GW 1 Proxy 1 GW 2 GW 3 PBX C
+ | | | | | |
+ | Seizure | | | | |
+ |----------->| | | | |
+ | Wink | | | | |
+ |<-----------| | | | |
+ |MF Digits F1| | | | |
+ |----------->| | | | |
+ | | INVITE F2 | | | |
+ | |----------->| INVITE F3 | | |
+ | | |----------->| | |
+ | | | 503 F4 | | |
+ | | |<-----------| | |
+ | | | ACK F5 | | |
+ | | |----------->| | |
+ | | | INVITE F6 | |
+ | | |------------------------>| SETUP F7 |
+ | | | 100 F8 |----------->|
+ | | |<------------------------|CALL PROC F9|
+ | | | |<-----------|
+ | | | | ALERT F10 |
+ | | | 180 F11 |<-----------|
+ | | 180 F12 |<------------------------| |
+ | |<-----------| | |
+ | Ringtone | | |OneWay Voice|
+ |<===========| | |<===========|
+ | | | | CONNect F13|
+ | | | 200 F14 |<-----------|
+ | | 200 F15 |<------------------------| |
+ | Seizure |<-----------| | |
+ |<-----------| ACK F16 | | |
+ | |----------->| ACK F17 | |
+ | | |------------------------>|CONN ACK F18|
+ | | | |----------->|
+ |BothWayVoice| Both Way RTP Media |BothWayVoice|
+ |<==========>|<====================================>|<==========>|
+ | | | | DISC F19 |
+ | | | |<-----------|
+ | | | BYE F20 | |
+ | | BYE F21 |<------------------------| REL F22 |
+ |Seiz Removal|<-----------| |----------->|
+ |<-----------| 200 F23 | | |
+ |Seiz Removal|----------->| 200 F24 | |
+ |----------->| |------------------------>| REL COM F25|
+ | | | |<-----------|
+ | | | | |
+
+
+
+Johnston, et al. Best Current Practice [Page 105]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+ PBX Alice calls PBX Carol via Gateway GW 1 and Proxy 1. During the
+ attempt to reach Carol via GW 2, an error is encountered - Proxy 1
+ receives a 503 Service Unavailable (F4) response to the forwarded
+ INVITE. This could be due to all circuits being busy, or some other
+ outage at GW 2. Proxy 1 recognizes the error and uses an alternative
+ route via GW 3 to terminate the call. From there, the call proceeds
+ normally with Carol answering the call. The call is terminated when
+ Carol hangs up.
+
+ Message Details
+
+ PBX Alice -> GW 1
+
+ Seizure
+
+ GW 1 -> PBX A
+
+ Wink
+
+ F1 MF Digits PBX Alice -> GW 1
+
+ KP 444 3333 ST
+
+
+ F2 INVITE GW 1 -> Proxy 1
+
+ INVITE sip:4443333@ss1.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ Max-Forwards: 70
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:551313@gw1.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 155
+
+ v=0
+ o=GW 2890844526 2890844526 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 106]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ /* Proxy 1 uses a Location Service function to determine where B is
+ located. Response is returned listing alternative routes, GW2 and
+ GW3, which are then tried sequentially. */
+
+
+ F3 INVITE Proxy 1 -> GW 2
+
+ INVITE sip:4443333@gw2.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:551313@gw1.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 155
+
+ v=0
+ o=GW 2890844526 2890844526 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F4 503 Service Unavailable GW 2 -> Proxy 1
+
+ SIP/2.0 503 Service Unavailable
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F5 ACK Proxy 1 -> GW 2
+
+ ACK sip:4443333@ss1.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
+
+
+
+Johnston, et al. Best Current Practice [Page 107]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forward: 70
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=314159
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F6 INVITE Proxy 1 -> GW 3
+
+ INVITE sip:+19185553333@gw3.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:551313@gw1.a.example.com>
+ Content-Type: application/sdp
+ Content-Length: 155
+
+ v=0
+ o=GW 2890844526 2890844526 IN IP4 gw1.a.example.com
+ s=-
+ c=IN IP4 gw1.a.example.com
+ t=0 0
+ m=audio 49172 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F7 SETUP GW 3 -> PBX C
+
+ Protocol discriminator=Q.931
+ Message type=SETUP
+ Bearer capability: Information transfer capability=0 (Speech) or 16
+ (3.1 kHz audio)
+ Channel identification=Preferred or exclusive B-channel
+ Progress indicator=1 (Call is not end-to-end ISDN; further call
+ progress information may be available inband)
+ Called party number:
+ Type of number and numbering plan ID=33 (National number in ISDN
+ numbering plan)
+ Digits=918-555-3333
+
+
+
+Johnston, et al. Best Current Practice [Page 108]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+
+
+ F8 100 Trying GW 3 -> Proxy 1
+
+ SIP/2.0 100 Trying
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Content-Length: 0
+
+
+ F9 CALL PROCeeding PBX C -> GW 3
+
+ Protocol discriminator=Q.931
+ Message type=CALL PROC
+
+
+ F10 ALERT PBX C -> GW 3
+
+ Protocol discriminator=Q.931
+ Message type=PROG
+
+ /* Based on ALERT message, GW 3 returns a 180 response. */
+
+
+ F11 180 Ringing GW 3 -> Proxy 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:+19185553333@gw3.a.example.com;user=phone>
+ Content-Length: 0
+
+
+ F12 180 Ringing Proxy 1 -> GW 1
+
+ SIP/2.0 180 Ringing
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+
+
+
+Johnston, et al. Best Current Practice [Page 109]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:+19185553333@gw3.a.example.com;user=phone>
+ Content-Length: 0
+
+
+ F13 CONNect PBX C -> GW 3
+
+ Protocol discriminator=Q.931
+ Message type=CONN
+
+
+ F14 200 OK GW 3 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:+19185553333@gw3.a.example.com;user=phone>
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw3.a.example.com
+ s=-
+ c=IN IP4 gw3.a.example.com
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+
+ F15 200 OK Proxy 1 -> GW 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Record-Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+
+
+
+Johnston, et al. Best Current Practice [Page 110]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 INVITE
+ Contact: <sip:+19185553333@gw3.a.example.com;user=phone>
+ Content-Type: application/sdp
+ Content-Length: 143
+
+ v=0
+ o=GW 987654321 987654321 IN IP4 gw3.a.example.com
+ s=-
+ c=IN IP4 gw3.a.example.com
+ t=0 0
+ m=audio 14918 RTP/AVP 0
+ a=rtpmap:0 PCMU/8000
+
+ GW 1 -> PBX A
+
+ Seizure
+
+
+ F16 ACK GW 1 -> Proxy 1
+
+ ACK sip:+19185553333@gw3.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+ F17 ACK Proxy 1 -> GW 3
+
+ ACK sip:+19185553333@gw3.a.example.com;user=phone SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP gw1.a.example.com:5060;branch=z9hG4bKwqwee65
+ ;received=192.0.2.201
+ Max-Forwards: 69
+ From: <sip:551313@gw1.a.example.com>;tag=63412s
+ To: <sip:4443333@ss1.a.example.com>;tag=123456789
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 ACK
+ Content-Length: 0
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 111]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F18 CONNect ACK GW 3 -> PBX C
+
+ Protocol discriminator=Q.931
+ Message type=CONN ACK
+
+ /* RTP streams are established between GW 1 and GW 3. */
+
+ /* Bob Hangs Up with Alice. */
+
+
+ F19 DISConnect PBX C -> GW 3
+
+ Protocol discriminator=Q.931
+ Message type=DISC
+ Cause=16 (Normal clearing)
+
+
+ F20 BYE GW 3 -> Proxy 1
+
+ BYE sip:551313@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP gw3.a.example.com:5060;branch=z9hG4bKkdjuwq
+ Max-Forwards: 70
+ Route: <sip:ss1.a.example.com;lr>
+ From: <sip:4443333@ss1.a.example.com>;tag=123456789
+ To: <sip:551313@gw1.a.example.com>;tag=63412s
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F21 BYE Proxy 1 -> GW 1
+
+ BYE sip:551313@gw1.a.example.com SIP/2.0
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ Via: SIP/2.0/UDP gw3.a.example.com:5060;branch=z9hG4bKkdjuwq
+ ;received=192.0.2.203
+ Max-Forwards: 69
+ From: <sip:4443333@ss1.a.example.com>;tag=123456789
+ To: <sip:551313@gw1.a.example.com>;tag=63412s
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+ GW 1 -> PBX A
+
+ Seizure removal
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 112]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ F22 RELease GW 3 -> PBX C
+
+ Protocol discriminator=Q.931
+ Message type=REL
+
+
+ F23 200 OK GW 1 -> Proxy 1
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.2
+ ;received=192.0.2.111
+ Via: SIP/2.0/UDP gw3.a.example.com:5060;branch=z9hG4bKkdjuwq
+ ;received=192.0.2.203
+ From: <sip:4443333@ss1.a.example.com>;tag=123456789
+ To: <sip:551313@gw1.a.example.com>;tag=63412s
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F24 200 OK Proxy 1 -> GW 3
+
+ SIP/2.0 200 OK
+ Via: SIP/2.0/UDP gw3.a.example.com:5060;branch=z9hG4bKkdjuwq
+ ;received=192.0.2.203
+ From: <sip:4443333@ss1.a.example.com>;tag=123456789
+ To: <sip:551313@gw1.a.example.com>;tag=63412s
+ Call-ID: 2xTb9vxSit55XU7p8@gw1.a.example.com
+ CSeq: 1 BYE
+ Content-Length: 0
+
+
+ F25 RELease COMplete PBX C -> GW 3
+
+ Protocol discriminator=Q.931
+ Message type=REL COM
+
+ PBX Alice -> GW 1
+
+ Seizure removal
+
+5. Security Considerations
+
+ This document provides examples of mapping from SIP to ISUP and ISUP
+ to SIP. The gateways in these examples are compliant with the
+ Security Considerations Section of RFC 3398 [4] which is summarized
+ here.
+
+
+
+
+Johnston, et al. Best Current Practice [Page 113]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+ There are few security concerns relating to the mapping of ISUP to
+ SIP besides privacy considerations in the calling party number
+ passing. Some concerns relating to the mapping from tel URI
+ parameters to ISUP include the user creation of parameters and codes
+ relating to called number and local number portability (LNP). An
+ operator of a gateway should use policies similar to those present in
+ PSTN switches to avoid security problems.
+
+ The mapping from a SIP response code to an ISUP Cause Code presents a
+ theoretical risk, so a gateway operator may implement policies
+ controlling this mapping. Gateways should also not rely on the
+ contents of the From header field for identity information, as it may
+ be arbitrarily populated by a user. Instead, some sort of
+ cryptographic authentication and authorization should be used for
+ identity determination. These flows show both HTTP Digest for
+ authentication of users, although for brevity, the challenge is not
+ always shown.
+
+ The early media cut-through shown in some flows is another potential
+ security risk, but it is also required for proper interaction with
+ the PSTN. Again, a gateway operator should use proper policies
+ relating to early media to prevent fraud and misuse. Finally, a user
+ agent (even a properly authenticated one) can launch multiple
+ simultaneous requests through a gateway, constituting a denial of
+ service attack. The adoption of policies to limit the number of
+ simultaneous requests from a single entity may be used to prevent
+ this attack.
+
+ As discussed in the SIP-T framework [7], SIP/ISUP interworking can be
+ employed as an interdomain signaling mechanism that may be subject to
+ pre-existing trust relationships between administrative domains. Any
+ administrative domain implementing SIP-T or SIP/ISUP interworking
+ should have an adequate security apparatus (including elements that
+ manage any appropriate policies to manage fraud and billing in an
+ interdomain environment) in place to ensure that the translation of
+ ISUP information does not result in any security violations.
+
+ Although no examples of this are shown in this document, transporting
+ ISUP in SIP bodies may provide opportunities for abuse, fraud, and
+ privacy concerns, especially when SIP-T requests can be generated,
+ inspected or modified by arbitrary SIP endpoints. ISUP MIME bodies
+ should be secured (preferably with S/MIME as detailed in RFC 3261
+ [2]) to alleviate this concern. Authentication properties provided
+ by S/MIME would allow the recipient of a SIP-T message to ensure that
+ the ISUP MIME body was generated by an authorized entity. Encryption
+ would ensure that only carriers possessing a particular decryption
+ key are capable of inspecting encapsulated ISUP MIME bodies in a SIP
+ request.
+
+
+
+Johnston, et al. Best Current Practice [Page 114]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+6. References
+
+6.1. Normative References
+
+ [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
+ Peterson, J., Sparks, R., Handley, M. E. and Schooler, "SIP:
+ Session Initiation Protocol", RFC 3261, June 2002.
+
+ [3] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
+ the Session Description Protocol (SDP)", RFC 3264, June 2002.
+
+ [4] Camarillo, G., Roach, A. B., Peterson, J. and L. Ong,
+ "Integrated Services Digital Network (ISDN) User Part (ISUP) to
+ Session Initiation Protocol (SIP) Mapping", RFC 3398, December
+ 2002.
+
+ [5] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S.,
+ Leach, P., Luotonen, A. and L. Stewart, "HTTP Authentication:
+ Basic and Digest Access Authentication", RFC 2617, June 1999.
+
+ [6] Vaha-Sipila, A., "URLs for Telephone Calls", RFC 2806, April
+ 2000.
+
+ [7] Vemuri, A. and J. Peterson, "Session Initiation Protocol for
+ Telephones (SIP-T): Context and Architectures", BCP 63, RFC
+ 3372, September 2002.
+
+ [8] Zimmerer, E., Peterson, J., Vemuri, A., Ong, L., Audet, F.,
+ Watson, M. and M. Zonoun, "MIME media types for ISUP and QSIG
+ Objects", RFC 3204, December 2001.
+
+ [9] Faltstrom, P., "E.164 number and DNS", RFC 2916, September 2000.
+
+6.2. Informative References
+
+ [10] Johnston, A., Donovan, S., Sparks, R., Cunningham, C. and K.
+ Summers, "Session Initiation Protocol (SIP) Basic Call Flow
+ Examples", RFC 3665, December 2003.
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 115]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+7. Acknowledgments
+
+ Thanks to Rohan Mahy, Adam Roach, Gonzalo Camarillo, Cullen Jennings,
+ and Tom Taylor for their detailed comments during the final review.
+ Thanks to Dean Willis for his early contributions to the development
+ of this document. Thanks to Jon Peterson for his help on the
+ security section.
+
+ The authors wish to thank Kundan Singh for performing parser
+ validation of messages.
+
+ The authors wish to thank the following individuals for their
+ participation in a detailed review of this call flows document: Aseem
+ Agarwal, Rafi Assadi, Ben Campbell, Sunitha Kumar, Jon Peterson, Marc
+ Petit-Huguenin, Vidhi Rastogi, and Bodgey Yin Shaohua.
+
+ The authors also wish to thank the following individuals for their
+ assistance: Jean-Francois Mule, Hemant Agrawal, Henry Sinnreich,
+ David Devanatham, Joe Pizzimenti, Matt Cannon, John Hearty, the whole
+ MCI WorldCom IPOP Design team, Scott Orton, Greg Osterhout, Pat
+ Sollee, Doug Weisenberg, Danny Mistry, Steve McKinnon, and Denise
+ Ingram, Denise Caballero, Tom Redman, Ilya Slain, Pat Sollee, John
+ Truetken, and others from MCI WorldCom, 3Com, Cisco, Lucent and
+ Nortel.
+
+8. Intellectual Property Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ intellectual property or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; neither does it represent that it
+ has made any effort to identify any such rights. Information on the
+ IETF's procedures with respect to rights in standards-track and
+ standards-related documentation can be found in BCP-11. Copies of
+ claims of rights made available for publication and any assurances of
+ licenses to be made available, or the result of an attempt made to
+ obtain a general license or permission for the use of such
+ proprietary rights by implementors or users of this specification can
+ be obtained from the IETF Secretariat.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights which may cover technology that may be required to practice
+ this standard. Please address the information to the IETF Executive
+ Director.
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 116]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+9. Authors' Addresses
+
+ All listed authors actively contributed large amounts of text to this
+ document.
+
+ Alan Johnston
+ MCI
+ 100 South 4th Street
+ St. Louis, MO 63102
+ USA
+
+ EMail: alan.johnston@mci.com
+
+ Steve Donovan
+ dynamicsoft, Inc.
+ 5100 Tennyson Parkway
+ Suite 1200
+ Plano, Texas 75024
+ USA
+
+ EMail: sdonovan@dynamicsoft.com
+
+ Robert Sparks
+ dynamicsoft, Inc.
+ 5100 Tennyson Parkway
+ Suite 1200
+ Plano, Texas 75024
+ USA
+
+ EMail: rsparks@dynamicsoft.com
+
+ Chris Cunningham
+ dynamicsoft, Inc.
+ 5100 Tennyson Parkway
+ Suite 1200
+ Plano, Texas 75024
+ USA
+
+ EMail: ccunningham@dynamicsoft.com
+
+ Kevin Summers
+ Sonus
+ 1701 North Collins Blvd, Suite 3000
+ Richardson, TX 75080
+ USA
+
+ EMail: kevin.summers@sonusnet.com
+
+
+
+
+Johnston, et al. Best Current Practice [Page 117]
+
+RFC 3666 SIP PSTN Call Flows December 2003
+
+
+10. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assignees.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Johnston, et al. Best Current Practice [Page 118]
+