Internet Engineering Task Force Gonzalo Camarillo Internet draft Adam Roach Ericsson January 2002 Expires: July 2002 Jon Peterson NeuStar Lyndon Ong Ciena Mapping of ISUP Overlap Signalling to SIP 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. 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 Conclusions..................................................6 6 Acknoledgements..............................................7 7 References...................................................7 8 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 (i.e. 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. Camarillo/Roach/Peterson/Ong 2 Mapping of ISUP Overlap Signalling to SIP 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). 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. 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 CAS signalling and en-bloc ISUP. PSTN switches usually implement an equivalent proprietary timer to convert overlap ISUP to en-bloc ISUP. This Camarillo/Roach/Peterson/Ong 3 Mapping of ISUP Overlap Signalling to SIP document uses T10 and does not define a new timer because T10 seems suitable for overlap to SIP conversion. 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]. 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---------->| | | | Camarillo/Roach/Peterson/Ong 4 Mapping of ISUP Overlap Signalling to SIP |-----------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 just 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------------| | 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. A ingress gateway may use overlap signalling in SIP 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. 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. Camarillo/Roach/Peterson/Ong 5 Mapping of ISUP Overlap Signalling to SIP 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. 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 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 Camarillo/Roach/Peterson/Ong 6 Mapping of ISUP Overlap Signalling to SIP 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 the same dialog because they 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. 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. Conclusions The mechanism described in this document is intended to be used in a close environment. Using it in an open network such as the Internet would cause problems such as multiple IAMs generated. If this mechanism was used with telephone numbers that belong to an en-bloc zone, calls could end up reaching a different callee than the one who was supposed to receive the call. 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. 6. Acknowledgments The authors would like to thank Jonathan Rosenberg, Olli Hynonen and Mike Pierce for their feedback on this document. 7. References Camarillo/Roach/Peterson/Ong 7 Mapping of ISUP Overlap Signalling to SIP [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-sip-isup-01.txt, IETF; May 2001. Work in progress. 8. 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 Ericsson Inc. Mailstop L-04 851 International Pkwy. Richardson, TX 75081 USA Phone: +1 972-583-7594 Fax: +1 972-669-0154 E-Mail: Adam.Roach@ericsson.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 (2001). All Rights Reserved. Camarillo/Roach/Peterson/Ong 8 Mapping of ISUP Overlap Signalling to SIP 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 9