diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc3966.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc3966.txt')
-rw-r--r-- | doc/rfc/rfc3966.txt | 955 |
1 files changed, 955 insertions, 0 deletions
diff --git a/doc/rfc/rfc3966.txt b/doc/rfc/rfc3966.txt new file mode 100644 index 0000000..36fe262 --- /dev/null +++ b/doc/rfc/rfc3966.txt @@ -0,0 +1,955 @@ + + + + + + +Network Working Group H. Schulzrinne +Request for Comments: 3966 Columbia University +Obsoletes: 2806 December 2004 +Category: Standards Track + + + The tel URI for Telephone Numbers + +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 (2004). + +Abstract + + This document specifies the URI (Uniform Resource Identifier) scheme + "tel". The "tel" URI describes resources identified by telephone + numbers. This document obsoletes RFC 2806. + +Table of Contents + + 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2 + 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 3. URI Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 4. URI Comparisons . . . . . . . . . . . . . . . . . . . . . . . 6 + 5. Phone Numbers and Their Context . . . . . . . . . . . . . . . 6 + 5.1. Phone Numbers. . . . . . . . . . . . . . . . . . . . . 6 + 5.1.1. Separators in Phone Numbers . . . . . . . . . . 7 + 5.1.2. Alphabetic Characters Corresponding to Digits . 7 + 5.1.3. Alphabetic, *, and # Characters as Identifiers. 7 + 5.1.4. Global Numbers. . . . . . . . . . . . . . . . . 7 + 5.1.5. Local Numbers . . . . . . . . . . . . . . . . . 8 + 5.2. ISDN Subaddresses. . . . . . . . . . . . . . . . . . . 9 + 5.3. Phone Extensions . . . . . . . . . . . . . . . . . . . 10 + 5.4. Other Parameters . . . . . . . . . . . . . . . . . . . 10 + 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 7. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 7.1. Why Not Just Put Telephone Numbers in SIP URIs?. . . . 11 + 7.2. Why Not Distinguish between Call Types?. . . . . . . . 11 + 7.3. Why tel. . . . . . . . . . . . . . . . . . . . . . . . 11 + 7.4. Do Not Confuse Numbers with How They Are Dialed. . . . 11 + + + +Schulzrinne Standards Track [Page 1] + +RFC 3966 The tel URI December 2004 + + + 8. Usage of Telephone URIs in HTML . . . . . . . . . . . . . . . 11 + 9. Use of "tel" URIs with SIP (Informative). . . . . . . . . . . 12 + 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 + 11. Security Considerations . . . . . . . . . . . . . . . . . . . 14 + 12. Changes Since RFC 2806. . . . . . . . . . . . . . . . . . . . 14 + 13. References. . . . . . . . . . . . . . . . . . . . . . . . . . 15 + 13.1. Normative References . . . . . . . . . . . . . . . . . 15 + 13.2. Informative References . . . . . . . . . . . . . . . . 16 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 16 + Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 17 + +1. Introduction + + This document defines the URI scheme "tel", which describes resources + identified by telephone numbers. A telephone number is a string of + decimal digits that uniquely indicates the network termination point. + The number contains the information necessary to route the call to + this point. (This definition is derived from [E.164] but encompasses + both public and private numbers.) + + The termination point of the "tel" URI telephone number is not + restricted. It can be in the public telephone network, a private + telephone network, or the Internet. It can be fixed or wireless and + address a fixed wired, mobile, or nomadic terminal. The terminal + addressed can support any electronic communication service (ECS), + including voice, data, and fax. The URI can refer to resources + identified by a telephone number, including but not limited to + originators or targets of a telephone call. + + The "tel" URI is a globally unique identifier ("name") only; it does + not describe the steps necessary to reach a particular number and + does not imply dialling semantics. Furthermore, it does not refer to + a specific physical device, only to a telephone number. + + As commonly understood, telephone numbers comprise two related but + distinct concepts: a canonical address-of-record and a dial string. + We define the concepts below: + + Address-of-record or identifier: The telephone number is understood + here as the canonical address-of-record or identifier for a + termination point within a specific network. For the public + network, these numbers follow the rules in E.164 [E.164], while + private numbers follow the rules of the owner of the private + numbering plan. Subscribers publish these identifiers so that + they can be reached, regardless of the location of the caller. + (Naturally, not all numbers are reachable from everywhere, for a + + + + + +Schulzrinne Standards Track [Page 2] + +RFC 3966 The tel URI December 2004 + + + variety of technical and local policy reasons. Also, a single + termination point may be reachable from different networks and may + have multiple identifiers.) + + Dial string: "Dial strings" are the actual numbers, symbols, and + pauses entered by a user to place a phone call. A dial string is + consumed by one or more network entities and understood in the + context of the configuration of these entities. It is used to + generate an address-of-record or identifier (in the sense + described above) so that a call can be routed. Dial strings may + require prepended digits to exit the private branch exchange (PBX) + the end system is connected to, and they may include post-dial + dual-tone multi-frequency (DTMF) signaling that could control an + interactive voice response (IVR) system or reach an extension. + Dial strings are beyond the scope of this document. + + Both approaches can be expressed as a URI. For dial strings, this + URI is passed to an entity that can reproduce the actions specified + in the dial string. For example, in an analog phone system, a dialer + translates the dial string into a sequence of actions such as waiting + for dial tone, sending DTMF digits, pausing, and generating post-dial + DTMF digits after the callee picks up. In an integrated services + digital network (ISDN) or ISDN user part (ISUP) environment, the + signaling elements that receive protocol messages containing the dial + string perform the appropriate protocol actions. As noted, this + approach is beyond the scope of this specification. + + The approach described here has the URI specify the telephone number + as an identifier, which can be either globally unique or only valid + within a local context. The dialling application is aware of the + local context, knowing, for example, whether special digits need to + be dialed to seize an outside line; whether network, pulse, or tone + dialling is needed; and what tones indicate call progress. The + dialling application then converts the telephone number into a dial + sequence and performs the necessary signaling actions. The dialer + does not have to be a user application as found in traditional + desktop operating systems but could well be part of an IP-to-PSTN + gateway. + + To reach a telephone number from a phone on a PBX, for example, the + user of that phone has to know how to convert the telephone number + identifier into a dial string appropriate for that phone. The + telephone number itself does not convey what needs to be done for a + particular terminal. Instructions may include dialling "9" before + placing a call or prepending "00" to reach a number in a foreign + country. The phone may also need to strip area and country codes. + + + + + +Schulzrinne Standards Track [Page 3] + +RFC 3966 The tel URI December 2004 + + + The identifier approach described in this document has the + disadvantage that certain services, such as electronic banking or + voicemail, cannot be specified in a "tel" URI. + + The notation for phone numbers in this document is similar to that in + RFC 3191 [RFC3191] and RFC 3192 [RFC3192]. However, the syntax + differs as this document describes URIs whereas RFC 3191 and RFC 3192 + specify electronic mail addresses. RFC 3191 and RFC 3192 use "/" to + indicate parameters (qualifiers). Since URIs use the forward slash + to describe path hierarchy, the URI scheme described here uses the + semicolon, in keeping with Session Initiation Protocol (SIP) URI + conventions [RFC3261]. + + The "tel" URI can be used as a request URI in SIP [RFC3261] requests. + The SIP specification also inherits the 'subscriber' part of the + syntax as part of the 'user element' in the SIP URI. Other protocols + may also use this URI scheme. + + The "tel" URI does not specify the call type, such as voice, fax, or + data call, and does not provide the connection parameters for a data + call. The type and parameters are assumed to be negotiated either + in-band by the telephone device or through a signaling protocol such + as SIP. + + This document obsoletes RFC 2806. + +2. Terminology + + In this document, the key words "MUST", "MUST NOT", "REQUIRED", + "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", + and "OPTIONAL" are to be interpreted as described in BCP 14, RFC + 2119, [RFC2119] and indicate requirement levels for compliant + implementations. + +3. URI Syntax + + The URI is defined using the ABNF (augmented Backus-Naur form) + described in RFC 2234 [RFC2234] and uses elements from the core + definitions (appendix A of RFC 2234). + + The syntax definition follows RFC 2396 [RFC2396], indicating the + actual characters contained in the URI. If the reserved characters + "+", ";", "=", and "?" are used as delimiters between components of + the "tel" URI, they MUST NOT be percent encoded. These characters + MUST be percent encoded if they appear in tel URI parameter values. + + + + + + +Schulzrinne Standards Track [Page 4] + +RFC 3966 The tel URI December 2004 + + + Characters other than those in the "reserved" and "unsafe" sets (see + RFC 2396 [RFC2396]) are equivalent to their "% HEX HEX" percent + encoding. + + The "tel" URI has the following syntax: + + telephone-uri = "tel:" telephone-subscriber + telephone-subscriber = global-number / local-number + global-number = global-number-digits *par + local-number = local-number-digits *par context *par + par = parameter / extension / isdn-subaddress + isdn-subaddress = ";isub=" 1*uric + extension = ";ext=" 1*phonedigit + context = ";phone-context=" descriptor + descriptor = domainname / global-number-digits + global-number-digits = "+" *phonedigit DIGIT *phonedigit + local-number-digits = + *phonedigit-hex (HEXDIG / "*" / "#")*phonedigit-hex + domainname = *( domainlabel "." ) toplabel [ "." ] + domainlabel = alphanum + / alphanum *( alphanum / "-" ) alphanum + toplabel = ALPHA / ALPHA *( alphanum / "-" ) alphanum + parameter = ";" pname ["=" pvalue ] + pname = 1*( alphanum / "-" ) + pvalue = 1*paramchar + paramchar = param-unreserved / unreserved / pct-encoded + unreserved = alphanum / mark + mark = "-" / "_" / "." / "!" / "~" / "*" / + "'" / "(" / ")" + pct-encoded = "%" HEXDIG HEXDIG + param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$" + phonedigit = DIGIT / [ visual-separator ] + phonedigit-hex = HEXDIG / "*" / "#" / [ visual-separator ] + visual-separator = "-" / "." / "(" / ")" + alphanum = ALPHA / DIGIT + reserved = ";" / "/" / "?" / ":" / "@" / "&" / + "=" / "+" / "$" / "," + uric = reserved / unreserved / pct-encoded + + Each parameter name ("pname"), the ISDN subaddress, the 'extension', + and the 'context' MUST NOT appear more than once. The 'isdn- + subaddress' or 'extension' MUST appear first, if present, followed by + the 'context' parameter, if present, followed by any other parameters + in lexicographical order. + + This simplifies comparison when the "tel" URI is compared + character by character, such as in SIP URIs [RFC3261]. + + + + +Schulzrinne Standards Track [Page 5] + +RFC 3966 The tel URI December 2004 + + +4. URI Comparisons + + Two "tel" URIs are equivalent according to the following rules: + + o Both must be either a 'local-number' or a 'global-number', i.e., + start with a '+'. + o The 'global-number-digits' and the 'local-number-digits' must be + equal, after removing all visual separators. + o For mandatory additional parameters (section 5.4) and the 'phone- + context' and 'extension' parameters defined in this document, the + 'phone-context' parameter value is compared as a host name if it + is a 'domainname' or digit by digit if it is 'global-number- + digits'. The latter is compared after removing all 'visual- + separator' characters. + o Parameters are compared according to 'pname', regardless of the + order they appeared in the URI. If one URI has a parameter name + not found in the other, the two URIs are not equal. + o URI comparisons are case-insensitive. + + All parameter names and values SHOULD use lower-case characters, as + tel URIs may be used within contexts where comparisons are case + sensitive. + + Section 19.1.4 in the SIP specification [RFC3261] discusses one such + case. + +5. Phone Numbers and Their Context + +5.1. Phone Numbers + + The 'telephone-subscriber' part of the URI indicates the number. The + phone number can be represented in either global (E.164) or local + notation. All phone numbers MUST use the global form unless they + cannot be represented as such. Numbers from private numbering plans, + emergency ("911", "112"), and some directory-assistance numbers + (e.g., "411") and other "service codes" (numbers of the form N11 in + the United States) cannot be represented in global (E.164) form and + need to be represented as a local number with a context. Local + numbers MUST be tagged with a 'phone-context' (section 5.1.5). + + Implementations MUST NOT assume that telephone numbers have a + maximum, minimum, or fixed length, or that they always begin with or + contain certain digits. + + + + + + + + +Schulzrinne Standards Track [Page 6] + +RFC 3966 The tel URI December 2004 + + +5.1.1. Separators in Phone Numbers + + Phone numbers MAY contain visual separators. Visual separators + ('visual-separator') merely aid readability and are not used for URI + comparison or placing a call. + + Although it complicates comparisons, this specification retains + visual separators in order to follow the spirit of RFC 2396 + [RFC2396], which remarks that "A URI often needs to be remembered by + people, and it is easier for people to remember a URI when it + consists of meaningful components". Also, ISBN URNs documented in + RFC 3187 [RFC3187] use visual separators in a manner similar to this + specification. + + However, even though ITU-T E.123 [E.123] recommends the use of space + characters as visual separators in printed telephone numbers, "tel" + URIs MUST NOT use spaces in visual separators to avoid excessive + escaping. + +5.1.2. Alphabetic Characters Corresponding to Digits + + In some countries, it is common to write phone numbers with + alphabetic characters corresponding to certain numbers on the + telephone keypad. The URI format does not support this notation, as + the mapping from alphabetic characters to digits is not completely + uniform internationally, although there are standards [E.161][T1.703] + addressing this issue. + +5.1.3. Alphabetic, *, and # Characters as Identifiers + + As called and calling terminal numbers (TNs) are encoded in BCD in + ISUP, six additional values per digit can be encoded, sometimes + represented as the hexadecimal characters A through F. Similarly, + DTMF allows for the encoding of the symbols *, #, and A through D. + However, in accordance with E.164, these may not be included in + global numbers. Their meaning in local numbers is not defined here, + but they are not prohibited. + +5.1.4. Global Numbers + + Globally unique numbers are identified by the leading "+" character. + Global numbers MUST be composed with the country (CC) and national + (NSN) numbers as specified in E.123 [E.123] and E.164 [E.164]. + Globally unique numbers are unambiguous everywhere in the world and + SHOULD be used. + + + + + + +Schulzrinne Standards Track [Page 7] + +RFC 3966 The tel URI December 2004 + + +5.1.5. Local Numbers + + Local numbers are unique only within a certain geographical area or a + certain part of the telephone network, e.g., a private branch + exchange (PBX), a state or province, a particular local exchange + carrier, or a particular country. URIs with local phone numbers + should only appear in environments where all local entities can + successfully set up the call by passing the number to the dialling + software. Digits needed for accessing an outside line, for example, + are not included in local numbers. Local numbers SHOULD NOT be used + unless there is no way to represent the number as a global number. + + Local numbers SHOULD NOT be used for several reasons. Local numbers + require that the originator and recipient are configured + appropriately so that they can insert and recognize the correct + context descriptors. Since there is no algorithm to pick the same + descriptor independently, labelling numbers with their context + increases the chances of misconfiguration so that valid identifiers + are rejected by mistake. The algorithm to select descriptors was + chosen so that accidental collisions would be rare, but they cannot + be ruled out. + + Local numbers MUST have a 'phone-context' parameter that identifies + the scope of their validity. The parameter MUST be chosen to + identify the local context within which the number is unique + unambiguously. Thus, the combination of the descriptor in the + 'phone-context' parameter and local number is again globally unique. + The parameter value is defined by the assignee of the local number. + It does NOT indicate a prefix that turns the local number into a + global (E.164) number. + + There are two ways to label the context: via a global number or any + number of its leading digits (e.g., "+33") and via a domain name, + e.g., "houston.example.com". The choice between the two is left to + the "owner" of the local number and is governed by whether there is a + global number or domain name that is a valid identifier for a + particular local number. + + The domain name does not have to resolve to any actual host but MUST + be under the administrative control of the entity managing the local + phone context. + + A global number context consists of the initial digits of a valid + global number. All global numbers with these initial digits must be + assigned to the same organization, and no such matching number can be + used by any other organization. For example, +49-6151-16 would be a + suitable context for the Technical University of Darmstadt, as it + uses all numbers starting with those digits. If such an initial + + + +Schulzrinne Standards Track [Page 8] + +RFC 3966 The tel URI December 2004 + + + string of digits does not exist, the organization SHOULD use the + lowest number of the global number range assigned to it. (This can + occur if two organizations share the same decimal block of numbers. + For example, assume an organization owns the number range +1-212- + 555-0100 through +1-212-555-0149. +1-212-555-1 would not be a valid + global number context, but +1-212-555-0100 would work.) It is not + required that local numbers within the context actually begin with + the chosen set of initial numbers. + + A context consisting of the initial digits of a global number does + not imply that adding these to the local number will generate a valid + E.164 number. It might do so by coincidence, but this cannot be + relied upon. (For example, "911" should be labeled with the context + "+1", but "+1-911" is not a valid E.164 number.) + + National freephone numbers do not need a context, even though they + are not necessarily reachable from outside a particular country code + or numbering plan. Recall that "tel" URIs are identifiers; it is + sufficient that a global number is unique, but it is not required + that it be reachable from everywhere. + + Even non-freephone numbers may be out of date or may not be + reachable from a particular location. For example, premium + services such as "900" numbers in the North American numbering + plan are often not dialable from outside the particular country + code. + + The two label types were chosen so that, in almost all cases, a + local administrator can pick an identifier that is reasonably + descriptive and does not require a new IANA-managed assigned + number. It is up to the administrator to assign an appropriate + identifier and to use it consistently. Often, an organization can + choose among several different identifiers. + + If the recipient of a "tel" URI uses it simply for identification, + the receiver does not need to know anything about the context + descriptor. It simply treats it as one part of a globally unique + identifier, with the other being the local number. If a recipient of + the URI intends to place a call to the local number, it MUST + understand the context and be able to place calls within that + context. + +5.2. ISDN Subaddresses + + A phone number MAY also contain an 'isdn-subaddress' parameter that + indicates an ISDN subaddress. + + + + + +Schulzrinne Standards Track [Page 9] + +RFC 3966 The tel URI December 2004 + + + ISDN subaddresses typically contain International Alphabet 5 (IA5 + [T.50]) characters but may contain any octet value. + +5.3. Phone Extensions + + Phone extensions identify stations behind a non-ISDN PBX and are + functionally roughly equivalent to ISDN subaddresses. They are + identified with the 'extension' parameter. At most, one of the + 'isdn-subaddress' and 'extension' parameters can appear in a "tel" + URI, i.e., they cannot appear both at the same time. + +5.4. Other Parameters + + Future protocol extensions to this URI scheme may add other + parameters ('parameter' in the ABNF). Such parameters can be either + mandatory or optional. Mandatory parameters start with "m-". An + implementation MAY ignore optional parameters and MUST NOT use the + URI if it contains unknown mandatory parameters. The "m-" prefix + cannot be added to parameters that were already registered (except to + create a new, logically distinct parameter). The "phone-context" + parameter in this document is mandatory, and "isub" and "ext" are + optional. + + New mandatory parameters must be described in a standards-track RFC, + but an informational RFC is sufficient for optional parameters. + + For example, 'parameter' parameters can be used to store + application-specific additional data about the phone number, its + intended use, or any conversions that have been applied to the + number. + + Entities that forward protocol requests containing "tel" URIs with + optional parameters MUST NOT delete or modify parameters they do not + understand. + +6. Examples + + tel:+1-201-555-0123: This URI points to a phone number in the United + States. The hyphens are included to make the number more human + readable; they separate country, area code and subscriber number. + + tel:7042;phone-context=example.com: The URI describes a local phone + number valid within the context "example.com". + + tel:863-1234;phone-context=+1-914-555: The URI describes a local + phone number that is valid within a particular phone prefix. + + + + + +Schulzrinne Standards Track [Page 10] + +RFC 3966 The tel URI December 2004 + + +7. Rationale + +7.1. Why Not Just Put Telephone Numbers in SIP URIs? + + The "tel" URI describes a service, reaching a telephone number, that + is independent of the means of doing so, be it via a SIP-to-PSTN + gateway, a direct SIP call via E.164 number ("ENUM") translation + [RFC3761], some other signaling protocols such as H.323, or a + traditional circuit-switched call initiated on the client side via, + say, the Telephony Application Programming Interface (TAPI). Thus, + in spirit, it is closer to the URN schemes that also leave the + resolution to an external mechanism. The same "tel" URI may get + translated to any number of other URIs in the process of setting up + the call. + +7.2. Why Not Distinguish between Call Types? + + Signaling protocols such as SIP allow negotiating the call type and + parameters, making the very basic indication within the URI scheme + moot. Also, since the call type can change frequently, any such + indication in a URI is likely to be out of date. If such designation + is desired for a device that directly places calls without a + signaling protocol such as SIP, mechanisms such as the "type" + attribute for the "A" element in HTML may be more appropriate. + +7.3. Why "tel"? + + "tel" was chosen because it is widely recognized that none of the + other suggestions appeared appropriate. "Callto" was discarded + because URI schemes locate a resource and do not specify an action to + be taken. "Telephone" and "phone" were considered too long and not + easily recognized internationally. + +7.4. Do Not Confuse Numbers with How They Are Dialed + + As an example, in many countries the E.164 number "+1-212-555-3141" + will be dialed as 00-1-212-555-3141, where the leading "00" is a + prefix for international calls. (In general, a "+" symbol in E.164 + indicates that an international prefix is required.) + +8. Usage of Telephone URIs in HTML + + Links using the "tel" URI SHOULD enclose the telephone number so that + users can easily predict the action taken when following the link + + Dial <a href="tel:+1-212-555-0101">+1-212-555-0101</a> for + assistance. + + + + +Schulzrinne Standards Track [Page 11] + +RFC 3966 The tel URI December 2004 + + + instead of + + Dial <a href="tel:+1-212-555-0101">this number</a> for assistance. + + On a public HTML page, the telephone number in the URI SHOULD always + be in the global form, even if the text of the link uses some local + format: + + Telephone (if dialling in the United States): + <a href="tel:+1-201-555-0111">(201) 555-0111</a> + + or even + + For having RFCs read aloud, call <a + href="tel:+1-555-438-3732">1-555-IETF-RFC</a>. + +9. Use of "tel" URIs with SIP (Informative) + + SIP can use the "tel" URI anywhere a URI is allowed, for example as a + Request-URI, along with "sip" and "sips" URIs. For brevity, we will + imply "sips" URIs when talking about SIP URIs. Both "tel" and SIP + URIs can contain telephone numbers. In SIP URIs, they appear as the + user part, i.e., before the @ symbol (section 19.1.6 in [RFC3261]). + + Unless a SIP UA connects directly to a PSTN gateway, one of the SIP + proxy servers has to translate the "tel" URI to a SIP URI, with the + host part of that URI pointing to a gateway. Typically, the outbound + proxy server, as the first proxy server visited by a call request, + performs this translation. A proxy server can translate all "tel" + URIs to the same SIP host name or select a different gateway for + different "tel" prefixes, based, for example, on information learned + from TRIP [RFC3219]. However, a proxy server could also delegate + this translation task to any other proxy server, as proxy servers are + free to apply whatever routing logic they desire. For local numbers, + the proxy MUST NOT translate "tel" URIs whose contexts it does not + understand. + + As noted earlier, all phone numbers MUST use the global form unless + they cannot be represented as such. If the local-number format is + used, it MUST be qualified by the 'phone-context' parameter. + Effectively, the combination of local number and phone context makes + the "tel" URI globally unique. + + Although web pages, vCard business cards, address books, and + directories can easily contain global "tel" URIs, users on twelve- + button (IP) phones cannot dial such numbers directly and are + typically accustomed to dialling shorter strings, e.g., for PBX + extensions or local numbers. These so-called dial strings (section + + + +Schulzrinne Standards Track [Page 12] + +RFC 3966 The tel URI December 2004 + + + 1) are not directly represented by "tel" URIs, as noted. We refer to + the rules that govern the translation of dial strings into SIP and + "tel" URIs, global or local, as the dial plan. Currently, + translations from dial strings to "tel" URIs have to take place in + end systems. Future efforts may provide means to carry dial strings + in a SIP URI, for example, but no such mechanisms exist as of this + writing. + + A SIP UA can use a dial plan to translate dial strings into SIP or + "tel" URIs. The dial plan can be manually configured or, preferably, + downloaded as part of a device configuration mechanism. (At this + time, there is no standardized mechanism for this.) + + A mobile user can use at least two dial plans, namely the dial plan + for the network that he is currently visiting and the dial plan for + his home network. Generally, dialed numbers meant to represent + global numbers will look the same after the translation regardless of + the dial plan, even if, say, the visited network uses '0' for + dialling an 'outside' number and the user's home network uses '9', as + long as the user is aware of the current dial plan. However, local + extensions without a direct global equivalent may well behave + differently. To avoid any ambiguity, the dial plan MUST insert a + suitable 'phone-context' string when performing the translation. If + the 'phone-context' is a domain name, there are three cases: + + 1. The outbound proxy recognizes the domain name in the "tel" or SIP + URI as its local context and can route the request to a gateway + that understands the local number. + + 2. The outbound proxy does not use the same phone context but can + route to a proxy that handles this phone context. This routing + can be done via a lookup table, or the domain name of the phone + context might be set up to reflect the SIP domain name of a + suitable proxy. For example, a proxy may always route calls with + "tel" URIs like + + tel:1234;phone-context=munich.example.com + + to the SIP proxy located at munich.example.com. (Proxies + receiving a tel URI with a context they do not understand are + obligated to return a 404 (Not Found) status response so that an + outbound proxy may decide to attempt such a heuristic.) + + 3. The outbound proxy does not recognize the phone context and + cannot find the appropriate proxy for that phone context. In + that case, the translation fails, and the outbound proxy returns + a 404 (Not Found) error response. + + + + +Schulzrinne Standards Track [Page 13] + +RFC 3966 The tel URI December 2004 + + +10. Acknowledgments + + This document is derived from RFC 2806 [RFC2806], written by Antti + Vaehae-Sipilae. Mark Allman, Flemming Andreasen, Francois Audet, + Lawrence Conroy, Cullen Jennings, Michael Hammer, Paul Kyzivat, + Andrew Main, Xavier Marjou, Jon Peterson, Mike Pierce, Jonathan + Rosenberg, and James Yu provided extensive comments. + +11. Security Considerations + + The security considerations parallel those for the mailto URL + [RFC2368]. + + Web clients and similar tools MUST NOT use the "tel" URI to place + telephone calls without the explicit consent of the user of that + client. Placing calls automatically without appropriate user + confirmation may incur a number of risks, such as those described + below: + + o Calls may incur costs. + o The URI may be used to place malicious or annoying calls. + o A call will take the user's phone line off-hook, thus preventing + its use. + o A call may reveal the user's possibly unlisted phone number to the + remote host in the caller identification data and may allow the + attacker to correlate the user's phone number with other + information, such as an e-mail or IP address. + + This is particularly important for "tel" URIs embedded in HTML links, + as a malicious party may hide the true nature of the URI in the link + text, as in + + <a href="tel:+1-900-555-0191">Find free information here</a> + <a href="tel:+1-900-555-0191">tel:+1-800-555-0191</a> + + + "tel" URIs may reveal private information, similar to including phone + numbers as text. However, the presence of the tel: schema identifier + may make it easier for an adversary using a search engine to discover + these numbers. + +12. Changes Since RFC 2806 + + The specification is syntactically backwards-compatible with the + "tel" URI defined in RFC 2806 [RFC2806] but has been completely + rewritten. This document more clearly distinguishes telephone + numbers as identifiers of network termination points from dial + strings and removes the latter from the purview of "tel" URIs. + + + +Schulzrinne Standards Track [Page 14] + +RFC 3966 The tel URI December 2004 + + + Compared to RFC 2806, references to carrier selection, dial context, + fax and modem URIs, post-dial strings, and pause characters have been + removed. The URI syntax now conforms to RFC 2396 [RFC2396]. + + A section on using "tel" URIs in SIP was added. + +13. References + +13.1. Normative References + + [E.123] International Telecommunications Union, "Notation for + national and international telephone numbers, e-mail + addresses and web addresses", Recommendation E.123, + February 2001. + + [E.161] International Telecommunications Union, "Arrangement of + digits, letters and symbols on telephones and other + devices that can be used for gaining access to a telephone + network", Recommendation E.161, May 1995. + + [E.164] International Telecommunications Union, "The international + public telecommunication numbering plan", Recommendation + E.164, May 1997. + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax + Specifications: ABNF", RFC 2234, November 1997. + + [RFC3261] 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. + + [T1.703] ANSI, "Allocation of Letters to the Keys of Numeric + Keypads for Telecommunications", Standard T1.703-1995 + (R1999), 1999. + + + + + + + + + + + + + +Schulzrinne Standards Track [Page 15] + +RFC 3966 The tel URI December 2004 + + +13.2. Informative References + + [RFC2368] Hoffman, P., Masinter, L., and J. Zawinski, "The mailto + URL scheme", RFC 2368, July 1998. + + [RFC2396] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform + Resource Identifiers (URI): Generic Syntax", RFC 2396, + August 1998. + + [RFC2806] Vaha-Sipila, A., "URLs for Telephone Calls", RFC 2806, + April 2000. + + [RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform + Resource Identifiers (URI) Dynamic Delegation Discovery + System (DDDS) Application (ENUM)", RFC 3761, April 2004. + + [RFC3187] Hakala, J. and H. Walravens, "Using International Standard + Book Numbers as Uniform Resource Names", RFC 3187, October + 2001. + + [RFC3191] Allocchio, C., "Minimal GSTN address format in Internet + Mail", RFC 3191, October 2001. + + [RFC3192] Allocchio, C., "Minimal FAX address format in Internet + Mail", RFC 3192, October 2001. + + [RFC3219] Rosenberg, J., Salama, H., and M. Squire, "Telephony + Routing over IP (TRIP)", RFC 3219, January 2002. + + [T.50] International Telecommunications Union, "International + Reference Alphabet (IRA) (Formerly International Alphabet + No. 5 or IA5) - Information technology - 7-bit coded + character set for information interchange", Recommendation + T.50, 1992. + +Author's Address + + Henning Schulzrinne + Columbia University + Department of Computer Science + 450 Computer Science Building + New York, NY 10027 + US + + Phone: +1 212 939 7042 + EMail: hgs@cs.columbia.edu + URI: http://www.cs.columbia.edu + + + + +Schulzrinne Standards Track [Page 16] + +RFC 3966 The tel URI December 2004 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2004). + + This document is subject to the rights, licenses and restrictions + contained in BCP 78, and except as set forth therein, the authors + retain all their rights. + + This document and the information contained herein are provided on an + "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS + OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET + ENGINEERING TASK FORCE DISCLAIM 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. + +Intellectual Property + + The IETF takes no position regarding the validity or scope of any + Intellectual Property Rights 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; nor does it represent that it has + made any independent effort to identify any such rights. Information + on the IETF's procedures with respect to rights in IETF Documents can + be found in BCP 78 and BCP 79. + + Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this + specification can be obtained from the IETF on-line IPR repository at + http://www.ietf.org/ipr. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights that may cover technology that may be required to implement + this standard. Please address the information to the IETF at ietf- + ipr@ietf.org. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + +Schulzrinne Standards Track [Page 17] + |