Network Working Group P. Zehler Internet Draft Xerox Corporation Category: Informational April 24, 2010 Dial String syntax for the "tel" URI Scheme draft-zehler-teldial-info-00.txt This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. 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 This Internet-Draft will expire on October 24, 2011. Copyright Notice Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Zehler Expires October 24, 2011 [Page 1] Internet-Draft Dial String for "tel" URI Scheme April 2010 Abstract The "tel" URI (Uniform Resource Identifier) for Telephone Numbers [RFC3966] describes resources identified by telephone numbers. These resources specify termination points within a public or private telephone network. The termination points are a globally or locally unique endpoint. RFC3966 does not address the means by which the telephone URI can be used to reach termination point from a specific node in the telephone network. This document specifies the means by which the termination point is reached from a specific node in the telephone network. This document specifies how to encode the numbers, symbols and pauses required to traverse the phone network to reach the termination point in an RFC 3966 compliant "tel" URI. Table of Contents 1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions used in this document . . . . . . . . . . . . . . 3 2.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 3. Dial String Parameters. . . . . . . . . . . . . . . . . . . . 4 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. Internationalization Considerations . . . . . . . . . . . . . 6 8. References. . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . 6 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction The "tel" URI for Telephone Numbers [RFC3966] defines unique endpoints in the local or global telephone network. It is quite useful in its own right. It permits an unambiguous URI for an endpoint independent of the means required to traverse the telephone network. This is referred to as the Address-Of-Record. There are applications that require additional information to connect to the endpoint. Examples include an individual's address book or an address book embedded in a device such as a FAX machine. There are instances where pre-dial and/or post-dial information is required to not only connect the two telephone devices but also specify an account where the cost for the phone call will be charged. This is referred to as the Dial String. The now obsolete URLs for Telephone Calls [RFC2806] accommodated some of this capability. It allowed post-dial information to be explicitly specified. The pre-dial information had to be hidden in the local phone number. The "tel" URI for Telephone Numbers Zehler Expires October 24, 2011 [Page 2] Internet-Draft Dial String for "tel" URI Scheme April 2010 [RFC3966] clarified the separation of Dial Strings from the Address- Of-Record. The purpose of this document is to specify, in an RFC3966 compliant fashion, the parameters that encode the pre-dial and post-dial Dial Strings. In a phone call carrying the ITU FAX protocol there are mail boxes that can be addressed. These are referred to as T33 SubAddressing [T.33]. This document will also specify the parameter for T33 SubAddressing. 2. Conventions used in this document 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 RFC-2119 [RFC2119]. In this document, these words will appear with that interpretation only when in ALL CAPS. Lower case uses of these words are not to be interpreted as carrying RFC-2119 significance. In this document, the characters ">>" preceding an indented line(s) indicates a compliance requirement statement using the key words listed above. This convention aids reviewers in quickly identifying or finding the explicit compliance requirements of this RFC. 2.1. Terminology As stated in The "tel" URI for Telephone Numbers [RFC3966], telephone numbers comprise two related but distinct concepts: 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 plan. numbers follow the rules of the owner of the private numbering 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 variety of technical and local policy reasons. Also, a single termination point may be reachable from different networks and may have multiple identifiers.) variety of technical and local policy reasons. Also, a single termination point may be reachable from different networks and may have multiple identifiers.) Zehler Expires October 24, 2011 [Page 3] Internet-Draft Dial String for "tel" URI Scheme April 2010 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. 3. Dial String Parameters This document specifies Dial string parameters for the "tel" URI scheme. The dial string parameters encode the numbers, symbols and pauses required to traverse the phone network to reach an Address-Of- Record. All of these parameters are optional. Local entities SHOULD support these. Otherwise they MUST be ignored and the initiater of the call SHOULD be informed. The Dial String parameters defined here are not intended to be globally applicable. They are applicable for a specific telephone node enabling it to reach the desired termination point. For example a telephone in companies A and B may both be used to reach a Company C as specified by an Address-Of-Record. Company A may require an '8' to be dialed before entering the Address-Of-Record. Company B may not require any such pre-dialing and can reach Comapany C simply by dialing the Address-Of-Record. Three Dial String parameters are defined here: Predial: The Dial string entered before the Address-Of-Record is applied. Postdial: The Dial string entered after the Address-Of-Record is applied. T33 SubAddress: A FAX specific Dial string passed through to the FAX Protocol component that uses the T33 SubAddress in the FAX protocol carried over the telephone connection. 4. Formal Syntax The formal syntax specification uses the augmented Backus-Naur Form (BNF) as described in RFC-5234 [RFC5234]. The following syntax is defined in RFC3966 and is required to define the ABNF for the Dial String parameters. Zehler Expires October 24, 2011 [Page 4] Internet-Draft Dial String for "tel" URI Scheme April 2010 parameter = ";" pname ["=" pvalue ] pname = 1*( alphanum / "-" ) pvalue = 1*paramchar paramchar = param-unreserved / unreserved / pct-encoded unreserved = alphanum / mark mark = "-" / "_" / "." / "!" / "~" / "*" / alphanum = ALPHA / DIGIT phonedigit = DIGIT / [ visual-separator ] visual-separator = "-" / "." / "(" / ")" "'" / "(" / ")" pct-encoded = "%" HEXDIG HEXDIG param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$" The Dial String parameter syntax is described below. The syntax is based on syntax from RFC2806. Changes have been made to be compliant with RFC3966 and to define Dial Strings before the telephone number as well as afterwards. Dial-string-params = pre-dial / post-dial / t33-subaddress pre-dial = ";pred=" 1*(phonedigit / dtmf-digit / pause-character) post-dial = ";postd=" 1*(phonedigit / dtmf-digit / pause-character) t33-subaddress = ";tsub=" 1*phonedigit pause-character = one-second-pause / wait-for-dial-tone one-second-pause = "p" wait-for-dial-tone = "w" dtmf-digit = "*" / "A" / "B" / "C" / "D" / sharp-digit sharp-digit = "%23" 5. Security Considerations The security considerations include those of the "tel" URI scheme [RFC3966]. Those consideration include that applications MUST NOT use the URI to place calls without the explicit consent of the user of that application. Placing calls without user consent exposes a number of risks including: o The call may incur a cost. o The call will take the user's phone line off hook preventing its use by others. o The call can reveal a user's phone number to an attacker. o The URI may be used to place annoying or malicious calls. o URIs embedded in HTML links could hide the true nature of the URI The use of the Dial Strings introduces some additional security concerns. Zehler Expires October 24, 2011 [Page 5] Internet-Draft Dial String for "tel" URI Scheme April 2010 o Dial Strings parameters are locally significant. Using the Dial String parameters in another local telephone network may have unintended side effects. o Dial String parameters that include account information and SHOULD NOT be publically (i.e. unencrypted) visible to other users. 6. IANA Considerations The Dial String parameters do not require IANA registration. 7. International Considerations The Dial String parameters have no international considerations since they consist of numbers, symbols and characters to be consumed by automata. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax Specifications: ABNF", RFC 5234, Internet Mail Consortium and Demon Internet Ltd., January 2008. [RFC3966] H. Schulzrinne, "The tel URI for Telephone Numbers", RFC 3966, Columbia University, December 2004. [E.164] International Telecommunications Union, "The international public telecommunication numbering plan", Recommendation E.164, May 1997. [T.33] ITU-T Recommendation T.33: Facsimile Routing Utilizing the Subaddress. 1996. 8.2. Informative References [RFC2806] A. Vaha-Sipila, "URLs for Telephone Calls", RFC 2806, Nokia, April 2000. Zehler Expires October 24, 2011 [Page 6] Internet-Draft Dial String for "tel" URI Scheme April 2010 9. Acknowledgments Ira McDonald (High North / Samsung) This document was prepared using 2-Word-v2.0.template.dot. Author's Address Peter Zehler Xerox Corporation 800 Phillips Rd M/S 128-25E Webster, NY 14580 Phone: (585)265-8755 Email: Peter.Zehler@Xerox.com Zehler Expires October 24, 2011 [Page 7]