One document matched: draft-ietf-fax-addressing-00.txt
Network Working C. Allocchio
Group GARR-Italy
INTERNET-DRAFT September 1997
Expires: March 1998
File: draft-ietf-fax-addressing-00.txt
Fax address format in e-mail services
v3.1
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
Since the very first e-mail to fax gateway objects appeared, a
number of different methods to specify a fax address into an
e-mail address have been used by implementors. Two major objectives
for this were
- enable an e-mail user to send faxes from his/her e-mail
interface;
- enable some kind of "fax over e-mail service" transport, to
reduce the costs of fax transmissions, and use the existing
e-mail infrastructure.
This memo describes a method to encode fax addresses into
e-mail addresses. The opposite problem, i.e. to allow a
traditional numeric-only fax machine user to access the e-mail
transport service is not discussed here.
This memo focuses on a generic e-mail service, being mainly
composed by the two major standard interconnected e-mail services,
Internet Mail and X.400, surrounded by a variety of non standard
(mainly LAN-based) e-mail serivces with their gateways to one or
both of the standard services.
The TPC.INT experiment already proposes a method to encode into the
Internet DNS fax Public Switched Telephone Network (PSTN) addresses.
However TPC.INT approach is more oriented towards a "fax routing
strategy", i.e. to create a public fax routing service that uses
the Internet e-mail service, where the Internet DNS service provides
embedded fax routing information. Such an approach, however, does
not scale to closed users' group, or to LAN-based fax services.
TPC.INT approach is not in competition with this proposal, though.
In fact the TPC.INT addressing schema is one of the many possible
methods to address a so called "I-fax device" in the Internet.
Finally, in this proposal we try to obtain maximum compatibility
with existing e-mail gateway services and standard specifications.
In particular it allows tunneling of the Internet e-mail fax messages
across X.400 services (via MIXER gateways), and also facilitate
access to existing fax gateway services over different e-mail
transport systems with minimal or null modifications to existing
installed base.
2. Fax address
In order to create a flexible and extensible set of definition, we
need to define uniquely the meaning of the diffrerent tokens composing
what is commonly called "fax address".
A fax-address is composed of two main parts:
- a global or local fax telephone number (possibly supplemented
by a subaddress), called fax-mbox
- an optional set of additional items, useful to add information
about the fax recipient, called fax-recipient.
The fax-mbox element is sometimes not enough to specify additional
details, like intended recipient name, physical address, etc.
The optional fax-recipient element provides information which can
also be used by the offramp gateway to compose a fax cover page.
NOTE: The fax-address is the "local" (also known as "Left Hand
Side" or LHS) section of an e-mail address, i.e. the
element on the left of the "@" sign.
We define:
fax-address ::= fax-mbox
[ fax-recipient ]
fax-mbox ::= "FAX=" ( global-phone / local-phone )
[ sub-sep sub-addr ] [post-sep post-dial]
; note that "FAX=" is case INSENSITIVE.
NOTE: see section 4 in case multiple sub-addr need to be
specified.
global-phone ::= "+" int-country-code
[ area-code ]
local-number
; This is in agreement with ITU E.164 specification.
; area-code can be omitted only for countries
; which do not use an area-code system.
; This is a globally unique identifier on the PSTN
; and it must be reachable from anywhere.
NOTE: the pause character is not allowed in global-phone. If the User
Agent (UA) allow insertion of the pause character also into
the global-phone object, then this must be removed before
submission to the MTA.
local-phone ::= ( local-type1 / local-type2 / local-type3 )
NOTE: a local-phone specification is a sequence of digits and pauses
which should be dialled by the MTA specified by mta-I-fax (see
section 3) to reach the destination fax device. Other MTAs should
only transfer the message around without modification until then
given destination MTA is reached. However the implementation
scenario is complex and its full discussion is out of scope in
this document.
local-type1 ::= [ exit-code ]
int-access-code
int-country-code
[ [ pause ] area-code ]
[ pause ] local-number
; this is the usual number dialed on traditional
; fax devices for an international call.
; area-code can be omitted only for countries
; which do not use an area-code system.
local-type2 ::= [ exit-code ]
long-distance-access area-code
[ pause ] local-number
; this is the usual number dialed on traditional
; fax devices for a national long distance call.
local-type3 ::= [ exit-code ]
[ local-number ]
; this is the usual number dialed on traditional
; fax devices for a local call or in countries
; where the area-code is not in use.
; Note that it could also be totally missing for
; cases where the local dialling device rely on
; local post-dial sequences only.
int-country-code ::= 1*DIGIT
; without the local international access
; prefix
int-access-code ::= 1*DIGIT
; examples: "00", "010", "19"
long-distance-access ::= 1*DIGIT
; in many countries this code is "0" or "1"
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
; and also allows special DTMF "#" and "*" codes
area-code ::= 1*DIGIT
; without the eventual leading long-distance-access code.
; NOTE: some countries do not use an internal area-code
; structure
local-number ::= 1*( DIGIT / pause )
; this is the usual number dialed on traditional
; fax devices for a local call
IMPORTANT NOTE: the description of local-phone is complex due to a large
number of possible variants in the existing phone systems. However its own
structure can also be described as a 'sequence of DIGIT, pause, tonewait,
"#" and "*" appropriate to the local dialling environment in order to
reach the final destination device'.
phone-string ::= 1*( DIGIT / pause / tonewait / "#" / "*" )
; this includes also "#" and "*" DTMF codes.
sub-sep ::= ( t33-sep / isdn-sep )
t33-sep ::= ( "s" / "S" )
isdn-sep ::= ( "i" / "I")
> Alternative: we can consider sub-addr as more explicitly separated with
>
> t33-sep ::= "/TSUB="
> ; note that "/TSUB=" is case INSENSITIVE
>
> isdn-sep ::= "/ISUB="
> ; note that "/ISUB=" is case INSENSITIVE
>
sub-addr ::= 1*DIGIT
pause ::= ( "p" / "P" )
tonewait ::= ( "w" / "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.
post-sep ::= ( "a" / "A" )
> Alternative: we can consider post-dial as more explicitly separated with
>
> post-sep ::= "/POSTD="
> ; note that "/POSTD=" is case INSENSITIVE
>
post-dial ::= phone-string
; this include anything needed to access the final device
; on the PSTN, like further dialing sequenes
; and also allows special DTMF "#" and "*" codes
A number of fax-mbox examples are listed in section 5.1
We define now the optional and extensible fax-recipient item:
fax-recipient ::= [ recipient-name ]
[ 1*( recipient-qualifier ) ]
recipient-name ::= ( personal-type1 / personal-type2 )
personal-type1 ::= "/PN="
[ givenname [ "." ] ]
[ initials [ "." ] ]
surname
; this is compatible with ITU F.401
personal-type2 ::= [ "/G=" givenname ]
[ "/I=" initials ]
"/S=" surname
; this is compatible with ITU F.401
givenname ::= 1*( DIGIT / ALPHA )
initials ::= 1*( DIGIT / ALPHA )
surname ::= 1*( DIGIT / ALPHA )
NOTE: the two possible formats of recipient-name are both in
common use. Implementations should accept both, but
generate personal-type1 only.
And also the extensible recipient-qualifier:
recipient-qualifier :== ( qualif-type1 / qualif-type2 )
qualif-type1 ::= "/" keyword "=" string
keyword ::= 1*( DIGIT / ALPHA / "-" )
; note that SP (space) is not allowed in keyword
qualif-type2 ::= "/" x400-label "=" printablestring
x400-label ::= ( "GQ" / "O" / "OU1" / "OU2" / "OU3" / "OU4" /
"P" / "A" / "C" / "PD-PN" / "PD-EA" / "PD-ED" /
"PD-OFN" / "PD-OF" / "PD-O" / "PD-S" / "PD-A" /
"PD-U" / "PD-L" / "PD-R" / "PD-B" / "PD-PC" /
"PD-SN" / "PD-C" / "X121" / "E164" / "PSAP" /
"N-ID" / "T-ID" / "T-TY" / "DD." dd-key )
; this is the full list of existing text labels
; according to ITU F.401. "PD-x" labels provide
; a set of predefined attributes for physical
; delivery which can be also useful for fax
; recipient identification.
dd-key ::= 1*( DIGIT / ALPHA / "-" )
; note that SP (space) is not allowed in dd-key
string ::= PCHAR
; note that printable characters are %x20-7E
printablestring ::= 1*( DIGIT / ALPHA / SP /
"'" / "(" / ")" / "+" / "," / "-" /
"." / "/" / ":" / "=" / "?" )
; this definition comes from ITU F.401 and
; [MIXER].
NOTE: if we use WSP and other specials in string, the obtained
fax-address will result in quoted-string; this could create
problems to some existing broken MTA and UA implementations.
WSP and specials are defined in [rfc822bis].
The specific use of extension keywords, and the eventual registration
of extension keyword is out of the scope of this specification. Specific
qualif-type1 and qualif-type2 use is an implementation issue.
The fax-recipient object is intended to specify per-recipient elements to
be used on the fax cover page generated by the MTA given in mta-I-fax.
See also appendix A for additional details on cover generation elements.
See section 5.2 for fax-recipient examples.
3. The e-mail address of the I-fax device: mta-I-fax
An "I-fax device" owns an e-mail address, or to be more exact, a
name which enables a mail system to identify it on the e-mail
global system.
In Internet mail, this is the Right Hand Side (RHS) part of the
address, i.e. the part on the right of the "@" sign. We will call
this mta-I-fax.
mta-I-fax ::= domain
where domain SHALL be a fully-qualified canonical domain name as
defined in RFC 1035 and the SMTP specification syntax production
for <domain> as defined in RFC 821.
> Note: check for correct reference definition
4. The fax-email
The complete structure used to transfer a fax address over the Internet
e-mail transport system is called fax-email. This object is a an e-mail
address which conforms to RFC822 addr-spec syntax, with extra structure
which allows the fax number to be identified.
fax-email ::= ["/"] fax-address ["/"] "@" mta-I-fax
NOTE: the optional "/" characters can result from other mail transport
services gateways, where it is also an optional element.
Implementations should accept it, but should not generate such
element.
In case there are multiple sub-addr to be given on the same fax-mbox
then multiple fax-email elements will be used. The UA could accept
multiple sub-addr elements for the same global-phone / local-phone,
but it must generate multiple fax-mbox, when passing the message to
the MTA.
5. Examples
In order to clarify the specification we present here a limited
set of examples.
5.1 fax-mbox examples
A fax-mbox address in Italy, using global-phone, without sub-addr:
FAX=+3940226338
A fax-mbox address in Germany, using global-phone, with T.33 sub-addr
1234:
FAX=+49817856345s1234
A fax-mbox address in U.S.A., using global-phone, with ISDN sub-addr
8745 and post-dial sequence p1w7005393w373
FAX=+12024557622i8745Ap1w7005393w373
A fax-mbox address in Italy, using local-phone, dialed from an MTA in
Germany, with int-access-code "00", with T.33 subaddress "4312" and
without pause:
FAX=003940226338s4312
The same fax-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" and pause "p":
FAX=9p040p226338s4312
A fax-mbox address in North America, using global-phone, without
sub-addr:
FAX=+12023445723
A fax-mbox address in France (no real area-code system), using
local-phone dialed from an MTA in France (long distance call), with
exit-code "0", T.33 subaddress "3345" and pause "p":
FAX=0p34782289s3345
A fax-mbox address in North America, using local-phone, without
sub-addr, 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=w6743w99p51
5.2 fax-recipient examples
Here are a number of fax-recipient examples. Please note that
fax-recipient is just an optional element, and thus a fax-mbox
element also is required in a fax-address.
A fax-recipient using only recipient-name of personal-type1,
with givenname initials and surname:
/PN=Tom.J.Smiths
A fax-recipient using only recipient-name of personal-type1,
with givenname and surname:
/PN=Mark.Collins
A fax-recipient using only recipient-name of personal-type2,
with surname only:
/S=Smiths
A fax-recipient using recipient-name of personal-type1, and
one recipient-qualifier extension:
/PN=J.Smiths/dept=Quaility-control
A fax-recipient using two recipient-qualifier extension, only:
/office=T2-33A/dept=Q-C
A fax-reciepint using some recipient-quelifier extension derived from
ITU F.401 physical delivery label set:
/PD-S=Main.Street/PD-SN=45/PD-OF=Sales.dept
5.3 fax-address examples
Some fax-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 fax-recipient:
FAX=+12023445723
With fax-recipient of personal-type1:
FAX=+3940226338/PN=Mark.Collins
With fax-recipient made of two recipient-qualifier extensions:
FAX=9p040p226338s4312/office=T2-33A/dept=Q-C
5.4 fax-email examples
Here are the same addresses as before, where "faxgw" is the
mta-I-fax field:
FAX=+12023445723@faxgw
FAX=+3940226338/PN=Mark.Collins@faxgw
FAX=9p040p226338s4312/office=T2-33A/dept=Q-C@faxgw
FAX=+3940226338/PN=Mark.Collins/@faxgw
NOTE: the optional "/" in front for the "@" sign can be generated
by gateways to other services, like MIXER.
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.mailfax.com ESMTP service ready
C: EHLO pc.mailfax.com
S: 250 foo.mailfax.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: <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:
C: This is a MIME message. It contains a
C: TIFF-F fax bodypart
C:
C:--16820115-1435684603#2306
C: Content-Type: image/TIFF-F
C: Content-Tranfer-Encoding: BASE64
C: Content-Description: FAX
C:
C: ABAA745HDKLSW932ALSDL3ANCVSASDFLALSDFA
C: 87AASS2999499ASDANASDF0000ASDFASDFNANN
C: 87BBHDXBADS00288SADFNAZBZNNDNNSNNA11A0
C:
C:--16820115-1435684603#2306
C: .
S: 250 Okay
C: QUIT
S: 221 Goodbye
6. Conclusion
With this proposal we try to create a standard encoding for fax
addresses within global e-mail transport system. The proposal
requires no changes to existing e-mail software. An update to
existing MIXER gateways specification is envisaged, to extend
accessibility also to X.400 fax gateway services in a transparent
way.
7. Security Considerations
Security consideration are still to be defined...
8. 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
A. Fax cover generation issues
In electronic mail world, messages contain an header which gives
information about different items: some of them are intended for
message identification, while others contain information usable by
the recipient.
The equivalent of the message headers for faxes is the fax cover, as
it also conveys similar information. Moreover for faxes there are
sometimes legal and official requirements which makes compulsory the
generation of certain information of the fax cover.
The fax cover generation is a complex topic and needs a detailed
study. In this appendix we only define some methods and equivalences
for fax cover generation starting from RFC822 message headers and we
suggest some examples on how fax-recipient optional fields can be used
on the fax cover. For the complete description of fax cover generation
methods, please refer to [document in preparation].
A.1 Use of message header fields for cover generation
In this section we define a set of message headers which should be
included in fax message cover. These headers will be included for all
recipients of the fax message.
The following header fields, when present, must be included into the
generated fax cover page:
Date Message-Id Reply-To Sensitivity
From Importance Subject
To Cc Bcc
NOTE: if fax message is generated from a Bcc destination address, "blind
carbon copy" rules apply, i.e. other recipients must not be present
on fax cover.
Any other header field may be included, when present, into the generated
fax cover page.
A.2 Cover page elements generated from fax-recipient information
Using the optional fax-recipient information, the sender can specify
further detailed information to be used (also for) fax cover generation.
This information will be included only on the fax cover page being
generated for the specific fax-mbox.
A.2.1 recipient-name
The recipient-name field, if present, must be included on the fax cover
page. The field must be used to specify the name of the intended fax
recipient.
A.2.2 recipient-qualifier
The recipient-qualifier field, if present, should be included on the fax
cover page. Due to its "label" = "value" format, it is suggested to
generate fax cover fields in a consistent syntax, for example:
label: value
A set of "label" human readable descriptions for x400-label is given
in ITU F.401, tables B-1/F.401, B-2/F.401, B-3/F.401; they could suggest
a consistent method for some fax cover fields representation.
B. References
to be completed
*
* reference for Importance and Sensitivity (RFCxxx)
* reference for ITU F.401
* reference for ITU E.164
* reference for RFC1035 (and others)
| PAFTECH AB 2003-2026 | 2026-04-23 11:33:26 |