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-20262026-04-23 11:33:26