RFC 3578 PROPOSED STANDARD SIP · PSTN · INTERWORKING

Mapping of Integrated Services Digital Network (ISDN) User Part (ISUP) Overlap Signalling to the Session Initiation Protocol (SIP)

How a gateway turns digit-by-digit PSTN dialing into SIP calls, and when it is safe to pass the digits on as they arrive.

On rfc-editor.org ↗
PUBLISHED
August 2003
AUTHORS
G. Camarillo, A. B. Roach, J. Peterson, L. Ong
STREAM
IETF
T35 (Q.764)
15-20 seconds
T10 (Q.764 RECOMMENDED)
4-6 seconds
REL CAUSE ON T35 EXPIRY
28
RESPONSE TO SUPERSEDED INVITE
484 Address Incomplete
DOI
10.17487/RFC3578

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                       G. Camarillo
Request for Comments: 3578                                      Ericsson
Category: Standards Track                                    A. B. Roach
                                                             dynamicsoft
                                                             J. Peterson
                                                                 NeuStar
                                                                  L. Ong
                                                                   Ciena
                                                             August 2003


         Mapping of Integrated Services Digital Network (ISDN)
                  User Part (ISUP) Overlap Signalling
                to the Session Initiation Protocol (SIP)

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   This document describes a way to map Integrated Services Digital
   Network User Part (ISUP) overlap signalling to Session Initiation
   Protocol (SIP).  This mechanism might be implemented when using SIP
   in an environment where part of the call involves interworking with
   the Public Switched Telephone Network (PSTN).

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conversion of ISUP Overlap Signalling into SIP en-bloc
       Signalling . . . . . . . . . . . . . . . . . . . . . . . . . .  3
       2.1.  Waiting for the Minimum Amount of Digits . . . . . . . .  4
       2.2.  The Minimum Amount of Digits has been Received . . . . .  4
   3.  Sending Overlap Signalling to a SIP Network. . . . . . . . . .  5
       3.1.  One vs. Several Transactions . . . . . . . . . . . . . .  5
       3.2.  Generating Multiple INVITEs. . . . . . . . . . . . . . .  6
       3.3.  Receiving Multiple Responses . . . . . . . . . . . . . .  8
       3.4.  Canceling Pending INVITE Transactions. . . . . . . . . .  9
       3.5.  SIP to ISUP. . . . . . . . . . . . . . . . . . . . . . .  9
   4.  Security Considerations. . . . . . . . . . . . . . . . . . . . 10
   5.  Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 10
   6.  Normative References . . . . . . . . . . . . . . . . . . . . . 10
   7.  Intellectual Property Statement. . . . . . . . . . . . . . . . 11
   8.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12
   9.  Full Copyright Statement . . . . . . . . . . . . . . . . . . . 13

1.  Introduction

   A mapping between the Session Initiation Protocol (SIP) [1] and the
   ISDN User Part (ISUP) [2] of SS7 is described in RFC 3398 [3].
   However, RFC 3398 only takes into consideration ISUP en-bloc
   signalling.  En-bloc signalling consists of sending the complete
   telephone number of the callee in the first signalling message.
   Although modern switches always use en-bloc signalling, some parts of
   the PSTN still use overlap signalling.

   Overlap signalling consists of sending only some digits of the
   callee's number in the first signalling message.  Further digits are
   sent in subsequent signalling messages.  Although overlap signalling
   in the PSTN is the source of much additional complexity, it is still
   in use in some countries.

   Like modern switches, SIP uses en-bloc signalling.  The Request-URI
   of an INVITE request always contains the whole address of the callee.
   Native SIP end-points never generate overlap signalling.

   Therefore, the preferred solution for a gateway handling PSTN overlap
   signalling and SIP is to convert the PSTN overlap signalling into SIP
   en-bloc signalling using number analysis and timers.  The gateway
   waits until all the signalling messages carrying parts of the
   callee's number arrive, and only then, it generates a SIP INVITE
   request.  Section 2 describes how to convert ISUP overlap signalling
   into en-bloc SIP this way.

   However, although it is the preferred solution, conversion of overlap
   to en-bloc signalling sometimes results in unacceptable (multiple
   second) call setup delays to human users.  In these situations, some
   form of overlap signalling has to be used in the SIP network to
   minimize the call setup delay.  However, introducing overlap
   signalling in SIP introduces complexity and brings some issues.
   Section 3 analyzes the issues related to the use of overlap
   signalling in a SIP network and describe ways to deal with them in
   some particular network scenarios.  Section 3 also describes in which
   particular network scenarios those issues make the use of overlap
   signalling in the SIP network unacceptable.

