GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc3666

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:
  1. The SIP Proxy Server performs digit analysis and lookup and

locates the correct gateway.

  1. 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]

/data/webs/external/dokuwiki/data/pages/rfc/rfc3666.txt · Last modified: 2003/12/24 20:15 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki