Internet Engineering Task Force                     Gonzalo Camarillo
Internet draft                                               Ericsson
<draft-ietf-sipping-overlap-01.txt>
June 2002                                                  Adam Roach
Expires: December 2002                                    dynamicsoft

                                                         Jon Peterson
                                                              NeuStar

                                                           Lyndon Ong
                                                                Ciena


 Mapping of ISUP Overlap Signalling to the Session Initiation Protocol


Status of this Memo

  This document is an Internet-Draft and is in full conformance with
     all provisions of Section 10 of RFC2026.

  Internet-Drafts are working documents of the Internet Engineering
  Task Force (IETF), its areas, and its working groups. Note that other
  groups may also distribute working documents as Internet-Drafts.
  Internet-Drafts are draft documents valid for a maximum of six months
  and may be updated, replaced, or obsoleted by other documents at any
  time. It is inappropriate to use Internet- Drafts as reference
  material or to cite them other than as "work in progress."

  The list of current Internet-Drafts can be accessed at
  http://www.ietf.org/ietf/1id-abstracts.txt
  The list of Internet-Draft Shadow Directories can be accessed at
  http://www.ietf.org/shadow.html.


Abstract

  This document describes a way to map ISUP overlap signalling to 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).






















Camarillo/Roach/Peterson/Ong                                       1



              Mapping of ISUP Overlap Signalling to SIP


TABLE OF CONTENTS

  1  Introduction..................................................2
  2   Overlap signalling in SIP....................................2
  3   ISUP to SIP..................................................3
  3.1 Waiting for the minimum amount of digits.....................3
  3.2 Sending the first INVITE.....................................3
  3.3 Sending overlap signalling to the SIP network................4
  3.4 Applicability of this mechanism..............................5
  3.5 Receiving multiple responses.................................5
  3.6 Canceling pending INVITE transactions........................6
  3.7 INVITEs reaching multiple gateways...........................6
  4   SIP to ISUP..................................................6
  4.1 Receiving subsequent INVITEs.................................6
  5   Security Considerations......................................7
  6   Conclusions..................................................7
  8   Acknoledgements..............................................7
  9   References...................................................7
  10  Authors³ addresses...........................................7


1. Introduction

  A mapping between the Session Initiation Protocol (SIP) [1] and the
  ISDN User Part (ISUP) [2] of SS7 is described in [3]. However, [3]
  just 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 just some
  digits of the callee³s number in the first signalling message.
  Further digits are sent in subsequent signalling messages.

2. Overlap signalling in SIP

  SIP uses en-bloc signalling. The Request-URI of an INVITE message
  contains the whole address of the callee. Even if the Request-URI
  contains a tel URI instead of a SIP URI, the INVITE contains the
  whole number. Breaking this principle would just bring undesirable
  problems to network designers. Therefore, it is strongly recommended
  not to use any kind of overlap signalling in a SIP network. The
  recommended behavior is to convert overlap signalling to en-bloc at
  the edge of the network and then use en-bloc signalling in SIP. A
  gateway connected to a part of the PSTN where overlap signalling is
  used can perform this conversion through the use of timers.

  However, although its use is discouraged, some applications need to
  use overlap signalling in order to meet service requirements (e.g.,
  establishment time). Such applications should use the mechanism
  described in this document. This document also describes in which
  scenarios is acceptable to use such a mechanism and when, on the
  other hand, it is completely unacceptable to use overlap.


3. ISUP to SIP

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


Camarillo/Roach/Peterson/Ong                                       2



              Mapping of ISUP Overlap Signalling to SIP


3.1 Waiting for the minimum amount of digits

  If the IAM contain 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 [4] as 15-20 seconds.

  If a stop digit is received, the INVITE message generated by the
  gateway will contain the complete called number. Therefore, the call
  proceeds as usual - no overlap signalling in the SIP network.

