Internet Draft James Yu Document: NeuStar, Inc. Category: Informational February 9, 2001 Extensions to the "tel" and "fax" URLs to Support Number Portability and Freephone Service Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026[1]. 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. To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Informational-Expiration on August 9, 2001 1 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service ABTRACT This document proposes some extensions to the "tel" and "fax" Uniform Resource Locators (URLs) for supporting number portability (NP) and freephone service. Those proposed extensions allow the Session Initiation Protocol (SIP) to carry those URLs or to convert those URLs to the SIP URL so as to support NP and freephone service. The proposed extensions allow the SIP protocol to be used to derive the routing number for the ported geographical numbers, identify the freephone service provider/carrier or the Plain Old Telephone Service (POTS) number for a freephone number, and carry the NP- and freephone-related information in the SIP messages. 1. Introduction Number portability (NP)[2] allows the telephone subscribers to keep their telephone numbers when they change service provider, move to a new location, or change the subscribed services. The NP implementations in many countries presently support service provider portability for geographic numbers and non-geographical numbers. It has been identified that NP has impacts on several works-in-progress at the IETF. One of the impacts is the need to carry the NP related information in the Session Initiation Protocol (SIP)[3] INVITE message after the NP database dip has been performed. Freephone service allows the called party to pay for the call by using special numbering blocks (e.g., 800, 888 and 877 number blocks in the U.S.) and requiring a translation from the numbers to the Plain Old Telephone Service (POTS) numbers. For countries that support freephone number portability using centralized databases to manage the number porting, the originating network usually performs a database dip to identify the freephone service provider/carrier that serves a particular freephone number so that it can route the freephone call to that freephone service provider/carrier. If the originating network is the freephone service provider for that freephone number or is authorized by the freephone service provider/carrier for that freephone number, it translates the freephone number to a POTS number or some proprietary routing information based on certain algorithms for call routing. This document proposes some extensions to the "tel" and "fax" Uniform Resource Locators (URLs)[4] for supporting NP and freephone service allowing the Session Initiation Protocol (SIP) to carry those URLs or to convert those URLs to the SIP URL. The proposed extensions may allow the SIP to be used to derive the routing number for the ported geographical numbers, to identify the freephone service provider/carrier or the Plain Old Telephone Service (POTS) number associate with a freephone number, and to carry the NP and freephone-related information in the SIP messages. Section 2 below lists the abbreviations used in this document. Sections 3 and 4 describe the need for the extensions to the "tel" Informational - Expiration in August 9, 2001 2 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service and "fax" URLs to support NP and freephone service, and those proposed extensions are detailed in sections 5 and 6. Section 7 gives a few examples as to how those proposed extensions are used. Section 8 discusses the signaling interworking. Section 9 lists the major changes from the previous version of this document followed by the conclusion. 2. Abbreviations ABNF Augmented Backus-Naur Form ANSI American National Standards Institute CIC Carrier Identification Code (also cic) CIP Carrier Identification parameter FCI Forward Call Indicator GAP Generic Address Parameter GSTN Global Switched Telephone Network IETF Internet Engineering Task Force IP Internet Protocol ISUP Integrated Services Digital Network User Part JIP Jurisdiction Information Parameter NP Number Portability NPDB Number Portability Database npdi NPDB dip indicator PNTI Ported Number Translation Indicator POTS Plain Old Telephone Service rn Routing Number SIP Session Initiation Protocol SIP-T SIP for Telephony SS7 Signaling System No. 7 TRIP Telephony Routing Information Protocol URI Uniform Resource Identifier URL Uniform Resource Locators 3. NP Support The NP-related information includes the dialed directory number, a routing number, an indicator that indicates whether a query to the NP Database (NPDB) has been performed, and a location number that identifies the location of the originating switch. The dialed called party number may be needed at the terminating switch so that the call can be terminated to the called party (e.g., a line card). The routing number allows the network, either the Global Switched Telephone Network (GSTN) or the Internet Protocol (IP)-based network, to route the call to the network or switch that currently serves the dialed called party number. The NPDB dip indicator informs the network entities downstream towards the terminating network (e.g., the network that currently serves the called party number) that NPDB dip has been performed; therefore, there is no need to dip the NPDB again. Informational - Expiration in August 9, 2001 3 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service Since the dialed directory number is already present in the "tel" or "fax" URL before the NPDB dip is performed, it stays at the same place (i.e., right after the "tel:" or "fax:"). Two new parameters are then required to support NP. The first parameter "rn," which stands for "routing number," carries the routing number used for call routing. This parameter can be used to carry any routing number information that is different from the directory number (e.g., carried right after the "tel:") even when NP is not involved. The second new parameter "npdi," which stands for "NPDB dip indicator," indicates whether NPDB dip has been performed. These two new parameters are added to the "tel" and "fax" URLs following the rules defined for "future-extension" for the "global- phone-number" and "local-phone-number." 4. Freephone Service Support The freephone-related information includes the dialed freephone number, the carrier identification code (CIC) that identifies the freephone service provider/carrier and the translated POTS number. The dialed freephone number after number translation may need to be passed to the called party for purposes such as customer account management. The CIC code is needed to identify the service provider/carrier that is to receive and process the freephone call. The translated POT number identifies the called party that is to receive the call. The translated POT number will be placed right after the "tel:" or "fax:" so there is no need for a new parameter to carry it. A new parameter "cic," which stands for carrier identification code, identifies the freephone service provider/carrier associated with the freephone number in question. If a country uses the CIC codes to identify the service providers/carriers that are not limited to the freephone service providers/carriers, this new parameter can also be used to identify those service providers/carriers even when freephone service is not involved. One example is the CIC dialed by the caller for selecting a specific inter-exchange carrier in the U.S. (e.g., 101XXXX). "cic" is added to the "tel" and "fax" URLs following the rules defined for "future-extension" for the "global-phone-number" and "local-phone-number." Informational - Expiration in August 9, 2001 4 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service 5. Proposed Extensions to the "tel" URL Scheme The proposed extensions are to be added to "global-phone-number" and "local-phone-number" based on Augmented Backus-Naur Form (ABNF)[5]. Only the impacted items and new items are shown below. global-phone-number = "+" base-phone-number [isdn-subaddress] [post-dial] *1(";" routing-number) ;new ext. *1(";" npdb-dip-indicator) ;new ext. *1(";" carrier-id-code) ;new ext. *(area-specifier / service-provider / future-extension) local-phone-number = 1*(phonedigit / dtmf-digit / pause-character) [isdn-subaddress] [post-dial] area-specifier *1(";" routing-number) ;new ext. *1(";" npdb-dip-indicator) ;new ext. *1(";" carrier-id-code) ;new ext. *(area-specifier / service-provider / future-extension) routing-number = rn-tag "=" *1("+") rn-ident rn-tag = "rn" rn-ident = *(hex excluding "F" / visual-separator) npdi-dip-indicator = npdi-tag "=" npdi-ident npdi-tag = "npdi" npdi-ident = "yes" / "no" carrier-id-code = cic-tag "=" *1("+") cic-ident cic-tag = "cic" cic-ident = *DIGIT It is assumed that national routing number may appear with other global-phone-number information and international routing number may appear with other local-phone-number information. The routing number digit can be any hexadecimal digit except the digit "F." The first 1-3 digits in the "cic" identify a country code. The rest of the digits identify a carrier ID code assigned in that country. The "rn," "npdi," and "cic" can appear at most once if present. The "cic" and/or "rn" may be removed when there is no need to carry it further in the call signaling messages. For example, when a freephone call reaches the freephone service provider/carrier serving that freephone number, the "cic" may no longer be needed when the call is to be routed to the called party or another network. Whether and when to remove the new parameters proposed in this document are outside the scope of this document. When the "rn" is present, the "npdi" may or may not be present. This is because that the routing number may be present independent of NP. When the "npdi" parameter is not present, it indicates that either NPDB dip has not been performed (equivalent to npdi=no) or NP is not relevant. If a SIP server is set to perform the NPDB queries Informational - Expiration in August 9, 2001 5 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service and if a received INVITE message does not contain "yes" in the "npdi" parameter, it will perform the NPDB query. The NPDB query is outside the scope of this document. The routing number received in the response (plus the "+" and the country code if a national number is received in the response) will replace the routing number in the "rn" parameter if present or will be used by the new "rn" parameter if "rn" parameter is not present. The "npdi" parameter will be set to "yes" in this case. The routing number can be a global routing number (e.g., with "+" and the country code plus the national number) or a local (e.g., network-specific) routing number. It is also possible that the SIP protocol can be used for the NP query. In that case, the response (e.g., 302 Moved) to the SIP message may carry the NP related information in the "tel" or "sip" URL format with the extensions proposed in this document. Although it may be very rare but it is possible to have the "cic," "rn" and POTS number all in the same "tel" URL. When all the three are present, the "cic" is used for call routing. A new address family in the Telephony Routing Information Protocol (TRIP)[6] needs to be defined. When only the "rn" and the POTS number are present, the "rn" is used for making routing decisions (e.g., check against the TRIP routing tables). If the "cic" and "rn" parameters are not present, the telephone number right after "tel:" is used for call routing. Please note that specific "cic" values can be reserved to indicate call routing information instead of a valid CIC that is assigned to a carrier. For example, a "cic" value of "0110" in a response from the freephone database in the U.S. indicates "local, translated number provided." In this particular case, the "cic" is ignored and the "rn" and the POTS number are used for call routing based on the rules described above. Please see section 8 for the discussion on the signaling interworking between the GSTN ISUP and SIP (e.g., "sip" or "tel" URL). 6. Proposed Extension to the "fax" URL Scheme The proposed extensions are to be added to "global-phone-number" and "local-phone-number" based on ABNF. Only the impacted items and new items are shown below. fax-global-phone = "+" base-phone-number [isdn-subaddress] [t33-subaddress] [post-dial] *1(";" routing-number) ;new ext. *1(";" npdb-dip-indicator) ;new ext. *1(";" carrier-id-code) ;new ext. *(area-specifier / service-provider / future-extension) fax-local-phone = 1*(phonedigit / dtmf-digit / pause-character) [isdn-subaddress] [t33-subaddress] [post-dial] Informational - Expiration in August 9, 2001 6 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service area-specifier *1(";" routing-number) ;new ext. *1(";" npdb-dip-indicator) ;new ext. *1(";" carrier-id-code) ;new ext. *(area-specifier / service-provider / future-extension) routing-number = rn-tag "=" *1("+") rn-ident rn-tag = "rn" rn-ident = *(hex excluding "F" / visual-separator) npdi-dip-indicator = npdi-tag "=" npdi-ident npdi-tag = "npdi" npdi-ident = "yes" / "no" carrier-id-code = cic-tag "=" *1("+") cic-ident cic-tag = "cic" cic-ident = *DIGIT The same discussions in Section 5 also apply to this section. 7. Examples 7.1 NP Examples To simply the examples and focus on the "tel" URL in the Request- URI, only the key information of the Request-Line in a SIP INVITE message is shown. A SIP server receives an INVITE message as shown below where +1-202-533-1234 is the dialed called party number and has been ported out of the donor network. INVITE tel:+1-202-533-1234 SIP/2.0 Assume that this SIP server is set to perform the NPDB query. Since this INVITE message does not contain the "npdi" parameter, this SIP server will perform a NPDB query. After receiving a successful response back from the queried NPDB, it formulates the following SIP INVITE message: INVITE tel:+1-202-533-1234;rn=+1-202-544-0000; npdi=yes SIP/2.0 This SIP server then uses the "rn" parameter to make the routing decisions (e.g., using the routing number in the "rn" parameter to check against the TRIP tables to determine the terminating GSTN gateway). The concept is that the "rn," if present, is used for making routing decisions, and the phone number after "tel:" is used for call routing only if the "rn" is not present. If the dialed called party number +1-202-533-1234 is not ported, the outbound SIP INVITE message may look like INVITE tel:+1-202-533-1234;npdi=yes SIP/2.0 Informational - Expiration in August 9, 2001 7 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service Please note that it is legal to include the "rn" for carrying the same called party number in the example described above; however, it is recommended not to include it to allow a simpler ISUP conversion, if encountered. 7.2 Freephone Service Examples To simply the examples and focus on the "tel" URL, only the key information of the Request-Line in a SIP INVITE message is shown. A SIP proxy server receives a call to a freephone number +1-800-123- 4567. After an interrogation with the freephone database, a CIC with a value of =+1-6789 is received ("+1" is added if not present in the response). The CIC is used to route the freephone call further to the freephone service provider/carrier identified by the CIC. Assume that the CIC code needs to be sent to the next SIP proxy server, the INVITE message would look like INVITE tel:+1-800-123-4567;cic=+1-6789 SIP/2.0 If the freephone number is mapped to a POTS number +1-202-256-1234 plus a cic of =+1-6789, the INVITE message would look like INVITE tel:+1-202-256-1234;cic==+1-6789 SIP/2.0 Please note that the translated POTS number is placed right after "tel:" after the number translation. Although the "To" header may contain the freephone number, there are cases where the freephone number (translated-from-number) may need to be passed in the tel URL or sip URL. It is for further study. 7.3 Conversion from "tel" URL to "sip" URL The SIP INVITE message contains a "Request-URI" element that is used by the SIP servers for making routing decisions. As indicated in [3], SIP servers may support Request-URIs with schemes other than "SIP," for example, the "tel" URI scheme. It is also known that anything that is defined for the "tel" URL can be converted to the SIP URL. Therefore, the sip URL can automatically support the proposed extensions to the "tel" URL to carry the NP- and freephone- related information. Since the "fax" URL may be used for fax calls, both the "tel" and "fax" URLs need to be enhanced to support NP and freephone service. Some enhancements to the SIP protocol may be required to fully support the NP and freephone service (e.g., to carry the "cic" information when the user portion does not carry a telephone number). Those are outside the scope of this document. Two examples are shown below to show how a "tel" URL is converted to a "sip" URL. Informational - Expiration in August 9, 2001 8 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service Example 1: A "tel" URL such as tel:+1-202-533-1234;rn=+1-202-544-0000;npdi=yes can be converted to a "sip" URL shown below. sip:+1-202-533-1234;rn=+1-202-5443-0000; npdi=yes@sip.abc.com;user=phone Example 2: A "tel" URL such as tel:+1-800-123-4567;cic=+1-6789 can be converted to a "sip" URL shown below. sip:+1-800-123-4567;cic=+1-6789@sip.xyz.com;user=phone 8. Interworking Between GSTN ISUP and SIP It is possible that interworking between SIP and Signaling System No. 7 (SS7) Integrated Services Digital Network User Part (ISUP) is required at the border between the GSTN and the IP-based network. For SIP to GSTN interworking and depending on the national ISUP support of NP and freephone service, the information in the "tel" URL are mapped/carried in the proper ISUP parameters. Some possible mapping are briefly described here; however, the exact mapping between the SIP and ISUP are defined by the "SIP for Telephony" (SIP-T)[7,8], a mechanism that uses SIP to facilitate the interconnection of the GSTN with IP. It is assumed that all the NP- and freephone-related parameters are present to simplify the discussion. The interworking rules may be different if some parameters are not present. For the GSTN in the U.S., the routing number in the "rn" parameter is carried in the ISUP Called Party Number parameter. The phone number after "tel:" is carried in the ISUP Generic Address Parameter (GAP) as the "ported number." National numbers are usually carried (e.g., without the "+" and the country code) in the ISUP parameter. The "npdi" parameter that contains "yes" causes the Ported Number Translation Indicator (PNTI) bit in the Forward Call Indicator (FCI) parameter to be set to "1." If the terminating GSTN supports concatenated routing number and directory number (e.g., in Europe), then the routing number and the POTS number may be concatenated and put in the ISUP Called Party Number parameter. The Nature of Address value will be set according to the terminating GSTN's ISUP/NP standards (e.g., a special value is assigned to indicate concatenated numbers). If to be carried further the "cic" can be mapped to the ISUP Carrier Identification Parameter (CIP). For GSTN to IP interworking, when the ISUP signaling contains the NP related information, the NP related information is mapped to the "tel" URL. This happens for domestic calls where the originating Informational - Expiration in August 9, 2001 9 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service GSTN has performed the NPDB query, or for international calls that have arrived at the terminating country's GSTN where that GSTN has performed the NPDB query. It is assumed that the GSTN routes the call via the IP-based network to the terminating switch or network in the same country, and SIP and ISUP interworking is involved. For the GSTN in the U.S., the interworking is straightforward. The PNTI bit in the ISUP FCI parameter of "1" will set "npdi" to "yes," the number in the Called Party Number parameter plus the "+" and the country code, if a global routing number, is carried in the "rn" parameter, and the called party number in the Generic Address Parameter plus the "+" and the country code, if a global phone number, appears after "tel:". For GSTN that supports concatenated routing number and directory number (e.g., in some European countries), the IP entity that performs the interworking may need to know the routing number used by the GSTN so that the routing number and the directory number in the concatenated format in the ISUP Called Party Number parameter can be separated and transported in the "rn" parameter and after "tel:" by adding the "+" and the country code to them if they are global routing number and phone number. It is also possible to simply put the ISUP Called Party Number (with "+" and country code for a global phone number) after "tel:" without separating out the routing number and POTS number. The possible mapping between the American National Standards Institute (ANSI) ISUP and "tel" URL are summarized below. It is assumed that all the information involved in the discussion is in the signaling message to simplify the discussion. As indicated earlier, SIP-T is the one that defines the exact mapping. _+----------------------------------+----------------------+ | ANSI ISUP | "tel" URL | _+==================================+======================+ | Called Party Number | rn | +----------------------------------+----------------------+ | "ported number" in | POTS number after | | Generic Address Parameter | "tel:" | +----------------------------------+----------------------+ | Ported Number Translation | | | Indicator bit set in the | npdi=yes | | Forward Call Indicator | | +----------------------------------+----------------------+ | Carrier Identification Parameter | cic | +----------------------------------+----------------------+ Informational - Expiration in August 9, 2001 10 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service 9. Major Changes from the Previous Version The major changes from version draft-yu-tel-url-01.txt are: - "originating location number" or "oln" is removed. - "translated-from-number" or "tfn" is removed. The author is exploring the agreed SIP extensions or some proposed SIP extensions to carry the above information. 10. Conclusion This Internet Draft proposes some extensions to the "tel" and "fax" URLs described in [4] to allow the SIP protocol to carry the NP- and freephone service-related information in the "tel" and "fax" URLs. There are several places in the SIP messages where URLs can be carried. For example, each Contact header in the "302 Moved" response can carry one URL. The extensions proposed in this document also apply to the "tel" or "sip" URL at those places in addition to the SIP Request-URI element. With those extensions, people surely will come up innovative ways of using SIP to support many of the existing and new services. If those proposed extensions are agreed, it is proposed to follow the standardization process to issue this document as a RFC. REFERENCES [1] Scott Bradner, RFC2026, "The Internet Standards Process -- Revision 3," October 1996. [2] M. Foster, T. McGarry and J. Yu, "Number Portability in the GSTN: An Overview," draft-foster-e164-gstn-np-01.txt, July 2000. [3] M. Handley, H. Schulzrinne, E. Schooler and J. Rosenberg, "SIP: Session Initiation Protocol," draft--ietf-sip-rfc2543bis-00.ps, May 2000. [4] A. Vaha-Sipila, "URLs for Telephone Calls (RFC 2806bis)," draft- antti-rfc2806bis-00.txt, October 26, 2000. [5] D. Crocker and P. Overell, "Augmented BNF for Syntax Specifications: ABNF," RFC 2234, November 1997. [6] J. Rosenberg, H. Salama and M. Squire, draft-ietf-iptel-trip- 02.txt, "Telephony Routing Information Protocol (TRIP)," May 2000. [7] A. Vemuri and J. Peterson, draft-vemuri-sip-t-context-00.txt, "SIP for Telephones (SIP-T): Context and Architectures," July 14, 2000. Informational - Expiration in August 9, 2001 11 Extension to the "tel" and "fax" URLs to Support February 9, 2001 NP and Freephone Service [8] F. Camarillo and A. Roach, draft-camarillo-sip-isup-bcp-00.txt, "Best Current Practice for ISUP to SIP Mapping," March 2000. ACKNOWLEDGEMENT The author would like to thank Penn Pfautz, Jon Peterson, Jonathan Rosenberg, Henning Schulzrinne and Antti Vaha-Sipila for the discussion of SIP support of NP and freephone service and ISUP interworking. Authors' Address James Yu NeuStar, Inc. 1120 Vermont Avenue, NW, Suite 550 Washington, D.C., 20005 U.S.A. Phone: +1-202-533-2814 Email: james.yu@neustar.com Full Copyright Statement "Copyright (C) The Internet Society (date). 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. Informational - Expiration in August 9, 2001 12