2.  Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling

   In this scenario, the gateway receives an IAM (Initial Address
   Message) that contains only a portion of the called number.  The rest
   of the digits dialed arrive later in one or more SAMs (Subsequent
   Address Message).

2.1.  Waiting for the Minimum Amount of Digits

   If the IAM contains less than the minimum amount of digits to route a
   call, the gateway starts T35 and waits until the minimum amount of
   digits that can represent a telephone number is received (or a stop
   digit is received).  If T35 expires before the minimum amount of
   digits (or a stop digit) has been received, a REL with cause value 28
   is sent to the ISUP side.  T35 is defined in Q.764 [4] as 15-20
   seconds.

   If a stop digit is received, the gateway can already generate an
   INVITE request with the complete called number.  Therefore, the call
   proceeds as usual.

2.2.  The Minimum Amount of Digits has been Received

   Once the minimum amount of digits that can represent a telephone
   number has been received, the gateway should use number analysis to
   decide if the number that has been received so far is a complete
   number.  If it is, the gateway can generate an INVITE request with
   the complete called number.  Therefore, the call proceeds as usual.

   However, there are cases when the gateway cannot know whether the
   number received is a complete number or not.  In this case, the
   gateway should collect digits until a timer (T10) expires or a stop
   digit (such as, #) is entered by the user (note that T10 is refreshed
   every time a new digit is received).

   When T10 expires, an INVITE with the digits collected so far is sent
   to the SIP side.  After this, any SAM received is ignored.

      PSTN                      MGC/MG                       SIP
        |                          |                          |
        |-----------IAM----------->| Starts T10               |
        |                          |                          |
        |-----------SAM----------->| Starts T10               |
        |                          |                          |
        |-----------SAM----------->| Starts T10               |
        |                          |                          |
        |                          |                          |
        |             T10 expires  |---------INVITE---------->|
        |                          |                          |

        Figure 1: Use of T10 to convert overlap signalling to en-bloc

   Note that T10 is defined for conversion between overlap signalling
   (e.g., CAS) and en-bloc ISUP.  PSTN switches usually implement a
   locally defined value of timer T10 -- which may not be within the 4-6
   second range recommended by Q.764 [4] -- to convert overlap ISUP to
   en-bloc ISUP.  This document uses T10 and recommends the range of
   values defined in Q.764 [4], which seems suitable for conversion from
   overlap to en-bloc SIP operation.  The actual choice of the timer
   value is a matter of local policy.

3.  Sending Overlap Signalling to a SIP Network

   This section analyzes the issues related to the use of overlap
   signalling in a SIP network and describes a possible solution and its
   applicability scope.  It is important to note that, if used outside
   its applicability scope, this solution could cause a set of problems,
   which are identified in this section.