3.2 Sending the first INVITE

  There are cases when the gateway, after having received the
  minimum amount of digits, cannot know whether the number received is
  a complete number or not. Since supporting overlap signalling in the
  SIP network is an option that may be deemed undesirable, the gateway
  may elect to 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).

  In this case, 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---------->|
         |                          |                          |



  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 [4], to convert overlap ISUP to en-bloc
  ISUP. This document uses T10 and recommends the range of values
  defined in [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.3 Sending overlap signalling to the SIP network

  Although the behavior just described is recommended by this document,
  a gateway might still decide to send overlap signalling in the SIP
  network. In this case, the gateway should proceed as follows.

  As soon as the minimum amount of digits is received an INVITE is sent
  and T10 is started. This INVITE is built following the procedures
  described in [3].


Camarillo/Roach/Peterson/Ong                                       3



              Mapping of ISUP Overlap Signalling to SIP


  If a SAM arrives, 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 (see
       Section 3.7).

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


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

Camarillo/Roach/Peterson/Ong                                       4



              Mapping of ISUP Overlap Signalling to SIP


         |<----------REL------------|                          |

  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 [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.4 Applicability of this mechanism

  This mechanism is applicable only under certain circumstances. An
  ingress gateway may use overlap signalling in SIP when an analysis of
  the called party number shows that it belongs to a part of the PSTN
  where there is a variable number of digits required to form a
  complete number and the gateway lacks the information to determine
  the length of the number solely by interpretation of the received
  digits.

  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
  certainly 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, an
  ingress gateway may use overlap if, and only if, an analysis of the
  called party number shows that it belongs to a part of the PSTN where
  overlap signalling is used. This ensures that a particular prefix of
  the number does not identify any other user.

3.5 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 or 490 Request Updated) 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.

Camarillo/Roach/Peterson/Ong                                       5



              Mapping of ISUP Overlap Signalling to SIP



3.6 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.7 INVITEs reaching multiple gateways

  Since every new INVITE sent by a gateway represents a new transaction
  they can be routed in different ways. For instance, the first INVITE
  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).

  It has been proposed to make all the INVITEs follow the same path as
  the first one. This proposal would resolve the problem of having
  INVITEs hitting different gateways, but would restrict the number of
  services the SIP network can provide. It would not be possible to
  route a subsequent INVITE to an application server just because the
  previous one was routed in a different way.

  This issue should be taken into consideration before using overlap
  signalling in SIP. If sending multiple IAMs to the PSTN is not
  acceptable in a particular domain, overlap signalling should not be
  used.

4. SIP to ISUP

  In this scenario the gateway receives multiple INVITEs that have the
  same Call-ID but have different Request-URIs.

       Note that these INVITEs do not belong to they same dialog
       because the have different To header fields.

4.1 Receiving subsequent INVITEs

  An egress gateway does not have any means to know whether SIP overlap
  signalling is being used or not. So, upon reception of an INVITE, the
  gateway generates an IAM following the procedures described in [3].

  If 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 490 Request
  Updated.




Camarillo/Roach/Peterson/Ong                                       6



              Mapping of ISUP Overlap Signalling to SIP


  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.

5. Security Considerations

  No extra security risk outside these specified by [3] are foreseen.

6. Conclusions

  The mechanism described in this document is intended to be used in a
  closed environment. Using it in an open network such as the Internet
  would cause problems such as multiple IAMs generated. If this
  mechanism were used with telephone numbers that are ambiguous in the
  local dial plan, calls could end up reaching a different callee than
  the one who was supposed to receive the call if an inadvertent
  timeout occurs.

  Due to these problems, it is strongly recommended that this mechanism
  is only used if a particular application must fulfil strong
  requirements regarding establishment delay. Otherwise, the ingress
  gateway should always perform overlap to en-bloc conversion.

7. Acknowledgments

  The authors would like to thank Jonathan Rosenberg, Olli Hynonen and
  Mike Pierce for their feedback on this document.

8. References

  [1] M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg, "SIP:
  Session Initiation Protocol", RFC 2543, IETF; March 1999.

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

  [3] G. Camarillo, A. Roach, J. Peterson, L. Ong, "ISUP to SIP
  Mapping", draft-ietf-sipping-isup-02.txt, IETF; May 2002. Work in
  progress.

  [4] "Signalling System No. 7 - ISDN User Part signalling procedures",
  ITU-T Q.764 recommendation, December 1999.

9. Authors³ Addresses

  Gonzalo Camarillo
  Ericsson
  Advanced Signalling Research Lab
  FIN-02420 Jorvas
  Finland
  Phone: +358 9 299 3371
  Fax: +358 9 299 3052
  Email: Gonzalo.Camarillo@ericsson.com

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

Camarillo/Roach/Peterson/Ong                                       7



              Mapping of ISUP Overlap Signalling to SIP


  E-Mail: <adam@dynamicsoft.com>
  Voice: <sip:adam@dynamicsoft.com>

  Jon Peterson
  NeuStar, Inc
  1800 Sutter St Suite 570
  Concord, CA 94520
  USA
  E-Mail: jon.peterson@neustar.com

  Lyndon Ong
  Ciena
  10480 Ridgeview Court
  Cupertino, CA 95014
  E-Mail: lyOng@ciena.com




  Full Copyright Statement

  Copyright (c) The Internet Society (2002). 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 assigns.

  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.















Camarillo/Roach/Peterson/Ong                                       8