One document matched: draft-ietf-fax-fulladdr-03.txt
Differences from draft-ietf-fax-fulladdr-02.txt
Network Working C. Allocchio
Group GARR-Italy
INTERNET-DRAFT July 1998
Expires: January 1999
File: draft-ietf-fax-fulladdr-03.txt
GSTN address element extensions in e-mail services
Status of this Memo
This document is an Internet Draft. 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. Internet Drafts may be
updated, replaced, or obsoleted by other documents at any time. It is
not appropriate to use Internet Drafts as reference material or to
cite them other than as a "working draft" or "work in progress".
Please check the I-D abstract listing contained in each Internet Draft
directory to learn the current status of this or any other Internet
Draft.
1. Introduction
The possible elements composing a "Global Switched Telephone Network
(GSTN) address in e-mail" (formerly known also as Public Switched
Telephone Network - PSTN) can vary from a minimum number up to a
really large and complex collection: the minimal format and general
address syntax are defined in [1], together with the syntax to define
additional address elements.
To ensure interoperability among different applications, also the
additional, and in most cases optional, address elements must be
defined in a standard syntax. In this memo we define some of these
additional address elements:
- the detailed definition of GSTN number formats, in order to cover
all the possible and different GSTN numbering schema (gstn-phone,
sub-addr-spec and post-dial)
- the intended message recipient specification (pstn-recipient)
The definitions included in this memo always superset the minimal
profile defined in [1]. The "incremental alternatives" syntax defined
in [4] is used to describe this fact.
GSTN addresses in e-mail MAY contain additional elements defined in
other specifications (see for example "T33S" element in [2]), but
they MUST use definitions contained in this memo for those elements
already specified here.
Even if in this memo we focus on e-mail addresses, a number of elements
defined in this specification can also be used for other specifications
dealing with embedding GSTN addresses into other addresses: for example
there is some work in progress about URLs specification which adopts
similar definitions, with slight changes in the global syntax due to
specific URL format.
Finally, in this memo we try to mantain maximum compatibility
with existing e-mail gateway services and standard specifications.
In particular we will use as much as possible compatible definitions
with MIXER [3] gateways specifications, in order to facilitate
transparent e-mail address translations without unduly complex mappings.
In this document the formal definitions are described using ABNF
syntax, as defined into [4]. We will also use some of the "CORE
DEFINITIONS" defined in "APPENDIX A - CORE" of that document. The
exact meaning of the capitalised words
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL"
is defined in reference [5].
2. GSTN extended number and pstn-mbox extended format
In reference [1], section 2, the minimal definition of pstn-mbox
includes the global-phone element, and further details are defined
in [1] section 2.1.
However other non global-phone numbering schema are allowed, too.
In order to describe these more general schema, we thus expand the
scenario defining the GSTN extended number format:
gstn-phone = ( global-phone / local-phone )
The complexity of the GSTN system includes also the optional use of
subaddresses and post dialling sequences. As a consequence the extended
definition of pstn-mbox becomes:
pstn-mbox = service-selector "=" global-phone
pstn-mbox =/ service-selector "=" gstn-phone
[ sub-addr-spec ] [post-sep post-dial]
NOTE: see section 4 in case multiple sub-addr-spec per pstn-mbox need
to be specified.
2.1 The local-phone syntax
The local-phone element can be used to represent all possible cases
where the global-phone does not apply. In order to cover all possible
different and complex conventions in use in the GSTN system, the
local-phone definition allows a large number of elements. Please
note that local-phone MUST NOT start with a "+" sign, as this is
reserved for global-phone definition.
We now define in details local-phone:
local-phone = [ exit-code ] [ dial-number ]
exit-code = phone-string
; this include anything needed to enable dialling, like
; the digit to access outside line, the long distance
; carrier access code, the access password to the service,
; etc...
dial-number = phone-string
; this is in many cases composed of different elements
; like the local phone number, the area code (if needed),
; the international country code (if needed), etc...
phone-string = 1*( DTMF / pause / tonewait / written-sep )
DTMF = ( DIGIT / "#" / "*" / "A" / "B" / "C" / "D" )
; special DTMF codes like "*", "#", "A", "B",
; "C", "D" are defined in [6]
; Important Note: this is NOT the alpha to digit
; convention in use in some countries.
pause = "p"
tonewait = "w"
NOTE: "pause" and "tonewait" character interpretation in local-phone numbers
depends on the specific MTA implementation. Thus its exact meaning
need not to be defined here. Both "pause" and "tonewait" are case
insensitive.
The written-sep is defined in [1], section 2.1; other specification for
some particular services (like for example voice messaging service) CAN
allow additional separators. Their definition MUST be detailed into
the documents defining the addressing for the specific service.
Important Note:
A local-phone specification is a sequence which should be dialled
by the MTA specified by mta-I-pstn (see [1], section 3) to reach
the destination device. Other MTAs should only transfer the message
around without modification until the destination MTA is reached.
However, this implementation scenario is extremely complex and full
discussion of it is outside the scope of this document.
2.2 The sub-addr-spec element
In GSTN service there are cases where a sub-addr-spec is required to
specify the final destination. In particular there are ISDN subaddresses
[7], which apply to all possible services, while other types are
limited to specific services (see the fax service T.33 subaddress [8],
[2]).
We must thus be able to specify at least the ISDN subaddress, remembering
that an ISDN subaddress could be supplemented by other subaddress types
(like a fax T.33 [8] subaddress).
As a consequence, the definition of sub-addr-spec is:
sub-addr-spec = [ isdn-sep sub-addr ]
In detail:
isdn-sep = "/ISUB="
; note that "/ISUB=" is case INSENSITIVE
sub-addr = 1*( DIGIT )
sub-addr =/ 1*( DIGIT / written-sep )
2.3 The post-dial element
In some cases, after the connection with the destionation GSTN
device has been established, a further dialling sequence can be
required to access further services; a typical example are the
automated menu-driven services using DTMF sequences on the
telephone services. These sequences are defined as a separator
and a post dial sequence:
post-sep = "/POSTD="
; note that "/POSTD=" is case INSENSITIVE
post-dial = phone-string
A number of gstn-phone examples are listed in section 4
3. The pstn-recipient
The pstn-mbox element is sometimes not enough to specify additional
details, like intended recipient name, physical address, etc.
The optional pstn-recipient element provides information which could
also be used by the offramp gateway to specify the recipient exactly.
As an example, when an offramp fax gateway is involved, the
pstn-recipient element could be used to specify the intended recipient
on a fax cover page.
The pstn-recipient is a sequence of qualif-type1 elements, as defined
in [1], section 2:
pstn-recipient = [ recipient-name ]
[ 1*( recipient-qualifier ) ]
As a consequence, the extended definition of pstn-address becomes:
pstn-address = pstn-mbox [ qualif-type1 ]
pstn-address =/ pstn-mbox [ pstn-recipient ] [ qualif-type1 ]
3.1 The recipient-name
The recipient-name specifies the personal name of the intended
recipient:
recipient-name = "/ATTN="
[ givenname "." ]
[ initials "." ]
surname
The following definitions come directly from MIXER specification [3]:
surname = printablestring
givenname = 1*( DIGIT / ALPHA / SP / "'" / "+" /
"," / "-" / "/" / ":" / "=" / "?" )
initials = 1*ALPHA
NOTE: the "initials" element does not simply specify the
middle initial which is common in some countries; it
allows the complete set of givennames initials in any
possible combination. See examples at section 5.2
It is essential to remember that "pstn-address" element (in all its
components and extensions) MUST strictly follow the "quoting rules"
spcified in the relevant standards [11], [12].
3.2 The extensible recipient-qualifier
The recipient-name is sometimes not enough to specify completely the
intended recipient. An set of elements is thus defined:
recipient-qualifier = ( qualif-type1 / qualif-type2 )
The recipient-qualifier is a qualif-type1 element, and contains
a qualif-type1 element in a recursive definition which allows an
extensible format. However we define at least a number of these
elements, calling them "qualif-type2"
qualif-type2 = "/" qual2-label "=" string
qual2-label = "ORG" / "OFNO" / "OFNA" / "STR" / "ADDR"
"ADDU" / "ADDL" / "POB" / "ZIP" / "CO"
string = PCHAR
; note that printable characters are %x20-7E
printablestring = 1*( DIGIT / ALPHA / SP /
"'" / "(" / ")" / "+" / "," / "-" /
"." / "/" / ":" / "=" / "?" )
; this definition comes from ITU F.401 [9]
; and MIXER [3]
We briefly describe in Table 1 the meaning of qual2-label fields:
Table 1 - qual2-label
qual2-label Description
-----------------------------------------------------------------
"ORG" Organization Name for Physical Delivery (example: ACME Inc)
"OFNO" Office Number for physical delivery (example: BLD2-44)
"OFNA" Office Name for physical delivery (example: Sales)
"STR" Street address for physical delivery (example:
45, Main Street)
"ADDR" Unformatted postal address for physical delivery
(example: HWY 14, Km 94.5 - Loc. Redhill)
"ADDU" Unique postal name for physical delivery (example:
ACMETELEX)
"ADDL" Local postal attrobutes for physical delivery (example:
Entrance 3, 3rd floor, Suite 296)
"POB" Post Office Box for physical delivery
"ZIP" Postal ZIP code for physical delivery
"CO" Country Name for physical delivery
-----------------------------------------------------------------
The above elements are usually enough to exactly specify the intended
recipient of the message.
IMPORTANT NOTE: even if the meaning of the above elements is derived
directly from similar elements available in F.401 specification [9]
their names is explicitly different, in order not to conflict with
specific X.400 addressing rules. Also any additional qualif-type1
element defined in different specification SHOULD use different
label names to avoid possible conflicts.
4. Multiple sub-addr-spec cases
In case there are multiple sub-addr-spec to be given on the same
pstn-mbox then multiple pstn-email elements will be used. The UA could
accept multiple sub-addr-spec elements for the same global-phone /
local-phone, but it MUST generate multiple pstn-mbox, when passing the
message to the MTA.
5. Examples
In order to clarify the specification we present here a limited
set of examples. Many of the examples refer to the fax service,
but also additional possible services are included. Check also
the examples in [1] and [2] for additional information.
5.1 pstn-mbox examples
A pstn-mbox address in Italy for the fax service, dialled from
U.S.A., using local-phone, without sub-addr-spec and without
written-sep:
FAX=0103940226338
A pstn-mbox address in Germany for an hypotetical XYZ service, using
global-phone, with ISDN sub-addr-spec 1234 and written-sep ".":
XYZ=+49.81.7856345/ISUB=1234
A pstn-mbox address in U.S.A. for fax service, using global-phone,
with T.33 sub-addr-spec 8745, with written-sep "-" and post-dial sequence
p1w7005393w373
FAX=+1-202-455-7622/T33S=8745/PostD=p1w7005393w373
A pstn-mbox address in Italy for fax service, using local-phone,
dialed from an MTA in Germany, (international access code "00",
with ISDN subaddress 9823, with T.33 subaddress "4312" and without
pause or written-sep:
FAX=003940226338/Isub=9823/T33S=4312
The same pstn-mbox address in Italy, using local-phone dialed from
an MTA in Italy (long distance call), with long distant access "0",
with exit-code "9", T.33 subaddress "4312", pause "p" and written-sep
".":
FAX=9p040p22.63.38/t33s=4312
A pstn-mbox address in North America for hypotetical service XYZ,
using global-phone, without sub-addr-spec and written-sep "-" and ".":
XYZ=+1.202.344-5723
A pstn-mbox address for fax service in France, using local-phone
dialed from an MTA in France (long distance call), with exit-code
"0", T.33 subaddress "3345" and pause "p":
FAX=0p0134782289/T33s=3345
A pstn-mbox address for fax service in North America, using local-phone,
without sub-addr-spec, without local-number, using only post-dial
sequences to reach numbers stored in a locally defined short-dial numbers
database, where 6743 is an access password, and 99p51 is the sequence to
access the local short-dial number:
FAX=/postd=w6743w99p51
5.2 pstn-recipient examples
Here are a number of pstn-recipient examples. Please note that
pstn-recipient is just an optional element, and thus a pstn-mbox
element also is required in a pstn-address.
A pstn-recipient using only recipient-name, with givenname initials
and surname:
/ATTN=Tom.J.Smiths
A pstn-recipient using only recipient-name, with givenname, a
complete set of initials (including the first name initial "C") and
surname (where the "real life" givennames are "Carlo Maria Luis
Santo" and the surname is "Nascimento"):
/ATTN=Carlo.CMLS.Nascimento
A pstn-recipient using only recipient-name, with givenname and
surname:
/ATTN=Mark.Collins
A pstn-recipient using only recipient-name, with surname only:
/ATTN=Smiths
A pstn-recipient using recipient-name, and one recipient-qualifier
element:
/ATTN=J.Smiths/OFNA=Quaility-control
A pstn-recipient using two recipient-qualifier extension, only:
/OFNO=T2-33A/OFNA=Quality-Ccontrol
A fax-reciepint using some recipient-quelifier for physical delivery:
/STR=45, Main.Street/OFNA=Sales.dept
5.3 pstn-address examples
Some pstn-address examples, obtained combining elements from
previous examples. There are complete addresses which can
be used as "local part" (LHS) element of an e-mail address.
Without optional pstn-recipient (fax service):
FAX=+12023445723
With pstn-recipient (XYZ service):
XYZ=+3940226338/ATTN=Mark.Collins
With pstn-recipient made of two recipient-qualifier extensions
(fax service):
FAX=9p040p22.63.38/t33s=4312/ofno=T2-33A/OFNA=Q-C
5.4 pstn-email examples
Here are the same addresses as before, where "faxgw" is the
mta-I-pstn field for the fax service.
FAX=+12023445723@faxgw
FAX=+39-40-226338/ATTN=Mark.Collins@faxgw
FAX=9p040p226338/T33S=4312/OFNO=T2-33A/OFNA=Q-C@faxgw
FAX=+39040226338/ATTN=Mark.Collins/@faxgw
NOTE: the optional "/" in front for the "@" sign can be generated
by gateways to other services, like MIXER [3].
5.5 A complete SMTP transaction example:
Here is an example of complete SMTP transaction.
S: <listening on SMTP port>
C: <opens connection to SMTP port>
S: 220 foo.domain.com ESMTP service ready
C: EHLO pc.mailfax.com
S: 250 foo.domain.com says hello
C: MAIL FROM:<tom@mailfax.com>
S: 250 <tom@mailfax.com> Sender ok
C: RCPT TO:<FAX=+3940226338@foo.mailfax.com>
S: 250 <FAX=+3940226338> recipient ok
C: DATA
S: 354 Enter your data
C: From: Thomas Blake <tom@mailfax.com>
C: To: Jim Burton <FAX=+3940226338@foo.mailfax.com>
C: Subject: Hello there
C: MIME-version: 1.0
C: Date: Mon, 01 Sep 1997 18:14:23 -0700
C: Content-Type: multipart/mixed; boundary=16820115-1435684603#2306
C:
C: This is a MIME message. It contains a
C: TIFF fax bodypart
C:
C: --16820115-1435684603#2306
C: Content-Type: image/TIFF
C: Content-Tranfer-Encoding: BASE64
C: Content-Description: FAX
C:
C: ABAA745HDKLSW932ALSDL3ANCVSASDFLALSDFA
C: 87AASS2999499ASDANASDF0000ASDFASDFNANN
C: 87BBHDXBADS00288SADFNAZBZNNDNNSNNA11A0
C: H8V73KS0C8JS6BFJEH78CDWWDUJEDF7JKES8==
C: --16820115-1435684603#2306--
C: .
S: 250 Okay
C: QUIT
S: 221 Goodbye
6. Conclusion
This proposal creates a standard set of extensions for GSTN addresses,
enriching the existig minimal specification [1]. The proposal requires
no changes to existing e-mail software, and allows a more detailed
address specification, including per recipient specific elements.
7. Security Considerations
This document specifies a means by which GSTN addresses and more
can be encoded into e-mail addresses. As routing of e-mail messages
is determined by Domain Name System (DNS) information, a succesful
attack on this service could force the mail path via some particular
gateway or message transfer agent where mail security can be
affected by compromised software.
There are several means by which an attacker might be able to
deliver incorrect mail routing information to a client. These
include: (a) compromise of a DNS server, (b) generating a
counterfeit response to a client's DNS query, (c) returning
incorrect "additional information" in response to an unrelated
query. Clients SHOULD ensure that mail routing are based only
on authoritative answers. Once DNS Security mechanisms [7]
become more widely deployed, clients SHOULD employ those mechanisms
to verify the authenticity and integrity of mail routing records.
Some GSTN service require dialing of private codes, like Personal
Identification Numbers, to access special services. As e-mail
addresses are transmitted without encoding over the MTAs transport
service, this could allow unauthorized people to gain access to
these codes when used inside local-phone. Use of double key
encryption techniques for local-phone can solve these security
problem.
8. Copyright
"Copyright (C) The Internet Society (date). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implmentation 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."
9. Appendix: Collected ABNF Syntax
In this section we provide a summary of ABNF specifications defining both
the minimal [1] and the extended elements of pstn-address.
pstn-email = ["/"] pstn-address ["/"] "@" mta-I-pstn
mta-I-pstn = domain
pstn-address = pstn-mbox [ qualif-type1 ]
pstn-address =/ pstn-mbox [ pstn-recipient ] [ qualif-type1 ]
pstn-mbox = service-selector "=" global-phone
pstn-mbox =/ service-selector "=" gstn-phone
[ sub-addr-spec ] [post-sep post-dial]
service-selector = 1*( DIGIT / ALPHA / "-" )
qualif-type1 = "/" keyword "=" string
keyword = 1*( DIGIT / ALPHA / "-" )
string = PCHAR
gstn-phone = ( global-phone / local-phone )
global-phone = "+" 1*( DIGIT , written-sep )
local-phone = [ exit-code ] [ dial-number ]
exit-code = phone-string
dial-number = phone-string
phone-string = 1*( DTMF / pause / tonewait / written-sep )
DTMF = ( DIGIT / "#" / "*" / "A" / "B" / "C" / "D" )
written-sep = ( "-" / "." )
pause = "p"
tonewait = "w"
sub-addr-spec = [ isdn-sep sub-addr ]
isdn-sep = "/ISUB="
sub-addr = 1*( DIGIT )
sub-addr =/ 1*( DIGIT / written-sep )
post-sep = "/POSTD="
post-dial = phone-string
pstn-recipient = [ recipient-name ]
[ 1*( recipient-qualifier ) ]
recipient-name = "/ATTN="
[ givenname "." ]
[ initials "." ]
surname
surname = printablestring
givenname = 1*( DIGIT / ALPHA / SP / "'" / "+" /
"," / "-" / "/" / ":" / "=" / "?" )
initials = 1*ALPHA
recipient-qualifier = ( qualif-type1 / qualif-type2 )
qualif-type2 = "/" qual2-label "=" string
qual2-label = "ORG" / "OFNO" / "OFNA" / "STR" / "ADDR"
"ADDU" / "ADDL" / "POB" / "ZIP" / "CO"
printablestring = 1*( DIGIT / ALPHA / SP /
"'" / "(" / ")" / "+" / "," / "-" /
"." / "/" / ":" / "=" / "?" )
10. Author's Address
Claudio Allocchio
Sincrotrone Trieste
SS 14 Km 163.5 Basovizza
I 34012 Trieste
Italy
RFC822: Claudio.Allocchio@elettra.trieste.it
X.400: C=it;A=garr;P=Trieste;O=Elettra;
S=Allocchio;G=Claudio;
Phone: +39 40 3758523
Fax: +39 40 3758565
11. References
[1] Allocchio, C., "Minimal PSTN address format in Internet Mail",
RFC 2303, March 1998.
[2] Allocchio, C., "Minimal FAX address format in Internet Mail",
RFC 2304, March 1998.
[3] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay): Mapping
between X.400 and RFC 822/MIME", RFC 2156, January 1998.
[4] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications", RFC 2234, November 1997.
[5] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, March 1997.
[6] 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)
[7] ITU E.164 - Numbering plan for the ISDN era; recommendation
E.164/I.331 (August 1991)
[8] ITU T.33 - Facsimile routing utilizing the subaddress; recommendation
T.33 (July, 1996)
[9] ITU F.401 - Message Handling Services: Naming and Addressing for
Public Massage Handling Service; reccommendation F.401 (August 1992)
[10] ITU F.423 - Message Handling Services: Intercommunication Between
the Interpersonal Messaging Service and the Telefax Service;
reccommendation F.423 (August 1992)
[11] Crocker, D., " Standard for the format of ARPA Internet text
messages", STD 11, RFC 822, August 1982.
[12] Braden, R., "Requirements for Internet hosts - application and
support", RFC 1123, October 1989.
| PAFTECH AB 2003-2026 | 2026-04-23 11:21:18 |