3.1.  One vs. Several Transactions

   An ingress gateway receiving ISUP overlap signalling (i.e., one IAM
   and one or more SAMs) needs to map it into SIP signalling.  One
   possible approach would consists of sending an INVITE with the digits
   received in the IAM, and once an early dialog is established, sending
   the digits received in SAMs in a SIP request (e.g., INFO) within that
   early dialog.

   This approach has several problems.  It requires that the remote SIP
   user agent (which might be a gateway) sends a non-100 provisional
   response as soon as it receives the initial INVITE to establish the
   early dialog.  Current gateways, following the procedures in RFC 3398
   [3], do not generate such a provisional response.  Having gateways
   generate such a response (e.g., 183 Session Progress) would cause
   ingress gateways to generate early ACMs, confusing the PSTN state
   machine even in calls that do not use overlap signalling.

   In this approach, once the initial INVITE request is routed, all the
   subsequent requests sent within the early dialog follow the same
   path.  That is, they cannot be re-routed to take advantage of SIP-
   based services.  Therefore, we do not recommend using this approach.

   An alternative approach consists of sending a new INVITE that
   contains all the digits received so far every time a new SAM is
   received.  Since every new INVITE sent represents a new transaction,
   they can be routed in different ways.  This way, every new INVITE can
   take advantage of any SIP service that the network may provide.

   However, having subsequent INVITEs routed in different ways brings
   some problems as well.  The first INVITE, for instance, might be
   routed to a particular gateway, and a subsequent INVITE, to another.
   The result is that both gateways generate an IAM.  Since one of the
   IAMs (or both) has an incomplete number, it would fail, having
   already consumed PSTN resources.  It could even happen that both IAMs
   contained complete, but different numbers (i.e., one number is the
   prefix of the other one).

   Routing in SIP can be controlled by the administrator of the network.
   Therefore, a gateway can be configured to generate SIP overlap
   signalling in the way described below only if the SIP routing
   infrastructure ensures that INVITEs will only reach one gateway.
   When the routing infrastructure is not under the control of the
   administrator of the gateway, the procedures of Section 2 have to be
   used instead.

   Within some dialing plans in the PSTN, a phone number might be a
   prefix of another one.  This situation is not common, but it can
   occur.  Where en-bloc signalling is used, this ambiguity is resolved
   before the digits are placed in the en-bloc signalling.  If overlap
   signaling was used in this situation, a different user than the one
   the caller intended to call might be contacted.  That is why in the
   parts of the PSTN where overlap is used, a prefix of a telephone
   number never identifies another valid number.  Therefore, SIP overlap
   signalling should not be used when attempting to reach parts of the
   PSTN where it is possible for a number and some shorter prefix of the
   same number to both be valid addresses of different terminals.

3.2.  Generating Multiple INVITEs

   In this scenario, the gateway receives an IAM (Initial Address
   Message) and possibly one or more SAMs (Subsequent Address Message)
   that provide more than the minimum amount of digits that can
   represent a phone number.

   As soon as the minimum amount of digits is received, the gateway
   sends an INVITE and starts T10.  This INVITE is built following the
   procedures described in RFC 3398 [3].

   If a SAM arrives to the gateway, T10 is refreshed and a new INVITE
   with the new digits received is sent.  The new INVITE has the same
   Call-ID and the same From header field including the tag as the first
   INVITE sent, but has an updated Request-URI.  The new Request-URI
   contains all the digits received so far.  The To header field of the
   new INVITE contains all the digits as well, but has no tag.

      Note that it is possible to receive a response to the first INVITE
      before having sent the second INVITE.  In this case, the response
      received would contain a To tag and information (Record-Route and
      Contact) to build a Route header field.  The new INVITE to be sent
      (containing new digits) should not use any of these headers.  That
      is, the new INVITE does not contain neither To tag nor Route
      header field.  This way, this new INVITE can be routed dynamically
      by the network providing services.

   The new INVITE should, of course, contain a Cseq field.  It is
   recommended that the Cseq of the new INVITE is higher than any of the
   previous Cseq that the gateway has generated for this Call-ID (no
   matter for which dialog the Cseq was generated).

      When an INVITE forks, responses from different locations might
      arrive establishing one or more early dialogs.  New requests such
      as, PRACK or UPDATE can be sent within every particular early
      dialog.  This implies that the Cseq number spaces of different
      early dialogs are different.  Sending a new INVITE with a Cseq
      that is still unused by any of the remote destinations avoids
      confusion at the destination.

   If the gateway is encapsulating ISUP messages as SIP bodies, it
   should place the IAM and all the SAMs received so far in this INVITE.

      PSTN                      MGC/MG                       SIP
        |                          |                          |
        |-----------IAM----------->| Starts T10               |
        |                          |---------INVITE---------->|
        |                          |                          |
        |-----------SAM----------->| Starts T10               |
        |                          |---------INVITE---------->|
        |                          |                          |
        |-----------SAM----------->| Starts T10               |
        |                          |---------INVITE---------->|
        |                          |                          |

                     Figure 2: Overlap signalling in SIP

   If 4xx, 5xx or 6xx final responses arrive (e.g., 484 address
   incomplete) for the pending INVITE transactions before T10 has
   expired, the gateway should not send any REL.  A REL is sent only if
   no more SAMs arrive, T10 expires, and all the INVITEs sent have been
   answered with a final response (different than 200 OK).

      PSTN                      MGC/MG                       SIP
        |                          |                          |
        |-----------IAM----------->| Starts T10               |
        |                          |---------INVITE---------->|
        |                          |<---------484-------------|
        |                          |----------ACK------------>|
        |                          |                          |
        |                          |                          |
        |             T10 expires  |                          |
        |<----------REL------------|                          |

           Figure 3: REL generation when overlap signalling is used

   The best status code among all the responses received for all the
   INVITEs that were generated is used to calculate the cause value of
   the REL as described in RFC 3398 [3].

      The computation of the best response is done in the same way as
      forking proxies compute the best response to be returned to the
      client for a particular INVITE.  Note that the best response is
      not always the response to the INVITE that contained more digits.
      If the user dials a particular number and then types an extra
      digit by mistake, a 486 (Busy Here) could be received for the
      first INVITE and a 484 (Address Incomplete) for the second one
      (which contained more digits).

