RFC 3191
Minimal GSTN address format in Internet Mail
RFC 3191 π Minimal GSTN address format in Internet Mail
Okay bestie, this is RFC 3191 and it is SO cute π It's about how you squeeze a phone number into an email address so the mail system can hand it off to phone-ish services. Here's the title block so you know the deets:
- Network Working Group πΈ
- Request for Comments: 3191
- Author: C. Allocchio (GARR-Italy) π§
- Date: October 2001
- Category: Standards Track
- Obsoletes: 2303
- Updates: 2846
Status of This Memo β¨
This document specifies an Internet standards track protocol for the Internet community, and asks for discussion and suggestions for improvements. Check 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 (2001). All Rights Reserved.
Abstract π
This memo describes a simple method of encoding Global Switched Telephone Network (GSTN) addresses (commonly called "telephone numbers") in the local-part of Internet email addresses. It also brings in an extension mechanism so email gateways can encode extra standard attributes needed to reach GSTN-based services. π
1. Introduction π¦
Okay so, like with every Internet mail address, the left-hand-side (local-part) of an address made under this spec is not supposed to be interpreted by anyone except the MTA that handles messages for the domain on the right-hand-side. Hands off! π
Ever since the very first e-mail to GSTN services gateway showed up, implementors have been coming up with different ways to write a GSTN address as an email address. People had a few goals in mind: letting an email user reach GSTN services straight from their inbox, and allowing a "GSTN over e-mail service" transport that could cut the cost of long distance calls, all while using the email infrastructure that already exists. πΈ
This memo describes the MINIMAL addressing method for encoding GSTN addresses into email addresses, plus the standard extension mechanism for defining more standard elements. The opposite problem, letting a traditional numeric-only GSTN device user get onto the email transport service, is not covered here. π
The IANA registration templates that MUST be used to register any standard element defined under this spec are in the "IANA Considerations" chapter (section 7 of this document). π
All implementations supporting this GSTN over e-mail service MUST support, at minimum, the specification in this document. Converting the entire range of GSTN addressing into email is a whole complicated situation, and it's out of scope for this minimal spec. π ββοΈ
1.1 Terminology and Syntax conventions
Here the formal definitions are written in ABNF syntax, as defined in [7]. This memo also uses some of the "CORE DEFINITIONS" from "APPENDIX A - CORE" of that document. The exact meaning of the capitalized words below is defined in reference [6]:
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL"
This document also defines some new terms, and they are super important so pay attention π
- I-pstn device: a device that has an Internet domain name and can communicate either directly or indirectly with the GSTN network. π±
- mta-I-pstn: the Internet domain name that uniquely identifies an I-pstn device over the Internet. πͺͺ
- pstn-email: the complete Internet e-mail address structure used to carry a GSTN address over the Internet e-mail service. π
2. Minimal GSTN address π
The minimal way to write a GSTN address inside an email address looks like this:
pstn-address = pstn-mbox [ qualif-type1 ]
pstn-mbox = service-selector "=" global-phone
service-selector = 1*( DIGIT / ALPHA / "-" )
; note that SP (space) is not allowed in
; service-selector.
; service-selector MUST be handled as a case
; INSENSITIVE string by implementations.
Other specs that adopt the "pstn-address" definition MUST define and register a unique case insensitive "service-selector" with IANA. That's how the messaging service involved gets identified. π·οΈ
Those specs and registrations MUST also define which minimal "qualif-type1" extensions, if any, MUST be supported for that messaging service. π§©
Implementations that conform to this minimal requirements spec are allowed to ignore any other non-minimal extension address elements that show up in the "pstn-address". However, conforming implementations MUST preserve all "qualif-type1" address elements they receive. Don't drop the good stuff! π«Ά
The generic "qualif-type1" element is defined as:
qualif-type1 = "/" keyword "=" string
keyword = 1*( DIGIT / ALPHA / "-" )
; note that SP (space) is not allowed in keyword
string = PCHAR
; note that printable characters are %x20-7E
So basically, every "pstn-address" extension element MUST be defined in the "qualif-type1" form when it gets registered with IANA. π
2.1 Minimal "global-phone" definition π
The job of the global-phone element is to represent standard E.164 numeric addresses [10] inside an e-mail addressing syntax that complies with the standard e-mail specs given in [1] and [2]. π
The minimal supported syntax for the global-phone element looks like this:
global-phone = "+" 1*( DIGIT / written-sep )
written-sep = ( "-" / "." )
Other dialing schemes for GSTN numbers (like private numbering plans or local dialing conventions) are allowed too. That doesn't cancel out the mandatory requirement to support the "global-phone" syntax within the minimal GSTN address format, though. Both can coexist! π€
Any other dialing scheme MUST NOT use the leading "+" defined here between the "=" sign and the dialing string. The "+" sign is strictly reserved for the standard "global-phone" syntax. Hands off the plus! βπ«
Note: The specification of alternate dialing schemas is out of scope for this minimal specification.
This document also lets you use written-sep elements to make GSTN e-mail addresses easier for humans to read. Written-sep elements can go between dial elements, like digits and so on. π
Implementors' note: Using written-sep elements is allowed, but NOT recommended for transmission. Any occurrences of written-sep elements in a pstn-mbox MUST be ignored by all conformant implementations. π
Oops, I'm capitalizing "NOT recommended" on purpose there because that's how the spec says it. Fine, bestie.
2.2 The minimal "pstn-address" examples π
Here are some examples of minimal pstn-address:
VOICE=+3940226338
FAX=+12027653000/T33S=6377
SMS=+33-1-88335215
Note: These examples are given as illustrations only; they do not necessarily represent valid pstn-addresses. π
3. The e-mail address of the I-pstn device: mta-I-pstn π°οΈ
An "I-pstn device" has, among its characteristics, a unique Internet domain name that identifies it on the Internet. In Internet mail, that's the Right Hand Side (RHS) of the address, meaning the part on the right of the "@" sign. For this document we'll call it "mta-I-pstn". β¨
mta-I-pstn = domain
For "domain" strings used in SMTP transmissions, the string MUST conform to the requirements of those standards <domain> specifications [1], [3]. For "domain" strings used in message content headers, the string MUST conform to the requirements of the relevant standards [2], [3]. Rules are rules! π
Note: Using "domain names" or "domain literals" is permitted in addresses in both the SMTP envelope and message header fields. π
4. The pstn-email π
The full structure used to transfer a minimal GSTN address over the Internet e-mail transport system is called "pstn-email". It's an e-mail address that conforms to the [2] and [3] "addr-spec" syntax, with some structure refinements that let the GSTN number get identified. π§
pstn-email = ["""] ["/"] pstn-address ["/"] ["""] "@" mta-I-pstn
Implementors' note: The optional "/" characters can show up from translations done by other transport gateways (like some X.400 gateways) that included "/" as an optional element. Implementations MUST accept the optional slashes but SHOULD NOT generate them. Gateways are allowed to strip them off when converting to Internet mail addressing. The relevant standards [2], [3] define exactly when the optional "quotes" characters surrounding the entire local part (the part on the left of the "@" character in the pstn-email) MUST be added. π«£
4.1 Multiple subaddresses π―
Some GSTN applications use multiple subaddresses. In email practice, though, every recipient always gets their own separate, unique email address. Different vibes! πββοΈ
If a particular GSTN service needs multiple subaddresses (in any form the standard spec for that GSTN service defines) that are all tied to the same "pstn-mbox", then using multiple "pstn-email" elements is REQUIRED. π¬
Implementors' note: The UA may accept multiple subaddress elements for the same global-phone, but it MUST generate multiple "pstn-mbox" elements when submitting the message to the MTA. π€
4.2 Some examples of minimal "pstn-email" addresses π
Here are some examples of minimal pstn-email addresses:
VOICE=+3940226338@worldvoice.com
FAX=+1.202.7653000/T33S=6377@faxserv.org
/SMS=+33-1-88335215/@telecom.com
Note: These examples are given as illustrations only; they do not necessarily represent valid pstn-addresses. π
5. Conclusions π
This proposal makes a minimal standard encoding for GSTN addresses inside the global e-mail transport system. It also defines the standard extension mechanism for introducing new elements for GSTN addresses. Lowkey genius. π
The proposal is consistent with existing e-mail standards. Each specific GSTN service that uses this proposal MUST define and register its own "service-selector" specification with IANA, and MUST define and register any other "qualif-type1" elements it needs for its specific application. An example of such an application is in reference [13]. π₯
6. Security Considerations π
This document specifies a way to encode GSTN addresses into e-mail addresses. Since e-mail routing is decided by Domain Name System (DNS) data, a successful attack on DNS could spread tampered information, which then makes e-mail messages get diverted through some MTA or Gateway whose software security has been compromised. This is serious, bestie. ππ
There are several ways an attacker might deliver incorrect mail routing information to a client. These include: (a) compromising a DNS server, (b) generating a counterfeit response to a client's DNS query, and (c) returning incorrect "additional information" in response to an unrelated query. Clients SHOULD ensure that mail routing is based only on authoritative answers. Once DNS Security mechanisms [5] become more widely deployed, clients SHOULD employ those mechanisms to verify the authenticity and integrity of mail routing records. Verify, verify, verify! π‘οΈπ¦
7. IANA Considerations β¨
okay bestie, IANA gets the final say on new values, so the rules are strict π
the service-selector and qualif-type1 elements are extensible, which means they MUST be registered with IANA π
Every new registration MUST use the registration form templates in 7.1 and 7.2. It also MUST fulfill the "Specification Required" criteria from section 2 of RFC 2434 [16]:
"Specification Required - Values and their meaning MUST be documented in an RFC or other permanent and readily available reference, in sufficient detail so that interoperability between independent implementations is possible."
IANA MUST NOT accept registrations that aren't backed up by a Specification like that and that aren't fully filled in using the 7.1 and 7.2 templates π« if IANA needs more help deciding on a registration, it SHOULD refer to the Application Area Director, who will point them to the right "expert" or IETF Working Group π€
After a registration goes through, IANA should publish the new element on the right online IANA website and add it to the updates of the "Assigned Numbers" RFC series πΈ
And this section (including 7.1 and 7.2) updates the ones in [15] π
7.1 IANA Registration form template for new values of GSTN address service-selector
Here's the form for a new service-selector value π the foo in it is just a fictional example, so swap in your own value:
To: IANA@iana.org
Subject: Registration of new values for the GSTN address
service-selector specifier "foo"
service-selector name:
foo
Description of Use:
foo - ("foo" is a fictional new service-selector used in this
template as an example, it is to be replaced with the new value
being registered. Include a short description of the use of the
new value here. This MUST include reference to Standard Track
RFCs and eventually to other Standard Bodies documents for the
complete description; the use of the value must be defined
completely enough for independent implementation).
Security Considerations:
(Any additional security considerations that may be introduced by
use of the new service-selector parameter should be defined here
or in the reference Standards Track RFCs)
Person & email address to contact for further information:
(fill in contact information)
INFORMATION TO THE SUBMITTER:
The accepted registrations will be listed in the "Assigned
Numbers" series of RFCs. The information in the registration form
is freely distributable.
7.2 IANA Registration form template for new values of GSTN address qualif-type1 keyword and value
And this one's for a new qualif-type1 keyword and value π¦ bar is the placeholder here:
To: IANA@iana.org
Subject: Registration of new values for the GSTN address
qualif-type1 element "bar"
qualif-type1 "keyword" name:
bar
qualif-type1 "value" ABNF definition:
abnf - ("abnf" MUST define the ABNF form of the qualif-type1
value. The ABNF specification MUST be self-contained, using as
basic elements the tokens given in specification [4]. To avoid
any duplication (when appropriate), it MUST also use any already
registered non-basic token from other qualif-type1 elements, i.e.,
it MUST use the same non-basic token name and then repeat its
identical ABNF definition from basic tokens.
Description of Use:
bar - ("bar" is a fictional description for a new qualif-type1
element used in this template as an example. It is to be replaced
by the real description of qualif-type1 element being registered.
Include a short description of the use of the new qualif-type1
here. This MUST include reference to Standards Track RFCs and
eventually to other Standard Bodies documents for the complete
description; the use of the value MUST be defined completely
enough for independent implementation.)
Use Restriction:
(If the new qualif-type1 elements is meaningful only for a
specific set of service-element, you MUST specify here the list of
allowed service-element types. If there is no restriction, then
specify the keyword "none")
Security Considerations:
(Any additional security considerations that may be introduced by
use of the new service-selector parameter should be defined here
or in the reference Standards Track RFCs)
Person & email address to contact for further information:
(fill in contact information)
INFORMATION TO THE SUBMITTER:
The accepted registrations will be listed in the "Assigned
Numbers" series of RFCs. The information in the registration form
is freely distributable.
8. Changes from RFC 2303 specification
Good news: there are no technical or major changes from RFC 2303 β¨ but here's a quick rundown of where the updates and clarifications landed:
- considering the case that telephony systems do not conform any more to the "single/few" Public Operator paradigm, the old definition "PSTN - Public Switched Telephone Network" was changed into the more adequate "GSTN - Global Switched Telephone Network" one. However, in order to remain consistent with the previous specification, the ABNF variables names were not changed.
- it was made clear that "GSTN addresses" correspond, in common language, to "telephone numbers" and that the "global-phone" is a representation of E.164 numeric addresses;
- an explicit list of "new terms" with explanations was added to section 1.1;
- the fact that any other specification adopting the "pstn-address" definition MUST register with IANA the new "service-selector" and "qualif-type1" elements was made explicit throughout the document; the relevant mechanism to be used was added in section 7 "IANA considerations" (including the IANA Registration form templates); this is also consistent with RFC 2846;
- in section 2.1 the use and meaning of "written-sep" was clarified;
- in section 4., the quoting rules of the "pstn-address" and their practical use was made explicit both in the definition of pstn-email" and in the Implementors' note;
- section 4.1 was updated to clarify how to generate "pstn-email" when more than one subaddress is used;
- the Author's Address was updated;
- the References list was updated to include RFC 2846 and RFC 2434.
9. Author's Address
Claudio Allocchio
INFN-GARR
c/o Sincrotrone Trieste
SS 14 Km 163.5 Basovizza
I 34012 Trieste
Italy
RFC2822: Claudio.Allocchio@garr.it
X.400: C=it;A=garr;P=garr;S=Allocchio;G=Claudio;
Phone: +39 040 3758523
Fax: +39 040 3758565
10. References
[1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
August 1982.
[2] Crocker, D., "Standard for the Format of ARPA Internet Text
Messages", STD 11, RFC 822, August 1982.
[3] Braden, R., "Requirements for Internet hosts - application and
support", STD 3, RFC 1123, October 1989.
[4] Malamud, C. and M. Rose, "Principles of Operation for the
TPC.INT Subdomain: Remote Printing -- Technical Procedures", RFC
1528, October 1993.
[5] Eastlake, D. and C. Kaufman, "Domain Name System Security
Extensions", RFC 2065, January 1997.
[6] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[7] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications", RFC 2234, November 1997.
[8] ITU F.401 - Message Handling Services: Naming and Addressing for
Public Message Handling Service; recommendation F.401 (August
1992).
[9] ITU F.423 - Message Handling Services: Intercommunication
Between the Interpersonal Messaging Service and the Telefax
Service; recommendation F.423 (August 1992).
[10] ITU E.164 - The International Public Telecommunication Numbering
Plan E.164/I.331 (May 1997).
[11] ITU T.33 - Facsimile routing utilizing the subaddress;
recommendation T.33 (July 1996).
[12] ETSI I-ETS 300,380 - Universal Personal Telecommunication (UPT):
Access Devices Dual Tone Multi Frequency (DTMF) sender for
acoustical coupling to the microphone of a handset telephone
(March 1995).
[13] Allocchio, C., "Minimal FAX address format in Internet Mail",
RFC 3192, October 2001.
[14] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay): Mapping
between X.400 and RFC 822/MIME", RFC 2156, January 1998.
[15] Allocchio, C. "GSTN address element extensions in e-mail
services", RFC 2846, June 2000.
[16] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
Full Copyright Statement
Copyright (C) The Internet Society (2001). 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. π«Ά
π¦ where this page comes from
- ietf: rfc3191 2001-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms