diff options
Diffstat (limited to 'doc/rfc/rfc2806.txt')
-rw-r--r-- | doc/rfc/rfc2806.txt | 1179 |
1 files changed, 1179 insertions, 0 deletions
diff --git a/doc/rfc/rfc2806.txt b/doc/rfc/rfc2806.txt new file mode 100644 index 0000000..bbd1282 --- /dev/null +++ b/doc/rfc/rfc2806.txt @@ -0,0 +1,1179 @@ + + + + + + +Network Working Group A. Vaha-Sipila +Request for Comments: 2806 Nokia +Category: Standards Track April 2000 + + + URLs for Telephone Calls + +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 (2000). All Rights Reserved. + +Abstract + + This document specifies URL (Uniform Resource Locator) schemes "tel", + "fax" and "modem" for specifying the location of a terminal in the + phone network and the connection types (modes of operation) that can + be used to connect to that entity. This specification covers voice + calls (normal phone calls, answering machines and voice messaging + systems), facsimile (telefax) calls and data calls, both for POTS and + digital/mobile subscribers. + +Table of Contents + + 1. Introduction ................................................ 2 + 1.1 New URL schemes ............................................ 2 + 1.2 Formal definitions ......................................... 3 + 1.3 Requirements ............................................... 3 + 2. URL schemes for telephone calls ............................. 3 + 2.1 Applicability .............................................. 3 + 2.2 "tel" URL scheme ........................................... 4 + 2.3 "fax" URL scheme ........................................... 6 + 2.4 "modem" URL scheme ......................................... 6 + 2.5 Parsing telephone, fax and modem URLs ...................... 7 + 2.5.1 Call type ................................................ 7 + 2.5.2 Phone numbers and their scope ............................ 7 + 2.5.3 Separators in phone numbers .............................. 10 + 2.5.4 Converting the number to the local numbering scheme ...... 10 + 2.5.5 Sending post-dial sequence after call setup .............. 10 + 2.5.6 Pauses in dialing and post-dial sequence ................. 11 + 2.5.7 ISDN subaddresses ........................................ 11 + + + +Vaha-Sipila Standards Track [Page 1] + +RFC 2806 URLs for Telephone Calls April 2000 + + + 2.5.8 T.33 subaddresses ........................................ 11 + 2.5.9 Data call parameters ..................................... 12 + 2.5.10 Telephony service provider identification ............... 13 + 2.5.11 Additional parameters ................................... 14 + 2.6 Examples of Use ............................................ 14 + 2.7 Rationale behind the syntax ................................ 15 + 2.7.1 Why distinguish between call types? ..................... 15 + 2.7.2 Why "tel" is "tel"? ..................................... 16 + 2.7.3 Why to use E.164-style numbering? ........................ 16 + 2.7.4 Not everyone has the same equipment as you ............... 17 + 2.7.5 Do not confuse numbers with how they are dialled ......... 17 + 3. Comments on usage ........................................... 17 + 4. References .................................................. 18 + 5. Security Considerations ..................................... 19 + 6. Acknowledgements ............................................ 20 + 7. Author's Address ............................................ 20 + 8. Full Copyright Statement .................................... 21 + +1. Introduction + +1.1 New URL schemes + + This specification defines three new URL schemes: "tel", "fax" and + "modem". They are intended for describing a terminal that can be + contacted using the telephone network. The description includes the + subscriber (telephone) number of the terminal and the necessary + parameters to be able to successfully connect to that terminal. + + The "tel" scheme describes a connection to a terminal that handles + normal voice telephone calls, a voice mailbox or another voice + messaging system or a service that can be operated using DTMF tones. + + The "fax" scheme describes a connection to a terminal that can handle + telefaxes (facsimiles). The name (scheme specifier) for the URL is + "fax" as recommended by [E.123]. + + The "modem" scheme describes a connection to a terminal that can + handle incoming data calls. The term "modem" refers to a device that + does digital-to-analog and analog-to-digital conversions; in addition + to these, a "modem" scheme can describe a fully digital connection. + + The notation for phone numbers is the same which is specified in + [RFC2303] and [RFC2304]. However, the syntax definition is a bit + different due to the fact that this document specifies URLs whereas + [RFC2303] and [RFC2304] specify electronic mail addresses. For + example, "/" (used in URLs to separate parts in a hierarchical URL + [RFC2396]) has been replaced by ";". In addition, this URL scheme has + been synchronized with [RFC2543]. + + + +Vaha-Sipila Standards Track [Page 2] + +RFC 2806 URLs for Telephone Calls April 2000 + + + When these URLs are used, the number of parameters should be kept to + the minimum, unless this would make the context of use unclear. + Having a short URL is especially important if the URL is intended to + be shown to the end user, printed, or otherwise distributed so that + it is visible. + +1.2 Formal definitions + + The ABNF (augmented Backus-Naur form) notation used in formal + definitions follows [RFC2234]. This specification uses elements from + the 'core' definitions (Appendix A of [RFC2234]). Some elements have + been defined in previous RFCs. If this is the case, the RFC in + question has been referenced in comments. + + Note on non-unreserved characters [RFC2396] in URLs: the ABNF in this + document specifies strings of raw, unescaped characters. If those + characters are present in a URL, and are not unreserved [RFC2396], + they MUST be escaped as explained in [RFC2396] prior to using the + URL. In addition, when parsing a URL, it must be noted that some + characters may have been escaped. + + An example: ABNF notation "%x20" means a single octet with a + hexadecimal value of "20" (in US-ASCII, a space character). This must + be escaped in a URL, and it becomes "%20". + + In addition, the ABNF in this document only uses lower case. The URLs + are case-insensitive (except for the <future-extension> parameter, + whose case-sensitivity is application-specific). + +1.3 Requirements + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC2119]. + + Compliant software MUST follow this specification. + +2. URL schemes for telephone calls + +2.1 Applicability + + In this document, "local entity" means software and hardware that can + detect and parse one or more of these URLs and possibly place a call + to a remote entity, or otherwise utilize the contents of the URL. + + These URL schemes are used to direct the local entity to place a call + using the telephone network, or as a method to transfer or store a + phone number plus other relevant data. The network in question may be + + + +Vaha-Sipila Standards Track [Page 3] + +RFC 2806 URLs for Telephone Calls April 2000 + + + a landline or mobile phone network, or a combination of these. If the + phone network differentiates between (for example) voice and data + calls, or if the local entity has several different + telecommunications equipment at its disposal, it is possible to + specify which kind of call (voice/fax/data) is requested. The URL can + also contain information about the capabilities of the remote entity, + so that the connection can be established successfully. + + The "tel", "fax" and "modem" URL schemes defined here do not use the + hierarchical URL syntax; there are no applicable relative URL forms. + The URLs are always case-insensitive, except for the <future- + extension> parameter (see below), whose case-sensitivity is + application specific. Characters in the URL MUST be escaped when + needed as explained in [RFC2396]. + +2.2 "tel" URL scheme + + The URL syntax is formally described as follows. For the basis of + this syntax, see [RFC2303]. + +telephone-url = telephone-scheme ":" + telephone-subscriber +telephone-scheme = "tel" +telephone-subscriber = global-phone-number / local-phone-number +global-phone-number = "+" base-phone-number [isdn-subaddress] + [post-dial] *(area-specifier / + service-provider / future-extension) +base-phone-number = 1*phonedigit +local-phone-number = 1*(phonedigit / dtmf-digit / + pause-character) [isdn-subaddress] + [post-dial] area-specifier + *(area-specifier / service-provider / + future-extension) +isdn-subaddress = ";isub=" 1*phonedigit +post-dial = ";postd=" 1*(phonedigit / + dtmf-digit / pause-character) +area-specifier = ";" phone-context-tag "=" phone-context-ident +phone-context-tag = "phone-context" +phone-context-ident = network-prefix / private-prefix +network-prefix = global-network-prefix / local-network-prefix +global-network-prefix = "+" 1*phonedigit +local-network-prefix = 1*(phonedigit / dtmf-digit / pause-character) +private-prefix = (%x21-22 / %x24-27 / %x2C / %x2F / %x3A / + %x3C-40 / %x45-4F / %x51-56 / %x58-60 / + %x65-6F / %x71-76 / %x78-7E) + *(%x21-3A / %x3C-7E) + ; Characters in URLs must follow escaping rules + ; as explained in [RFC2396] + + + +Vaha-Sipila Standards Track [Page 4] + +RFC 2806 URLs for Telephone Calls April 2000 + + + ; See sections 1.2 and 2.5.2 +service-provider = ";" provider-tag "=" provider-hostname +provider-tag = "tsp" +provider-hostname = domain ; <domain> is defined in [RFC1035] + ; See section 2.5.10 +future-extension = ";" 1*(token-char) ["=" ((1*(token-char) + ["?" 1*(token-char)]) / quoted-string )] + ; See section 2.5.11 and [RFC2543] +token-char = (%x21 / %x23-27 / %x2A-2B / %x2D-2E / %x30-39 + / %x41-5A / %x5E-7A / %x7C / %x7E) + ; Characters in URLs must follow escaping rules + ; as explained in [RFC2396] + ; See sections 1.2 and 2.5.11 +quoted-string = %x22 *( "\" CHAR / (%x20-21 / %x23-7E + / %x80-FF )) %x22 + ; Characters in URLs must follow escaping rules + ; as explained in [RFC2396] + ; See sections 1.2 and 2.5.11 +phonedigit = DIGIT / visual-separator +visual-separator = "-" / "." / "(" / ")" +pause-character = one-second-pause / wait-for-dial-tone +one-second-pause = "p" +wait-for-dial-tone = "w" +dtmf-digit = "*" / "#" / "A" / "B" / "C" / "D" + + The URL starts with <telephone-scheme>, which tells the local entity + that what follows is a URL that should be parsed as described in this + document. After that, the URL contains the phone number of the remote + entity. Phone numbers can also contain subaddresses, which are used + to identify different remote entities under the same phone number. If + a subaddress is present, it is appended to the phone number after + ";isub=". Phone numbers can also contain a post-dial sequence. This + is what is often used with voice mailboxes and other services that + are controlled by dialing numbers from your phone keypad while the + call is in progress. The <post-dial> sequence describes what and when + the local entity should send to the phone line. + + Phone numbers can be either "global" or "local". Global numbers are + unambiguous everywhere. Local numbers are usable only within a + certain area, which is called "context", see section 2.5.2. + + Local numbers always have an <area-specifier>, which specifies the + context in which the number is usable (the same number may have + different interpretation in different network areas). The context can + be indicated with three different prefixes. A <global-network-prefix> + indicates that the number is valid within a numbering area whose + global numbers start with <global-network-prefix>. Similarly, + <local-network-prefix> means that the number is valid within a + + + +Vaha-Sipila Standards Track [Page 5] + +RFC 2806 URLs for Telephone Calls April 2000 + + + numbering area whose numbers (or dial strings) start with it. A + <private-prefix> is a name of a context. The local entity must have + knowledge of this private context to be able to deduce whether it can + use the number, see section 2.5.2. Additional information about the + phone number's usage can be included by adding the name of the + telephony services provider in <service-provider>, see section + 2.5.10. + + The <future-extension> mechanism makes it possible to add new + parameters to this URL scheme. See section 2.5.11. + + The <private-prefix>, <token-char> and <quoted-string> nonterminals + may seem a bit complex at first, but they simply describe the set of + octets that are legal in those nonterminals. Some octets may have to + be escaped, see [RFC2396]. + +2.3 "fax" URL scheme + + The URL syntax is formally described as follows (the definition + reuses nonterminals from the above definition). For the basis of this + syntax, see [RFC2303] and [RFC2304]. + + fax-url = fax-scheme ":" fax-subscriber + fax-scheme = "fax" + fax-subscriber = fax-global-phone / fax-local-phone + fax-global-phone = "+" base-phone-number [isdn-subaddress] + [t33-subaddress] [post-dial] + *(area-specifier / service-provider / + future-extension) + fax-local-phone = 1*(phonedigit / dtmf-digit / + pause-character) [isdn-subaddress] + [t33-subaddress] [post-dial] + area-specifier + *(area-specifier / service-provider / + future-extension) + t33-subaddress = ";tsub=" 1*phonedigit + + The fax: URL is very similar to the tel: URL. The main difference is + that in addition to ISDN subaddresses, telefaxes also have an another + type of subaddress, see section 2.5.8. + +2.4 "modem" URL scheme + + The URL syntax is formally described as follows (the definition + reuses nonterminals from the above definitions). For the basis of + this syntax, see [RFC2303]. + + + + + +Vaha-Sipila Standards Track [Page 6] + +RFC 2806 URLs for Telephone Calls April 2000 + + + modem-url = modem-scheme ":" remote-host + modem-scheme = "modem" + remote-host = telephone-subscriber *(modem-params + / recommended-params) + modem-params = ";type=" data-capabilities + recommended-params = ";rec=" data-capabilities + data-capabilities = accepted-modem ["?" data-bits parity + stop-bits] + accepted-modem = "V21" / "V22" / "V22b" / + "V23" / "V26t" / "V32" / + "V32b" / "V34" / "V90" / + "V110" / "V120" / "B103" / + "B212" / "X75" / + "vnd." vendor-name "." modem-type + data-bits = "7" / "8" + parity = "n" / "e" / "o" / "m" / "s" + stop-bits = "1" / "2" + vendor-name = 1*(ALPHA / DIGIT / "-" / "+") + modem-type = 1*(ALPHA / DIGIT / "-" / "+") + + The modem: URL scheme is also very similar to both the tel: and fax: + schemes, but it adds the description of the capabilities of the + remote entity. Minimum required compliance is listed in <modem- + params> and recommended compliance is listed in <recommended-params>. + For details, see section 2.5.9. + +2.5 Parsing telephone, fax and modem URLs + +2.5.1 Call type + + The type of call is specified by the scheme specifier. "Tel" means + that a voice call is opened. "Fax" indicates that the call should be + a facsimile (telefax) call. "Modem" means that it should be a data + call. Not all networks differentiate between the types of call; in + this case, the scheme specifier indicates the telecommunications + equipment type to use. + +2.5.2 Phone numbers and their scope + + <telephone-subscriber> and <fax-subscriber> indicate the phone number + to be dialed. The phone number can be written in either international + or local notation. All phone numbers SHOULD always be written in the + international form if there is no good reason to use the local form. + + Not all numbers are valid within all numbering areas. The <area- + specifier> parameter, which is mandatory for local numbers, is used + to indicate the locale within which this number is valid, or to + qualify the phone number so that it may be used unambiguously. The + + + +Vaha-Sipila Standards Track [Page 7] + +RFC 2806 URLs for Telephone Calls April 2000 + + + <area-specifier> can take three forms: <global-network-prefix>, + <local-network-prefix> or <private-prefix>. These are used to + describe the validity area of the phone number either in global + numbering plan, local numbering plan, or in a private numbering plan, + respectively. + + If <area-specifier> is present, the local entity MUST NOT attempt to + call out using the phone number if it cannot originate the call + within the specified locale. If a <local-phone-number> is used, an + <area-specifier> MUST be included as well. + + There can be multiple instances of <area-specifier>. In this case, + the number is valid in all of the given numbering areas. + + The global prefix form is intended to act as the outermost context + for a phone number, so it will start with a "+", followed by some + part of an E.164 number. It also specifies the region in which the + phone number is valid. For example, if <global-network-prefix> is + "+358", the given number is valid only within Finland (country code + 358) - even if it is a <global-phone-number>. + + The local prefix form is intended to act as an intermediate context + in those situations where the outermost context for a phone number is + given by another means. One example of use is where the local entity + is known to originate calls only within the North American Number + Plan Area, so an "outermost" phone context can be assumed. The local + context could, for example, be used to indicate the area code within + which an associated phone number is situated. Thus "tel:456- + 7890;phone-context=213" would suffice to deliver a call to the + telephone number "+1-213-456-7890". Note that the version including + the <phone-context> implies further that the call can only be + originated within the "area code 213" region. + + The <private-prefix> form is intended for use in those situations + where the context cannot be expressed with a start of a global phone + number or a dialing string. The <private-prefix> is actually a name + of a private context. The creator of the URL and the local entity + have been configured to recognize this name, and as such they can + interpret the number and know how they can utilize the number. For + example, a private network numbering plan may be indicated by the + name "X-COMPANY-NET", but the private dialling plan from the locales + of the sender of the telephony URL and the local entity are + different. The syntax of these tokens will be left for future + specification. The ABNF above specifies the accepted characters that + can be a part of <private-prefix>. + + + + + + +Vaha-Sipila Standards Track [Page 8] + +RFC 2806 URLs for Telephone Calls April 2000 + + + Unless the sender is absolutely sure that they share the same private + network access digit string with the local entity, then they MUST NOT + use a dialling plan number (a local phone number, or one qualified by + a local context), as the result may be incorrect. Instead, they + SHOULD use a global number, or if that is not possible, a private + context as the last resort. If the local entity does not support + dialling into the private network indicated by that context, then the + request MUST be rejected. If it does, then it will use the access + digit string appropriate for its locale. + + Note that the use of <area-specifier> is orthogonal to use of the + telephony service provider parameter (see 2.5.10); it qualifies the + phone number, whilst the <service-provider> parameter indicates the + carrier to be used for the call attempt. + + For example, a large company may have private network + interconnections between its sites, as well as connections to the + Global Switched Telephone Network. A phone number may be given in + "public network" form, but with a <service-provider> indicating that + the call should be carried over the corporate network. + + Conversely, it would be possible to represent a phone number in + private network form, with a private context to indicate this, but + indicate a public telephony service provider. This would request that + the user agent convert the private network number plan address into a + form that can be carried using the selected service provider. + + Any telephone number MUST contain at least one <phonedigit> or + <dtmf-digit>, that is, subscriber numbers consisting only of pause + characters are not allowed. + + International numbers MUST begin with the "+" character. Local + numbers MUST NOT contain that character. International numbers MUST + be written with the country (CC) and national (NSN) numbers as + specified in [E.123] and [E.164]. International numbers have the + property of being totally unambiguous everywhere in the world if the + local entity is properly configured. + + Local numbers MAY be used if the number only works from inside a + certain geographical area or a network. Note that some numbers may + work from several networks but not from the whole world - these + SHOULD be written in international form, with a set of <area- + specifier> tags and optional <service-provider> parameters. URLs + containing local phone numbers should only appear in an environment + where all local entities can get the call successfully set up by + passing the number to the dialing entity "as is". An example could be + a company intranet, where all local entities are located under a the + same private telephone exchange. If local phone numbers are used, + + + +Vaha-Sipila Standards Track [Page 9] + +RFC 2806 URLs for Telephone Calls April 2000 + + + the document in which they are present SHOULD contain an indication + of the context in which they are intended to be used, and an + appropriate <area-specifier> SHOULD be present in the URL. + + In some regions, it is popular to write phone numbers using + alphabetic characters which correspond to certain numbers on the + telephone keypad. Letters in <dtmf-digit> characters do not have + anything to do with this, nor is this method supported by these URL + schemes. + + It should also be noted that implementations MUST NOT assume that + telephone numbers have a maximum, minimum or fixed length, or that + they would always begin with a certain number. Implementors are + encouraged to familiarize themselves with the international + standards. + +2.5.3 Separators in phone numbers + + All <visual-separator> characters MUST be ignored by the local entity + when using the URL. These characters are present only to aid + readability: they MUST NOT have any other meaning. Note that although + [E.123] recommends the use of space (SP) characters as the separators + in printed telephone numbers, spaces MUST NOT be used in phone + numbers in URLs as the space character cannot be used in URLs without + escaping it. + +2.5.4 Converting the number to the local numbering scheme + + After the telephone number has been extracted, it can be converted to + the local dialing convention. (For example, the "+" character might + be replaced by the international call prefix, or the international + and trunk prefixes might be removed to place a local call.) Numbers + that have been specified using <local-phone> or <fax-local-phone> + MUST be used by the local entity "as is", without any conversions, + unless the local entity decides to utilize the information in an + optional <service-provider> parameter. + +2.5.5 Sending post-dial sequence after call setup + + The number may contain a <post-dial> sequence, which MUST be dialled + using Dual Tone Multifrequency (DTMF) in-band signalling or pulse + dialing after the call setup is complete. If the user agent does not + support DTMF or pulse dialing after the call has been set up, <post- + dial> MUST be ignored. In that case, the user SHOULD be notified. + + + + + + + +Vaha-Sipila Standards Track [Page 10] + +RFC 2806 URLs for Telephone Calls April 2000 + + +2.5.6 Pauses in dialing and post-dial sequence + + A local phone number or a post-dial sequence may contain <pause- + character> characters which indicate a pause while dialing ("p"), or + a wait for dial tone ("w"). + + Local entities MAY support this method of dialing, and the final + interpretation of these characters is left to the local entity. It + is RECOMMENDED that the length of each pause is about one second. + + If it is not supported, local entities MUST ignore everything in the + dial string after the first <pause-character> and the user SHOULD be + notified. The user or the local entity MAY opt not to place a call if + this feature is not supported and these characters are present in the + URL. + + Any <dtmf-digit> characters and all dial string characters after the + first <pause-character> or <dtmf-digit> SHOULD be sent to line using + DTMF (Dual Tone Multifrequency) in-band signaling, even if dialing is + done using direct network signaling (a digital subscriber loop or a + mobile phone). If the local infrastructure does not support DTMF + codes, the local entity MAY opt to use pulse dialing. However, it + should be noted that certain services which are controlled using DTMF + tones cannot be controlled with pulse dialing. If pulse dialing is + used, the user SHOULD be notified. + +2.5.7 ISDN subaddresses + + A phone number MAY also contain an <isdn-subaddress> which indicates + an ISDN subaddress. The local entity SHOULD support ISDN + subaddresses. These addresses are sent to the network by using a + method available to the local entity (typically, ISDN subscribers + send the address with the call setup signalling). If ISDN + subaddressing is not supported by the caller, <isdn-subaddress> MUST + be ignored and the user SHOULD be notified. The user or the local + entity MAY opt not to place a call if this feature is not supported. + +2.5.8 T.33 subaddresses + + A fax number MAY also contain a <t33-subaddress>, which indicates the + start of a T.33 subaddress [T.33]. Local entities SHOULD support + this. Otherwise <t33-subaddress> MUST be ignored and the user SHOULD + be notified. The user or the local entity MAY opt not to place a call + if this feature is not supported. + + + + + + + +Vaha-Sipila Standards Track [Page 11] + +RFC 2806 URLs for Telephone Calls April 2000 + + +2.5.9 Data call parameters + + <modem-params> indicate the minimum compliance required from the + local entity to be able to connect to the remote entity. The minimum + compliance is defined as being equal to or a superset of the + capabilities of the listed modem type. There can be several <modem- + param> parameters, in which case compliance to any one of them will + be accepted. <recommended-params> indicates the recommended + compliance required from the local entity. This is typically the + fastest and/or the most reliable modem type supported by the modem + pool. The local entity can use this information to select the best + number from a group of modem URLs. There can be several recommended + modem types, which are equally desirable from the modem pool's point + of view. <recommended-params> MAY NOT conflict with <modem-params>. + If they do, the local entity MUST ignore the <recommended-params>. + + The local entity MUST call out using compatible hardware, or request + that the network provides such a service. + + For example, if the local entity only has access to a V.22bis modem + and the URL indicates that the minimum acceptable connection is + V.32bis, the local entity MUST NOT try to connect to the remote host + since V.22bis is a subset of V.32bis. However, if the URL lists V.32 + as the minimum acceptable connection, the local entity can use + V.32bis to create a connection since V.32bis is a superset of V.32. + + This feature is present because modem pools often have separate + numbers for slow modems and fast modems, or have different numbers + for analog and ISDN connections, or may use proprietary modems that + are incompatible with standards. It is somewhat analogous to the + connection type specifier (typecode) in FTP URLs [RFC1738]: it + provides the local entity with information that can not be deduced + from the scheme specifier, but is helpful for successful operation. + + This also means that the number of data and stop bits and parity MUST + be set according to the information given in the URL, or to default + values given in this document, if the information is not present. + + The capability tokens are listed below. If capabilities suggest that + it is impossible to create a connection, the connection MUST NOT be + created. + + If new modem types are standardized by ITU-T, this list can be + extended with those capability tokens. Tokens are formed by taking + the number of the standard and joining together the first letter (for + example, "V"), number (for example, 22) and the first letter of the + postfix (for example "bis" would become "b"). + + + + +Vaha-Sipila Standards Track [Page 12] + +RFC 2806 URLs for Telephone Calls April 2000 + + + Proprietary modem types MUST be specified using the 'vendor naming + tree', which takes the form "vnd.x.y", in which "x" is the name of + the entity from which the specifications for the modem type can be + acquired and "y" is the type or model of the modem. Vendor names MUST + share the same name space with vendor names used in MIME types + [RFC2048]. Submitting the modem types to ietf-types list for review + is strongly recommended. + + New capabilities MUST always be documented in an RFC, and they MUST + refer to this document or a newer version of it. The documentation + SHOULD also list the existing modem types with which the newly + defined modem type is compatible with. + + Capability Explanation + + V21 ITU-T V.21 + V22 ITU-T V.22 + V22b ITU-T V.22bis + V23 ITU-T V.23 + V26t ITU-T V.26ter + V32 ITU-T V.32 + V32b ITU-T V.32bis + V34 ITU-T V.34 + V90 ITU-T V.90 + V110 ITU-T V.110 + V120 ITU-T V.120 + X75 ITU-T X.75 + B103 Bell 103 + B212 Bell 212 + Data bits: "8" or "7" The number of data bits. If not + specified, defaults to "8". + Parity: "n", "e", "o", Parity. None, even, odd, mark or + "m", "s" space parity, respectively. If + not specified, defaults to "n". + Stop bits: "1" or "2" The number of stop bits. If not + specified, defaults to "1". + +2.5.10 Telephony service provider identification + + It is possible to indicate the identity of the telephony service + provider for the given phone number. <service-provider> MAY be used + by the user-agent to place the call using this network, to enhance + the user interface, for billing estimates or to otherwise optimize + its functionality. It MAY also be ignored by the user-agent. + <service-provider> consists of a fully qualified Internet domain name + of the telephony service provider, for example + ";tsp=terrifictelecom.com". The syntax of the domain name follows + Internet domain name rules and is defined in [RFC1035]. + + + +Vaha-Sipila Standards Track [Page 13] + +RFC 2806 URLs for Telephone Calls April 2000 + + +2.5.11 Additional parameters + + In addition to T.33 and ISDN subaddresses, modem types and area + specifiers, future extensions to this URL scheme may add other + additional parameters (<future-extension> in the BNF) to these URLs. + These parameters are added to the URL after a semicolon (";"). + Implementations MUST be prepared to handle additional and/or unknown + parameters gracefully. Implementations MUST NOT use the URL if it + contains unknown parameters, as they may be vital for the correct + interpretation of the URL. Instead, the implementation SHOULD report + an error. + + For example, <future-extension> 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. Whenever a + <future-extension> is used in an open environment, its syntax and + usage MUST be properly documented in an RFC. + + <future-extension> nonterminal a rephrased version of, and compatible + with the <other-param> as defined in [RFC2543] (which actually + borrows BNF from an earlier version of this specification). + +2.6 Examples of Use + + tel:+358-555-1234567 + + This URL points to a phone number in Finland capable of receiving + voice calls. The hyphens are included to make the number more human- + readable: country and area codes have been separated from the + subscriber number. + + fax:+358.555.1234567 + + The above URL describes a phone number which can receive fax calls. + It uses dots instead of hyphens as separators, but they have no + effect on the functionality. + + modem:+3585551234567;type=v32b?7e1;type=v110 + + This phone number belongs to an entity which is able to receive data + calls. The local entity may opt to use either a ITU-T V.32bis modem + (or a faster one, which is compatible with V.32bis), using settings + of 7 data bits, even parity and one stop bit, or an ISDN connection + using ITU-T V.110 protocol. + + + + + + + +Vaha-Sipila Standards Track [Page 14] + +RFC 2806 URLs for Telephone Calls April 2000 + + + tel:+358-555-1234567;postd=pp22 + + The above URL instructs the local entity to place a voice call to + +358-555-1234567, then wait for an implementation-dependent time (for + example, two seconds) and emit two DTMF dialing tones "2" on the line + (for example, to choose a particular extension number, or to invoke a + particular service). + + tel:0w003585551234567;phone-context=+3585551234 + + This URL places a voice call to the given number. The number format + is intended for local use: the first zero opens an outside line, the + "w" character waits for a second dial tone, and the number already + has the international access code appended to it ("00"). This kind of + phone number MUST NOT be used in an environment where all users of + this URL might not be able to successfully dial out by using this + number directly. However, this might be appropriate for pages in a + company intranet. The <area-specifier> which is present hints that + the number is usable only in an environment where the local entity's + phone number starts with the given string (perhaps singling out a + company-wide block of telephone numbers). + + tel:+1234567890;phone-context=+1234;vnd.company.option=foo + + The URL describes a phone number which, even if it is written in its + international form, is only usable within the numbering area where + phone numbers start with +1234. There is also a proprietary extension + "vnd.company.option", which has the value "foo". The meaning of this + extension is application-specific. Note that the order of these + parameters (phone-context and vnd.company.option) is irrelevant. + +2.7 Rationale behind the syntax + +2.7.1 Why distinguish between call types? + + URLs locate resources, which in this case is some telecommunications + equipment at a given phone number. However, it is not necessarily + enough to know the subscriber number in order to successfully + communicate with that equipment. Digital phone networks distinguish + between voice, fax and data calls (and possibly other types of calls, + not discussed in this specification). To be able to successfully + connect to, say, a fax machine, the caller may have to specify that a + fax call is being made. Otherwise the call might be routed to the + voice number of the subscriber. In this sense, the call type is an + integral part of the 'location' of the target resource. + + + + + + +Vaha-Sipila Standards Track [Page 15] + +RFC 2806 URLs for Telephone Calls April 2000 + + + The reason to have the call type in the scheme specifier is to make + the URL simple to remember and use. Making it a parameter, much like + the way modem parameters are handled now, will substantially reduce + the human readability of this URL. + +2.7.2 Why "tel" is "tel"? + + There has been discussion on whether the scheme name "tel" is + appropriate. To summarize, these are the points made against the + other proposals. + + callto URL schemes locate a resource and do not specify + an action to be taken. + telephone Too long. Also, "tel" considered to be a more + international form. + phone Was countered on the basis that "tel" is more + internationally acceptable. + +2.7.3 Why to use E.164-style numbering? + + E.164 refers to international telephone numbers, and the string of + digits after the country code is usually a national matter. In any + case, phone numbers are usually written as a simple string of numbers + everywhere. Because of this, the syntax in this specification is + intuitively clear to most people. This is the usual way to write + phone numbers in business cards, advertisements, telephone books and + so on. + + It should be noted that phone numbers may have 'hierarchical' + characteristics, so that one could build a 'forest' of phone numbers + with country codes as roots, area codes as branches and subscriber + numbers as leaves. However, this is not always the case. Not all + areas have area codes; some areas may have different area codes + depending on how one wants to route the call; some numbers must + always be dialled "as is", without prepending area or country codes + (notably emergency numbers); and area codes can and do change. + + Usually, if something has a hierarchical structure, the URL syntax + should reflect that fact. These URLs are an exception. + + Also, when writing the phone number in the form described in this + specification, the writer does not need to know which part of the + number is the country code and which part is the area code. If a + hierarchical URL would be used (with a "/" character separating the + parts of the phone numbers), the writer of the URL would have to know + which parts are which. + + + + + +Vaha-Sipila Standards Track [Page 16] + +RFC 2806 URLs for Telephone Calls April 2000 + + + Finally, when phone numbers are written in the international form as + specified here, they are unambiguous and can always be converted to + the local dialing convention, given that the user agent has the + knowledge of the local country and area codes. + +2.7.4 Not everyone has the same equipment as you + + There are several ways for the subscriber to dial a phone number: + + - By pulse dialing. Typically old telephone exchanges. Usually this + dialing method has only to be used to set up the call; after + connecting to the remote entity, <post-dial> can be sent to the + line using DTMF, because it will typically be processed by the + remote entity, not the telephone network. + + - By DTMF. These are the 'beeps' that you hear when you dial on + most phones. + + - By direct network signalling. ISDN subscribers and mobile phone + users usually have this. There is no dial tone (or if there is, it + is generated locally by the equipment), and the number of the + called party is communicated to the telephone network using some + network signalling method. After setting up the call, <post-dial> + sequences are usually sent using DTMF codes. + +2.7.5 Do not confuse numbers with how they are dialled + + As an example, +123456789 will be dialled in many countries as + 00123456789, where the leading "00" is a prefix for international + calls. However, if a URL contains a local phone number 00123456789, + the user-agent MUST NOT assume that this number is equal to a global + phone number +123456789. If a user-agent received a telephony URL + with a local number in it, it MUST make sure that it knows the + context in which the local phone number is to be processed, or else + the number MUST NOT be used. Equally, anyone sending a telephony URL + MUST take into consideration that the recipient may have insufficient + information about the phone number's context. + +3. Comments on usage + + These are examples of the recommended usage of this URL in HTML + documents. + + First of all, the number SHOULD be visible to the end user, if it is + conceivable that the user might not have a local entity which is able + to use these URLs. + + Telephone: <a href="tel:+3585551234567">+358-555-1234567</a> + + + +Vaha-Sipila Standards Track [Page 17] + +RFC 2806 URLs for Telephone Calls April 2000 + + + Second, on a public HTML page, the telephone number in the URL SHOULD + always be in the international form, even if the text of the link + uses some local format. + + Telephone: <a href="tel:+3585551234567">(0555) 1234567</a> + + or even + + For more info, call <a href="tel:+15554383785965">1-555-IETF-RULZ- + OK</a>. + + Moreover, if the number is a <local-phone-number>, and the scope of + the number is not clear from the context in which the URL is + displayed, a human-readable explanation SHOULD be included. + + For customer service, dial <a href="tel:1234;phone- + context=+358555">1234</a> (only from Terrific Telecom mobile + phones). + +4. References + + [RFC1035] Mockapetris, P., "Domain Names - Implementation and + Specification", STD 13, RFC 1035, November 1987. + + [RFC1738] Berners-Lee, T., et al., "Uniform Resource Locators (URL)", + RFC 1738, December 1994. + + [RFC1866] Berners-Lee, T. and D. Connolly, "Hypertext Markup Language + - 2.0", RFC 1866, November 1995. + + [RFC2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose + Internet Mail Extensions (MIME) Part Four: Registration + Procedures", RFC 2048, November 1996. + + [RFC2119] Bradner, S., "Key Words for Use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, March 1997. + + [RFC2234] Crocker, D. and P. Overall, "Augmented BNF for Syntax + Specifications: ABNF", RFC 2234, November 1997. + + [RFC2303] Allocchio, C., "Minimal PSTN Address Format in Internet + Mail", RFC 2303, March 1998. + + [RFC2304] Allocchio, C., "Minimal FAX Address Format in Internet + Mail", RFC 2304, March 1998. + + + + + + +Vaha-Sipila Standards Track [Page 18] + +RFC 2806 URLs for Telephone Calls April 2000 + + + [RFC2396] Berners-Lee, T., R. Fielding and L. Manister, "Uniform + Resource Identifiers (URI): Generic Syntax", RFC 2396, + August 1998. + + [RFC2543] Handley, M., Schulzrinne, H., Schooler, E. and J. + Rosenberg, "SIP: Session Initiation Protocol", RFC 2543, + March 1999. + + [E.123] ITU-T Recommendation E.123: Telephone Network and ISDN + Operation, Numbering, Routing and Mobile Service: Notation + for National and International Telephone Numbers. 1993. + + [E.164] ITU-T Recommendation E.164/I.331 (05/97): The International + Public Telecommunication Numbering Plan. 1997. + + [T.33] ITU-T Recommendation T.33: Facsimile Routing Utilizing the + Subaddress. 1996. + +5. Security Considerations + + It should be noted that the local entity SHOULD NOT call out without + the knowledge of the user because of associated risks, which include + + - call costs (including long calls, long distance calls, + international calls and premium rate calls, or calls which do not + terminate due to <post-dial> sequences that have been left out by + the local entity) + + - wrong numbers inserted on web pages by malicious users, or sent via + e-mail, perhaps in direct advertising + + - making the user's phone line unavailable (off-hook) for a malicious + purpose + + - opening a data call to a remote host, thus possibly opening a back + door to the user's computer + + - revealing the user's (possibly unlisted) phone number to the remote + host in the caller identification data, and correlating the local + entity's phone number with other information such as the e-mail or + IP address + + - using the same local number in different contexts, in which the + number may have a different meaning + + All of these risks MUST be taken into consideration when designing + the local entity. + + + + +Vaha-Sipila Standards Track [Page 19] + +RFC 2806 URLs for Telephone Calls April 2000 + + + The local entity SHOULD have some mechanism that the user can use to + filter out unwanted numbers. The local entity SHOULD NOT use rapid + redialing of the number if it is busy to avoid the congestion of the + (signaling) network. Also, the local entity SHOULD detect if the + number is unavailable or if the call is terminated before the dialing + string has been completely processed (for example, the call is + terminated while waiting for user input) and not try to call again, + unless instructed by the user. + +6. Acknowledgements + + Writing this specification would not have been possible without + extensive support from many people. + + Contributors include numerous people from IETF FAX, PINT, URI and + URLREG mailing lists, as well as from World Wide Web Consortium and + several companies, plus several individuals. Thanks to all people who + offered criticism, corrections and feedback. + + All phone numbers and company names used in the examples of this + specification are fictional. Any similarities to real entities are + coincidental. + +7. Author's Address + + Antti Vaha-Sipila + (quoted-printable: Antti V=E4h=E4-Sipil=E4) + Nokia Mobile Phones + P. O. Box 68 + FIN-33721 Tampere + Finland + + EMail: avs@iki.fi + antti.vaha-sipila@nokia.com + + + + + + + + + + + + + + + + + +Vaha-Sipila Standards Track [Page 20] + +RFC 2806 URLs for Telephone Calls April 2000 + + +8. Full Copyright Statement + + Copyright (C) The Internet Society (2000). 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. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Vaha-Sipila Standards Track [Page 21] + |