3.3.  Receiving Multiple Responses

   When overlap signalling in SIP is used, the ingress gateway sends
   multiple INVITEs.  Accordingly, it will receive multiple responses.
   The responses to all the INVITEs sent, except for one (normally, but
   not necessarily the last one), are typically 400 class responses
   (e.g., 484 Address Incomplete) that terminate the INVITE transaction.

   However, a 183 Session Progress response with a media description can
   also be received.  The media stream will typically contain a message
   such as, "The number you have just dialed does not exist".

   The issue of receiving different 183 Session Progress responses with
   media descriptions does not only apply to overlap signalling.  When
   vanilla SIP is used, several responses can also arrive to a gateway
   if the INVITE forked.  It is then up to the gateway to decide which
   media stream should be played to the user.

   However, overlap signalling adds a requirement to this process.  As a
   general rule, a media stream corresponding to the response to an
   INVITE with a greater number of digits should be given more priority
   than media streams from responses with less digits.

3.4.  Canceling Pending INVITE Transactions

   When a gateway sends a new INVITE containing new digits, it should
   not CANCEL the previous INVITE transaction.  This CANCEL could arrive
   before the new INVITE to an egress gateway and trigger a REL before
   the new INVITE arrived.  INVITE transactions are typically terminated
   by the reception of 4xx responses.

   However, once a 200 OK response has been received, the gateway should
   CANCEL all the other INVITE transactions were generated.  A
   particular gateway might implement a timer to wait for some time
   before sending any CANCEL.  This gives time to all the previous
   INVITE transactions to terminate smoothly without generating more
   signalling traffic (CANCEL messages).

3.5.  SIP to ISUP

   In this scenario (the call originates in the SIP network), the
   gateway receives multiple INVITEs that have the same Call-ID but have
   different Request-URIs.  Upon reception of the first INVITE, the
   gateway generates an IAM following the procedures described in RFC
   3398 [3].

   When a gateway receives a subsequent INVITE with the same Call-ID and
   From tag as the previous one, and an updated Request-URI, a SAM
   should be generated as opposed to a new IAM.  Upon reception of a
   subsequent INVITE, the INVITE received previously is answered with
   484 Address Incomplete.

   If the gateway is attached to the PSTN in an area where en-bloc
   signalling is used, a REL for the previous IAM and a new IAM should
   be generated.

4.  Security Considerations

   When overlap signaling is employed, it is possible that an attacker
   could send multiple INVITEs containing an incomplete address to the
   same gateway in an attempt to occupy all available ports and thereby
   deny service to legitimate callers.  Since none of these partially
   addressed calls would ever complete, in a traditional billing scheme,
   the sender of the INVITEs might never be charged.  To address this
   threat, the authors recommend that gateway operators authenticate the
   senders of INVITE requests, first, in order to have some
   accountability for the source of calls (it is very imprudent to give
   gateway access to unknown users on the Internet), but second, so that
   the gateway can determine when multiple calls are originating from
   the same source in a short period of time.  Some sort of threshold of
   hanging overlap calls should be tracked by the gateway, and after the
   limit is exceeded, the further similar calls should be rejected to
   prevent the saturation of gateway trunking resources.

5.  Acknowledgments

   Jonathan Rosenberg, Olli Hynonen, and Mike Pierce provided useful
   feedback on this document.

6.  Normative References

   [1]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
        Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP:
        Session Initiation Protocol", RFC 3261, June 2002.

   [2]  "Application of the ISDN user part of CCITT signaling system no.
        7 for international ISDN interconnections", ITU-T Q.767,
        February 1991.

   [3]  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.

   [4]  "Signalling system no. 7 - ISDN user part signalling
        procedures," ITU-T Q.764, December 1999.

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

8.  Authors' Addresses

   Gonzalo Camarillo
   Ericsson
   Advanced Signalling Research Lab.
   FIN-02420 Jorvas
   Finland

   EMail:  Gonzalo.Camarillo@ericsson.com


   Adam Roach
   dynamicsoft
   5100 Tennyson Parkway
   Suite 1200
   Plano, TX 75024
   USA

   EMail:  adam@dynamicsoft.com


   Jon Peterson
   NeuStar, Inc.
   1800 Sutter St
   Suite 570
   Concord, CA 94520
   USA

   EMail:  jon.peterson@neustar.biz


   Lyndon Ong
   Ciena
   5965 Silver Creek Valley Road
   San Jose, CA 95138
   USA

   EMail: lyong@ciena.com

9.  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.

AI ELI5

On this page
PROBLEMSome parts of the telephone network send a called number a few digits at a time (overlap signalling), but SIP always carries the whole address in the INVITE.
MECHANISMThe preferred approach is for the gateway to collect digits using number analysis and timers, then send one INVITE. Where that delay is unacceptable, the gateway may send several INVITEs with growing digit strings, but only under strict routing conditions.
THE CATCHThe RFC gives procedures in both directions and warns that overlap in SIP is only safe when INVITEs reach a single gateway and no valid number is a prefix of another.

§1En-bloc and Overlap Signalling

RFC 3398 maps SIP to the ISDN User Part (ISUP) of SS7, but only for en-bloc signalling, where the complete callee number is in the first message. Overlap signalling sends only some digits first and the rest in later messages. Modern switches always use en-bloc, but some parts of the PSTN still use overlap, and the RFC says it is still in use in some countries.

SIP is en-bloc: the Request-URI of an INVITE always contains the whole callee address. The preferred solution is therefore to convert overlap into en-bloc SIP using number analysis and timers (Section 2 of the RFC). Because that can cause unacceptable multi-second setup delays for human users, Section 3 analyzes using overlap signalling inside the SIP network and where it is acceptable.

Old phone lines hand over a number in pieces. Internet calls want the whole number first, so something has to either wait for all the pieces or pass them on carefully.

§2Converting Overlap to En-bloc

The gateway first receives an IAM (Initial Address Message) holding part of the number. The remaining digits arrive in one or more SAMs (Subsequent Address Messages).

If the IAM holds fewer digits than the minimum needed to route a call, the gateway starts timer T35 and waits for the minimum number of digits or a stop digit. If T35 expires first, it sends a REL with cause value 28 to the ISUP side. Q.764 defines T35 as 15-20 seconds. A stop digit lets the gateway send the INVITE at once.

Once the minimum is reached, the gateway uses number analysis to decide whether the number is complete. If it cannot tell, it collects digits until timer T10 expires or a stop digit (the RFC gives the hash character as its example) arrives. T10 is refreshed on every new digit. When it expires, an INVITE with the digits so far is sent and any later SAM is ignored.

Q.764 recommends a T10 range of 4-6 seconds; the RFC recommends that range, but the actual value is a matter of local policy.

The gateway listens to the digits and keeps a stopwatch that restarts with each one. When no more digits arrive in time, it places the call with the number it has.

§3One INVITE or Several

One idea for sending overlap into SIP is to send an INVITE with the IAM digits and then pass SAM digits in a request such as INFO inside the early dialog. The RFC does not recommend this. It needs the far side to send a non-100 provisional response at once, which gateways following RFC 3398 do not do. Making them do so (for example with a 183 Session Progress) would cause early ACMs and confuse the PSTN state machine. Also, all later requests follow the first path and cannot be rerouted to use SIP services.

The alternative is a new INVITE with all digits so far every time a SAM arrives. Each is a new transaction and can be routed differently, which is a benefit and a problem: two INVITEs may reach two gateways, each generating an IAM, and an incomplete number would fail after using PSTN resources.

So a gateway can be configured to generate SIP overlap only if the SIP routing infrastructure ensures INVITEs reach just one gateway. If the infrastructure is not under the administrator's control, the Section 2 procedures must be used. SIP overlap also should not be used toward parts of the PSTN where a number and a shorter prefix of it can both be valid addresses of different terminals.

Sending a fresh note each time a new digit arrives is fast, but the notes might go to different offices. It is only safe if every note is sure to reach the same one.

§4Generating Multiple INVITEs

As soon as the minimum number of digits is received, the gateway sends an INVITE built as in RFC 3398 and starts T10. When a SAM arrives, T10 is refreshed and a new INVITE goes out. It has the same Call-ID and the same From header field (including the tag) as the first, an updated Request-URI with all digits so far, and a To header with all digits but no tag.

The new INVITE should not use the To tag or a Route header from any response to the earlier INVITE, so the network can route it dynamically. Its CSeq is recommended to be higher than any CSeq the gateway has used for that Call-ID, to avoid confusion with early dialogs created by forking.

If the gateway encapsulates ISUP messages as SIP bodies, it should include the IAM and all SAMs received so far.

Each new note repeats everything dialed so far and carries the same call label, but it does not reuse any reply stamp from earlier notes.

OVERLAP SIGNALLING IN SIP (FIGURE 2 OF RFC 3578)
PSTNMGC/MGSIP
  1. IAMGateway starts T10.
  2. INVITE
  3. SAMGateway starts T10.
  4. INVITE
  5. SAMGateway starts T10.
  6. INVITE

§5Responses, REL and CANCEL

If 4xx, 5xx or 6xx final responses (for example 484 Address Incomplete) arrive before T10 expires, the gateway should not send any REL. It sends one only when no more SAMs arrive, T10 expires and every INVITE has had a final response other than 200 OK. The REL cause value comes from the best response among all INVITEs, computed as a forking proxy would, as in RFC 3398. The best response is not always the one to the INVITE with most digits: a mistaken extra digit could give a 486 (Busy Here) for the first and a 484 for the second.

All responses except typically one are 400 class responses. A 183 Session Progress with media may also arrive; as a general rule, the media stream from the INVITE with more digits has priority.

A gateway should not CANCEL the previous INVITE when it sends a new one, since the CANCEL could reach the egress gateway first and trigger a REL. Once a 200 OK arrives, it should CANCEL all the other INVITE transactions, and it may wait a while first so they can finish without extra signalling.

The gateway hangs up on the caller only when everyone has said no and no more digits are coming. If someone says yes, it politely cancels all the other tries.

§6SIP to ISUP Direction

When the call starts in the SIP network, the gateway may receive several INVITEs with the same Call-ID but different Request-URIs. The first INVITE produces an IAM as in RFC 3398.

A later INVITE with the same Call-ID and From tag and an updated Request-URI should produce a SAM instead of a new IAM, and the earlier INVITE is answered with 484 Address Incomplete. If the gateway is attached to a PSTN area that uses en-bloc signalling, it should instead generate a REL for the previous IAM and a new IAM.

When the internet side keeps sending longer numbers, the gateway adds the new digits to the same phone call, unless the phone side cannot take digits in pieces, in which case it starts over.

§7Security Considerations

With overlap signalling, an attacker could send multiple INVITEs with an incomplete address to the same gateway to occupy all available ports and deny service. Since none of these calls would complete, the sender might never be billed under a traditional scheme.

The authors recommend that gateway operators authenticate INVITE senders, for accountability and so the gateway can see many calls from one source in a short time. The gateway should track a threshold of hanging overlap calls and reject further similar calls once it is exceeded.

Someone could start lots of half-dialed calls to use up all the phone lines. The gateway should know who is calling and stop taking more once too many are left hanging.

§8References

[1]RFC 3261Rosenberg, J., et al., "SIP: Session Initiation Protocol", RFC 3261, June 2002.July 2002
[2]"Application of the ISDN user part of CCITT signaling system no. 7 for international ISDN interconnections", ITU-T Q.767, February 1991.
[3]RFC 3398Camarillo, 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.December 2002
[4]"Signalling system no. 7 - ISDN user part signalling procedures", ITU-T Q.764, December 1999.