home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1494.txt < prev    next >
Text File  |  1996-05-07  |  38KB  |  635 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      H. Alvestrand Request for Comments: 1494                                  SINTEF DELAB                                                              S. Thompson                                                        Soft*Switch, Inc.                                                              August 1993 
  8.  
  9.        Equivalences between 1988 X.400 and RFC-822 Message Bodies 
  10.  
  11. Status of this Memo 
  12.  
  13.    This RFC specifies an IAB standards track protocol for the Internet    community, and requests discussion and suggestions for improvements.    Please refer to the current edition of the "IAB Official Protocol    Standards" for the standardization state and status of this protocol.    Distribution of this memo is unlimited. 
  14.  
  15. Table of Contents 
  16.  
  17.    1.  Introduction .............................................    2    2.  Equivalence Table Definition .............................    2    3.  Generic conversions ......................................    3    3.1.  Byte copy ..............................................    3    3.2.  Text Conversion ........................................    3    3.3.  Image Conversion .......................................    3    3.4.  Tunneling ..............................................    3    4.  Conversion Table for known X.400 and MIME  Types .........    4    4.1.  MIME to X.400 Table ....................................    4    4.2.  X.400 to MIME Table ....................................    4    5.  Newly defined X.400 Body Parts ...........................    5    5.1.  Use of OBJECT IDENTIFIERs and ASN.1 MACROS .............    5    5.2.  The Generic MIME Extended Body Part ....................    6    5.3.  The PostScript body part ...............................    7    5.4.  The JPEG body part .....................................    7    5.5.  The GIF body part ......................................    8    6.  Newly defined MIME content-types .........................    8    6.1.  The application/x400-bp content-type ...................    8    6.2.  The image/g3fax content-type ...........................    9    6.2.1.  G3Fax Parameters .....................................    9    6.2.2.  Content Encoding .....................................   10    6.3.  The Application/ODA content-type .......................   11    7. Equivalence Definitions ...................................   11    7.1. IA5Text - text/plain ....................................   11    7.2. GeneralText - text/plain (ISO-8859) .....................   12    7.3. BilaterallyDefined -  application/octet-stream ..........   13    7.4. ODA - application/oda ...................................   14    7.5. g3-facsimile - image/g3fax ..............................   15    7.6. application/postscript -  postscript-body-part ..........   16    7.7. application/jpeg - jpeg-body-part .......................   16 
  18.  
  19.  
  20.  
  21. Alvestrand & Thompson                                           [Page 1] 
  22.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  23.  
  24.     7.8. image/gif - gif-body-part ...............................   16    8. OID Assignments ...........................................   17    9. IANA Registration form for new mappings ...................   17    10. Security Considerations ..................................   18    11. Authors' Addresses .......................................   18    12. References ...............................................   19 
  25.  
  26. 1.  Introduction 
  27.  
  28.    This document is a companion to [1], which defines the principles    behind interworking between MIME-based RFC-822 mail and X.400 mail.    This document describes the content of the "IANA MHS/MIME Equivalence    table" referenced in the companion document, and defines the initial    configuration of this table.  Mappings for new MIME content-types    and/or X.400 body part types should be registered with the IANA to    minimize redundancy and promote interoperability. 
  29.  
  30.    In MIME, the term "content-type" is used to refer to an information    object contained in the body of a message.  In contrast, X.400 uses    the term "body part type."  In this document, the term "body part" is    used to refer to either. 
  31.  
  32.    Please send comments to the MIME-MHS mailing list:    <mime-mhs@surfnet.nl>. 
  33.  
  34. 2.  Equivalence Table Definition 
  35.  
  36.    For each MIME content-type/X.400 body part pair, the Equivalence    Table will contain an entry with the following sections: 
  37.  
  38.    X.400 Body Part         This section identifies the X.400 Body Part governed by this         Table entry. It includes any OBJECT IDENTIFIERs or other         parameters necessary to uniquely identify the Body Part. 
  39.  
  40.    MIME Content-Type         This section identifies the MIME content-type governed by this         Table entry.  The MIME content-type named here must be         registered with the IANA. 
  41.  
  42.    Conversion Type         This section identifies the type of conversion applied.  See the         section on Generic Conversions for an explanation of the         possible values. 
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. Alvestrand & Thompson                                           [Page 2] 
  51.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  52.  
  53.     Comments (optional)         This section gives any additional commentary that might be         useful in understanding the mapping between the X.400 and MIME         representations. 
  54.  
  55.    The initial Equivalence Table entries in this document are described    using this convention.  Any future submissions to the IANA should    follow this format. 
  56.  
  57. 3.  Generic conversions 
  58.  
  59. 3.1.  Byte copy 
  60.  
  61.    This is the trivial case, that is, no conversion at all.  The byte    stream is simply copied between MIME and X.400. 
  62.  
  63.    This is the preferred conversion, since it is the simplest. 
  64.  
  65.    Implementors and vendors will be registering OBJECT IDENTIFIERs and    MIME content-types for their various objects.  They are STRONGLY    ENCOURAGED to specify their content formats such that a gateway can    use Byte Copy to map between them. 
  66.  
  67.    Note that in some cases, it is necessary to define exactly which    ASN.1 construct to replace with the content of the MIME object. 
  68.  
  69. 3.2.  Text Conversion 
  70.  
  71.    This type of conversion applies to text objects that cannot be mapped    using a simple Byte Copy.  Conversion involves scanning and    reformatting the object.  For example, the MIME and X.400 objects    might differ in their encoding of nonstandard characters, or line or    page breaks. 
  72.  
  73. 3.3.  Image Conversion 
  74.  
  75.    This conversion type applies to raster images, like Group 3 Facsimile    or JPEG.  Again, it differs from Byte Copy in that it involves    scanning reformatting the byte stream.  It differs from Text    Conversion in that it is pixel- oriented, rather than character-    oriented. 
  76.  
  77. 3.4.  Tunneling 
  78.  
  79.    This is not a conversion at all, but an encapsulation of the object.    This is the fallback conversion, used when no explicit mapping    applies. 
  80.  
  81.  
  82.  
  83.  Alvestrand & Thompson                                           [Page 3] 
  84.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  85.  
  86.  4.  Conversion Table for known X.400 and MIME Types 
  87.  
  88.    This section itemizes the equivalences for all currently known MIME    content-types and X.400 body parts. 
  89.  
  90. 4.1.  MIME to X.400 Table 
  91.  
  92.        MIME content-type          X.400 Body Part             Section        -----------------          ------------------          -------        text/plain          charset=us-ascii         ia5-text                     7.1          charset=iso-8859-x       EBP - GeneralText            7.2        text/richtext              no mapping defined           5.2        application/oda            EBP - ODA                    7.4        application/octet-stream   bilaterally-defined          7.3        application/postscript     EBP - mime-postscript-body   5.4, 7.6        image/g3fax                g3-facsimile                 6.2, 7.5        image/jpeg                 EBP - mime-jpeg-body         5.5, 7.7        image/gif                  EBP - mime-gif-body          5.6, 7.8        audio/basic                no mapping defined           5.2        video/mpeg                 no mapping defined           5.2 
  93.  
  94.        Abbreviation: EBP - Extended Body Part 
  95.  
  96. 4.2.  X.400 to MIME Table 
  97.  
  98.                                 Basic Body Parts 
  99.  
  100.        X.400 Basic Body Part      MIME content-type           Section        ---------------------      --------------------        -------        ia5-text                   text/plain;charset=us-ascii 7.1        voice                      No Mapping Defined          6.1        g3-facsimile               image/g3fax                 6.2, 7.5        g4-class1                  no mapping defined          6.1        teletex                    no mapping defined          6.1        videotex                   no mapping defined          6.1        encrypted                  no mapping defined          6.1        bilaterally-defined        application/octet-stream    7.3        nationally-defined         no mapping defined          6.1        externally-defined         See Extended Body Parts     6.1 
  101.  
  102.        X.400 Extended Body Part  MIME content-type              Section        ------------------------- --------------------           -------        GeneralText               text/plain;charset=iso-8859-x  7.2        ODA                       application/oda                7.4        mime-postscript-body      application/postscript         5.3, 7.6        mime-jpeg-body            image/jpeg                     5.4, 7.7        mime-gif-body             image/gif                      5.5, 7.8 
  103.  
  104.  
  105.  
  106. Alvestrand & Thompson                                           [Page 4] 
  107.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  108.  
  109.  5.  Newly defined X.400 Body Parts 
  110.  
  111.    This section defines new X.400 Body Parts for the purposes of    interworking with MIME. 
  112.  
  113.    All new X.400 Body Parts defined here will be Extended Body Parts, as    defined in CCITT Recommendation X.420 [2]. 
  114.  
  115. 5.1.  Use of OBJECT IDENTIFIERs and ASN.1 MACROS 
  116.  
  117.    X.420 dictates that Extended Body Parts shall: 
  118.  
  119.        (1)  use OBJECT IDENTIFIERs (OIDs) to uniquely identify             the contents, and 
  120.  
  121.        (2)  be defined by using the ASN.1 Macro: 
  122.  
  123.                EXTENDED-BODY-PART-TYPE MACRO::=                BEGIN                   TYPE NOTATION  ::= Parameters Data                   VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER) 
  124.  
  125.                   Parameters     ::=  "PARAMETERS" type "IDENTIFIED"                                       "BY" value(OBJECT IDENTIFIER)                                     | empty;                   Data           ::= "DATA" type                END 
  126.  
  127.    To meet these requirements, this document uses the OID 
  128.  
  129.       mime-mhs-bodies 
  130.  
  131.    defined in [1], as the root OID for X.400 Extended Body Parts defined    for MIME interworking. 
  132.  
  133.    Each Extended Body Part contains Data and optional Parameters, each    being named by an OID.  To this end, two OID subtrees are defined    under mime-mhs-bodies, one for Data, and the other for Parameters: 
  134.  
  135.           mime-mhs-bp-data  OBJECT IDENTIFIER ::=                           { mime-mhs-bodies 1 }           mime-mhs-bp-parameter OBJECT IDENTIFIER ::=                           { mime-mhs-bodies 2 } 
  136.  
  137.    All definitions of X.400 body parts submitted to the IANA for    registration must use the Extended Body Part Type macro for the    definition.  See the next section for an example. 
  138.  
  139.  
  140.  
  141.  Alvestrand & Thompson                                           [Page 5] 
  142.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  143.  
  144.     Lastly, the IANA will use the mime-mhs-bp-data and mime-mhs-bp-    parameter OIDs as root OIDs for any new MIME content-type/subtypes    that aren't otherwise registered in the Equivalence Table. 
  145.  
  146. 5.2.  The Generic MIME Extended Body Part 
  147.  
  148.    The following X.400 Body Part is defined to carry any MIME content-    type for which there is no explicit IANA registered mapping. 
  149.  
  150.          mime-body-part EXTENDED-BODY-PART-TYPE             PARAMETERS MimeParameters                IDENTIFIED BY mime-generic-parameters             DATA            OCTET STRING             ::= mime-generic-data 
  151.  
  152.          MimeParameters ::=              SEQUENCE {                  content-type       IA5String,                  content-parameters SEQUENCE OF                                     SEQUENCE {                                         parameter          IA5String,                                         parameter-value    IA5String                                     } 
  153.  
  154.                                     -- from RFC-1327, sec. 5.1.12                  other-header-fields RFC822FieldList              } 
  155.  
  156.          mime-generic-parameters OBJECT IDENTIFIER ::=              { mime-mhs-bp-parameter 1 }          mime-generic-data       OBJECT IDENTIFIER ::=              { mime-mhs-bp-data  1 } 
  157.  
  158.    To convert the MIME content-type into the X.400 mime- body-part: 
  159.  
  160.        (1)  Copy the "type/subtype" string from the MIME             Content-Type: header field into             MimeParameters.content-type 
  161.  
  162.        (2)  For each "parameter=value" string in the MIME             Content-Type header field, create a             MimeParameters.content-parameters structure, and copy             the "parameter" string into MimeParameters.content-             parameters.parameter field and the "value" string             into the paired MimeParameters.content-             parameters.parameter-value field. 
  163.  
  164.        (3)  Convert the MIME body part into its canonical form. 
  165.  
  166.  
  167.  
  168. Alvestrand & Thompson                                           [Page 6] 
  169.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  170.  
  171.              (See appendix H of RFC 1341 [3] for a discussion             of canonical in this context.) Said another way,             reverse the transfer encoding to recover the original             byte stream. 
  172.  
  173.        (4)  Copy the canonical byte stream into the mime-body-             part.data octet string. 
  174.  
  175.        (5)  Remove the Content-type and the Content-transfer-             encoding header fields from the MIME body part's             RFC822 header. 
  176.  
  177.        (6)  Any header fields starting with "Content-" in the             MIME body part is placed in the optional other-             header-fields structure. Note that this can only             occur when the MIME content-type occurs as part of a             "multipart" content-type. 
  178.  
  179.    The mapping from the X.400 mime-body-part to a MIME content-type is    the inverse of the above steps. 
  180.  
  181. 5.3.  The PostScript body part 
  182.  
  183.    The following Extended Body Part is defined for PostScript data    streams.  It has no parameters. 
  184.  
  185.          postscript-body-part EXTENDED-BODY-PART-TYPE 
  186.  
  187.            DATA             OCTET STRING            ::= mime-postscript-body 
  188.  
  189.          mime-postscript-body OBJECT IDENTIFIER ::=                    { mime-mhs-bp-data 2 } 
  190.  
  191. 5.4.  The JPEG body part 
  192.  
  193.    The following Extended Body Part is defined for JPEG data streams.    It has no parameters. 
  194.  
  195.           jpeg-body-part EXTENDED-BODY-PART-TYPE             DATA            OCTET STRING             ::= mime-jpeg-body 
  196.  
  197.           mime-jpeg-body OBJECT IDENTIFIER ::=                   { mime-mhs-bp-data 3 } 
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  Alvestrand & Thompson                                           [Page 7] 
  204.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  205.  
  206.  5.5.  The GIF body part 
  207.  
  208.    The following Extended Body Part is defined for GIF data streams.  It    has no parameters. 
  209.  
  210.           gif-body-part EXTENDED-BODY-PART-TYPE             DATA            OCTET STRING             ::= mime-gif-body 
  211.  
  212.           mime-gif-body OBJECT IDENTIFIER ::=                   { mime-mhs-bp-data 4 } 
  213.  
  214. 6.  Newly defined MIME content-types 
  215.  
  216.    This section defines new MIME content-types for the purposes of    interworking with X.400. 
  217.  
  218. 6.1.  The application/x400-bp content-type 
  219.  
  220.    This content-type is defined to carry any X.400(88) body part for    which there is no registered IANA mapping. 
  221.  
  222.        The content-type field is 
  223.  
  224.          application/x400-bp 
  225.  
  226.        The parameters are: 
  227.  
  228.              bp-type=<INTEGER or OBJECT IDENTIFIER> 
  229.  
  230.    The body contains the raw ASN.1 IPM.body octet stream, including the    initial tag octet. 
  231.  
  232.    If the body is a basic body part, the bp-type parameter is set to the    number of the body part's context-specific tag, that is, the tag of    the IPMS.Body.BodyPart component. 
  233.  
  234.    If the body is an Extended Body Part, the bp-type parameter is set to    the OBJECT IDENTIFIER from 
  235.  
  236.             IPMS.body.externally-defined.data.direct-reference 
  237.  
  238.    No attempt is made to turn the parameters of Extended Body Parts into    MIME parameters.  (This task is the responsibility of the recipient's    UA). 
  239.  
  240.    For example, a basic VideotexBodyPart will have 
  241.  
  242.  
  243.  
  244.  Alvestrand & Thompson                                           [Page 8] 
  245.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  246.  
  247.        Content-type=application/x400-bp; bp-type=6 
  248.  
  249.    whilst a Extended Videotex body part will have 
  250.  
  251.       Content-type=application/x400-bp; bp-type=2.6.1.4.5 
  252.  
  253.    application/x400-bp will need a content-transfer-encoding of base64    or quoted-printable when carried in 7-bit MIME.  Since there is no    way to know beforehand the content, it is recommended to just inspect    the first 1 KByte or so of data and choose the one that seems to    produce the more compact encoding. 
  254.  
  255.    If this is not feasible, Base64 is recommended. 
  256.  
  257. 6.2.  The image/g3fax content-type 
  258.  
  259.    This content-type is defined to carry G3 Facsimile byte streams. 
  260.  
  261.    In general, a G3Fax image contains 3 pieces of information: 
  262.  
  263.        (1)  A set of flags indicating the particular coding             scheme.  CCITT Recommendation T.30 defines how the             flags are transmitted over telephones. In this             medium, the flags are carried as parameters in the             MIME content-type header field. 
  264.  
  265.        (2)  A structure that divides the bits into pages.  CCITT             recommendation T.30 describes how to define page             boundaries.  A page break algorithm is defined here             that is independent of how the image data is             conveyed. 
  266.  
  267.        (3)  For each page, a sequence of bits that form the             encoding of the image.  CCITT recommendation T.4             defines the bit image format.  This is used without             change. 
  268.  
  269. 6.2.1.  G3Fax Parameters 
  270.  
  271.    The following parameters are defined: 
  272.  
  273.        (1)  page-length - possible values: A4, B4 and Unlimited 
  274.  
  275.        (2)  page-width - possible values: A3, A4, B4 
  276.  
  277.        (3)  encoding - possible values: 1-dimensional, 2-             dimensional, Uncompressed 
  278.  
  279.  
  280.  
  281.  Alvestrand & Thompson                                           [Page 9] 
  282.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  283.  
  284.         (4)  resolution - possible values: Fine, Coarse 
  285.  
  286.        (5)  DCS - a bit string, represented in Base64. 
  287.  
  288.        (6)  pages - an integer, giving the number of pages in the             document 
  289.  
  290.    If nothing is specified, the default parameter settings are: 
  291.  
  292.          page-length=A4          page-width=A4          encoding=1-dimensional          resolution=Coarse 
  293.  
  294.    It is possible (but misleading) to view the representation of these    values as single-bit flags. They correspond to the following bits of    the T.30 control string and X.400 G3FacsimileParameters: 
  295.  
  296.        Parameter               T.30 bit        X.400 bit 
  297.  
  298.        page-length=A4             no bit set        page-length=B4          19              21        page-length=Unlimited   20              20 
  299.  
  300.        page-width=A4              no bit set        page-width=A3           18              22        page-width=B4           17              23 
  301.  
  302.        encoding=1-dimensional     no bit set        encoding=2-dimensional  16              8        encoding=Uncompressed   26              30 
  303.  
  304.        resolution=Coarse          no bit set        resolution=Fine         15              9 
  305.  
  306.    The reason for the different bit numbers is that X.400 counts bits in    an octet from the MSB down to the LSB, while T.30 uses the opposite    numbering scheme. 
  307.  
  308.    If any bit but these are set in the Device Control String, the DCS    parameter should be supplied. 
  309.  
  310. 6.2.2.  Content Encoding 
  311.  
  312.    X.400 defines the g3-facsimile data stream as a SEQUENCE of BIT    STRINGs. Each BIT STRING is a page of facsimile image data, encoded    as defined by Recommendation T.4.  The following content encoding is    reversible between MIME and X.400 and ensures that page breaks are 
  313.  
  314.  
  315.  
  316. Alvestrand & Thompson                                          [Page 10] 
  317.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  318.  
  319.     honored in the MIME representation. 
  320.  
  321.    An EOL is defined as a bit sequence of 
  322.  
  323.           000000000001 (eleven zeroes and a one). 
  324.  
  325.    Each page of the message is delimited by a sequence of six (6) EOLs    that MUST start on a byte boundary.  The image bit stream is padded    as needed to achieve this alignment. 
  326.  
  327.    Searching for the boundary is a matter of searching for the byte    sequence (HEX) 00 10 01 00 10 01 00 10 01, which cannot occur inside    the image. 
  328.  
  329.    See Section 7.5 for the algorithm on conversion between this encoding    and the X.400 encoding. 
  330.  
  331.    The Base64 content-transfer-encoding is appropriate for carrying this    content-type. 
  332.  
  333. 6.3.  The Application/ODA content-type 
  334.  
  335.    The "ODA" subtype of application is used to indicate that a body    contains information encoded according to the Office Document    Architecture [4] standards, using the ODIF representation format.    For application/oda, the Content- Type line should also specify an    attribute/value pair that indicates the document application profile    (DAP), using the key word "profile", and the document class, using    the keyword "class". 
  336.  
  337.    For the keyword "class", the values "formatted", "processable" and    "formatted-processable" are legal values. 
  338.  
  339.    Thus an appropriate header field  might look like this: 
  340.  
  341.        Content-Type:  application/oda; profile=Q112;        class=formatted 
  342.  
  343.    Consult the ODA standard [4] for further information. 
  344.  
  345.    The Base64 content-transfer-encoding is appropriate for carrying ODA. 
  346.  
  347. 7.  Equivalence Definitions 
  348.  
  349. 7.1.  IA5Text - text/plain 
  350.  
  351.    X.400 Body Part: IA5Text    MIME Content-type: text/plain; charset=US-ASCII 
  352.  
  353.  
  354.  
  355. Alvestrand & Thompson                                          [Page 11] 
  356.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  357.  
  358.     Conversion Type: Byte copy    Comments: 
  359.  
  360.    When mapping from X.400 to MIME, the "repertoire" parameter is    ignored. 
  361.  
  362.    When mapping from MIME to X.400, the "repertoire" parameter is set to    IA5 (5). 
  363.  
  364.    NOTE: The MIME Content-type headers are omitted, when mapping from    X.400 to MIME, if and only if the IA5Text body part is the only body    part in the IPMS.Body sequence. 
  365.  
  366.    NOTE: IA5Text specifies the "currency" symbol in position 2/4. This    is converted without comment to the "dollar" symbol, since the author    of this document has seen many documents in which the position was    intended to indicate "dollar" while he has not yet seen one in which    the "currency" symbol is intended. 
  367.  
  368.    (For reference: The T.50 (1988) recommendation, which defines IA5,    talks about ISO registered set number 2, while ASCII, using the    "dollar" symbol, is ISO registered set number 6. There are no other    differences.) 
  369.  
  370. 7.2.  GeneralText - text/plain (ISO-8859) 
  371.  
  372.    X.400 Body Part: GeneralText; CharacterSets in                            6,100,101,109,110,126,127,138,144,148    MIME Content-Type: text/plain; charset=ISO-8859-(1-9)    Conversion Type: Byte copy    Comments: 
  373.  
  374.    When mapping from X.400 to MIME, the character-set chosen from table    below according to the value of Parameters.CharacterSets. 
  375.  
  376.    When mapping from MIME to X.400, GeneralText is an Extended Body    Part, hence it requires an OID.  The OID for the GeneralText body is    defined in [5], part 8, annex D, as {2 6 1 4 11}. The OID for the    parameters is {2 6 1 11 11}. 
  377.  
  378.    The Parameters.CharacterSets is set from table below according to the    value of "charset" 
  379.  
  380.    NOTE: The GeneralText body part is defined in ISO 10021-8 [5], and    NOT in the corresponding CCITT recommendation. Its parameters were    heavily modified in a defect report, and will be a SET OF INTEGER    (indicating the ISO registry numbers of all the used sets) in the    next version of the standard. 
  381.  
  382.  
  383.  
  384. Alvestrand & Thompson                                          [Page 12] 
  385.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  386.  
  387.     The following table lists the MIME character sets and the    corresponding ISO registry numbers. If no correspondence is found,    this conversion fails, and the generic body part approach is used. 
  388.  
  389.    MIME charset    ISO IR numbers          Comment    -----------------------------------------------    ISO-8859-1      6, 100                  West European "8-bit ASCII"    ISO-8859-2      6, 101                  East European    ISO-8859-3      6, 109                  <regarded as obsolete>    ISO-8859-4      6, 110                  <regarded as obsolete>    ISO-8859-5      6, 144                  Cyrillic    ISO-8859-6      6, 127                  Arabic    ISO-8859-7      6, 126                  Greek    ISO-8859-8      6, 138                  Hebrew    ISO-8859-8      6, 148                  Other Latin-using languages 
  390.  
  391.    When converting from MIME to X.400, generate the correct OIDs for use    in the message envelope's Encoded Information Types by looking up the    ISO IR number in the above table, and then appending it to the id-    cs-eit-authority {1 0 10021 7 1 0} OID. 
  392.  
  393.    The escape sequences to designate and invoke the relevant character    sets in their proper positions must be added to the front of the    GeneralText character string. 
  394.  
  395. 7.3.  BilaterallyDefined - application/octet-stream 
  396.  
  397.    X.400 Body Part: BilaterallyDefined    MIME Content-Type: Application/Octet-Stream (no parameters)    Conversion Type: Byte copy    Comments: 
  398.  
  399.    When mapping from MIME to X.400, if there are parameters present in    the Content-Type: header field, the conversion fails since the    BilaterallyDefined Body Part does not have any corresponding ASN.1    parameters. 
  400.  
  401.    DISCUSSION: The parameters "name" "type" and "conversions" are    advisory, but may in some cases give vital hints on the expected    handling of the file. The parameter "conversions" is not fully    defined, but it is expected that it will be useful, so we cannot drop    it and expect people to be satisfied. 
  402.  
  403.    The parameter "padding" changes the interpretation of the last byte    of the data, and so cannot be deleted. 
  404.  
  405.    An option is to prepend an IA5 body part that contains the parameter    text; this will aid unmodified readers, and can probably be made 
  406.  
  407.  
  408.  
  409. Alvestrand & Thompson                                          [Page 13] 
  410.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  411.  
  412.     reversible with suitable chicanery, but is it worth it???? 
  413.  
  414.    Also, use of BilaterallyDefined Body Parts is specifically deprecated    in both 1988 and 1992 X.400.  It is retained solely for backward    compatibility with 1984 systems. 1992 X.400 defines a File Transfer    Body Part to solve this problem (i.e. binary file transfer through    email). The standard and its regional profiles are not solid enough    yet to exploit as a solution for this problem. 
  415.  
  416. 7.4.  ODA - application/oda 
  417.  
  418.    X.400 Body Part: ODA    MIME Content-Type: application/oda    Conversion Type: Byte copy    Comments: 
  419.  
  420.    The ODA body part is defined in the CCITT document T.411 [6],    appendix E, section E.2, "ODA identification in the P2 protocol of    MHS" 
  421.  
  422.    An abbreviated version of its ASN.1 definition is: 
  423.  
  424.        oda-body-part EXTENDED-BODY-PART-TYPE             PARAMETERS      OdaBodyPartParameters             DATA            OdaData             ::= id-et-oda 
  425.  
  426.        OdaBodyPartParameters ::= SET {             document-application-profile    [0] OBJECT IDENTIFIER             document-architecture-class     [1] INTEGER {                                             formatted (0)                                             processable (1)                                             formatted-processable(2)}} 
  427.  
  428.        id-et-oda OBJECT IDENTIFIER ::= { 2 8 1 0 1 } 
  429.  
  430.    Mapping from X.400 to MIME, the following is done: 
  431.  
  432.    The Parameters.document-application-profile is mapped onto the MIME    parameter "profile" according to the table below. 
  433.  
  434.        Profile         OBJECT IDENTIFIER 
  435.  
  436.        Q112            { iso (1) identified-organization (3) ewos (16)                          eg (2) oda (6) profile (0)  q112 (1) } 
  437.  
  438.    The Parameters.document-architecture-class is mapped onto the MIME    parameter "class" according to the table below 
  439.  
  440.  
  441.  
  442. Alvestrand & Thompson                                          [Page 14] 
  443.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  444.  
  445.         String                  Integer 
  446.  
  447.        formatted               formatted(0)        processable             processable(1)        formatted-processable   formatted-processable(2) 
  448.  
  449.    NOTE: This parameter is not defined in RFC 1341. 
  450.  
  451.    The body of the MIME content-type is the Data part of the ODA body    part. 
  452.  
  453.    When mapping from MIME to X.400, the following steps are done: 
  454.  
  455.    The Parameters.document-application-profile and Parameters.document-    architecture-class are set from the tables above.  If any of the    parameters are missing, the values for Q112 and formatted-processable    are used. 
  456.  
  457.    It is an option for the gateway implementor to try to access them    from inside the document, where they are defined as 
  458.  
  459.    document-profile.document-characteristics.document-architecture-class 
  460.  
  461.    document-profile.document-characteristics.document-application-profile 
  462.  
  463.    Gateways are NOT required to do this, since the document-    characteristics are optional parameters.  If a gateway does not, it    simply uses the defaulting rules defined above. 
  464.  
  465.    The OBJECT IDENTIFIERs for the document application profile and for    ODA {2 8 0 0} must be added to the Encoded Information Types    parameter of the message envelope. 
  466.  
  467. 7.5.  g3-facsimile - image/g3fax 
  468.  
  469.    X.400 Body part: g3-facsimile    MIME Content-Type: image/g3fax    Conversion Type: nearly Byte copy    Comments: 
  470.  
  471.    The Parameters of the X.400 G3Fax body part are mapped to the    corresponding Parameters on the MIME Image/G3Fax body part and vice    versa.  Note that: 
  472.  
  473.        (1)  If fineResolution is not specified, pixels will be             twice as tall as they are wide 
  474.  
  475.        (2)  If any bit not corresponding to a specially named 
  476.  
  477.  
  478.  
  479. Alvestrand & Thompson                                          [Page 15] 
  480.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  481.  
  482.              option is set in the G3Fax NonBasicParameters, the             "DCS" parameter must be used. 
  483.  
  484.        (3)  Interworking is not guaranteed if any bit apart from             those specially named are used in the             NonBasicParameters 
  485.  
  486.    From X.400 to G3Fax, the body is created in the following way: 
  487.  
  488.        (1)  Any trailing EOL markers on each bitstring is             removed. The bistring is padded to a byte boundary. 
  489.  
  490.        (2)  6 consecutive EOL markers are appended to each             bitstring. 
  491.  
  492.        (3)  The padded bitstrings are concatenated together 
  493.  
  494.    An EOL marker is the bit sequence 000000000001 (11 zeroes and a one). 
  495.  
  496.    From G3Fax to X.400, the body is created in the following way: 
  497.  
  498.        (1)  The body is split into bitstrings at each occurrence             of 6 consecutive EOL markers, and trailing EOLs and             padding are removed 
  499.  
  500.        (2)  Each bitstring is made into an ASN.1 BITSTRING 
  501.  
  502.        (3)  The bitstrings are made into an ASN.1 SEQUENCE, which             forms the body of the G3Fax body part. 
  503.  
  504. 7.6.  application/postscript - postscript-body-part 
  505.  
  506.    X.400 Body Part: Extended Body Part, OID postscript-body-part    MIME Content-Type: application/postscript    Conversion Type: Byte Copy 
  507.  
  508. 7.7.  application/jpeg - jpeg-body-part 
  509.  
  510.    X.400 Body Part: Extended Body Part, OID jpeg-body-part    MIME Content-Type: application/jpeg    Conversion Type: Byte Copy 
  511.  
  512. 7.8.  image/gif - gif-body-part 
  513.  
  514.    X.400 Body Part: Extended Body Part, OID gif-body-part    MIME Content-Type: application/gif    Conversion Type: Byte Copy 
  515.  
  516.  
  517.  
  518.  Alvestrand & Thompson                                          [Page 16] 
  519.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  520.  
  521.  8.  OID Assignments 
  522.  
  523.        MIME-MHS-MAPPINGS DEFINITIONS ::= BEGIN 
  524.  
  525.         IMPORTS           mail, mime-mhs, mime-mhs-bodies               FROM MIME-MHS; 
  526.  
  527.        mime-mhs-bp-data OBJECT IDENTIFIER ::=                { mime-mhs-bodies 1} 
  528.  
  529.        mime-mhs-bp-parameter OBJECT IDENTIFIER ::=                { mime-mhs-bodies 2} 
  530.  
  531.        mime-generic-data OBJECT IDENTIFIER ::=                { mime-mhs-bp-data 1} 
  532.  
  533.        mime-generic-parameters OBJECT IDENTIFIER ::=                { mime-mhs-bp-parameter 1} 
  534.  
  535.        mime-postscript-body OBJECT IDENTIFIER ::=                { mime-mhs-bp-data 2} 
  536.  
  537.        mime-jpeg-body OBJECT IDENTIFIER ::=                { mime-mhs-bp-data 3} 
  538.  
  539.        mime-gif-body OBJECT IDENTIFIER ::=                { mime-mhs-bp-data 4}; 
  540.  
  541. 9.  IANA Registration form for new mappings 
  542.  
  543.    To: IANA@isi.edu    Subject: Registration of new X.400/MIME content type mapping 
  544.  
  545.    MIME type name: 
  546.  
  547.    (this must have been registered previously with IANA) 
  548.  
  549.    X.400 body part: 
  550.  
  551.    X.400 Object Identifier for Data: 
  552.  
  553.    (If left empty, an OID will be assigned by IANA under    mime-mhs-bp-data) 
  554.  
  555.    X.400 Object Identifier for Parameters: 
  556.  
  557.  
  558.  
  559.  Alvestrand & Thompson                                          [Page 17] 
  560.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  561.  
  562.     (If left empty, an OID will be assigned by IANA under    mime-mhs-bp-parameter.  If it is not used, fill in the    words NOT USED.) 
  563.  
  564.    X.400 ASN.1 Syntax: 
  565.  
  566.    (must be an EXTENDED-BODY-PART-TYPE macro, or reference to    a Basic body part type) 
  567.  
  568.    Conversion algorithm: 
  569.  
  570.    (must be defined completely enough for independent    implementation. It may be defined by reference to RFCs). 
  571.  
  572.    Person & email address to contact for further information: 
  573.  
  574.    INFORMATION TO THE SUBMITTER: 
  575.  
  576.    The accepted registrations will be listed in the "Assigned    Numbers" series of RFCs.  The information in the    registration form is freely distributable. 
  577.  
  578. 10.  Security Considerations 
  579.  
  580.    Security issues are not discussed in this memo. 
  581.  
  582. 11.  Authors' Addresses 
  583.  
  584.    Harald Tveit Alvestrand    SINTEF DELAB    N-7034 Trondheim    NORWAY 
  585.  
  586.    EMail: Harald.Alvestrand@delab.sintef.no 
  587.  
  588.     Steven J. Thompson    Soft*Switch, Inc.    640 Lee Road    Wayne, PA 19087 
  589.  
  590.    Phone: (215) 640-7556    EMail: sjt@gateway.ssw.com 
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  Alvestrand & Thompson                                          [Page 18] 
  599.  RFC 1494              X.400/MIME Body Equivalences           August 1993 
  600.  
  601.  12.  References 
  602.  
  603.    [1]  Alvestrand, H., Kille, S., Miles, R., Rose, M., and S. Thompson,         "Mapping between X.400 and RFC-822 Message Bodies", RFC 1495,         SINTEF DELAB, ISODE Consortium, Soft*Switch, Inc, Dover Beach         Consulting, Inc., Soft*Switch, Inc., August 1993. 
  604.  
  605.    [2]  CCITT Recommendation X.420 (1988), Interpersonal Messaging         System. 
  606.  
  607.    [3]  Borenstein, N, and N. Freed, "MIME: Mechanisms for Specifying         and Describing the Format of Internet Message Bodies", RFC 1341,         Bellcore, Innosoft, June 1992. 
  608.  
  609.    [4]  ISO 8613; Information Processing: Text and Office System; Office         Document Architecture (ODA) and Interchange Format (ODIF), Part         1-8, 1989. 
  610.  
  611.    [5]  ISO/IEC International Standard 10021, Information technology -         Text Communication - Message-Oriented Text Interchange Systems         (MOTIS) (Parts 1 to 8). 
  612.  
  613.    [6]  CCITT Recommendation T.411 (1988), Open Document Architecture         (ODA) and Interchange Format, Introduction and General         Principles. 
  614.  
  615.    [7]  Crocker, D., "Standard for the Format of ARPA Internet Text         Messages", STD 11, RFC 822, UDEL, August 1982. 
  616.  
  617.    [8]  Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021         and RFC-822", RFC 1327, University College London, May 1992. 
  618.  
  619.    [9]  CCITT Recommendation T.4, Standardization of Group 3 Facsimile         Apparatus for Document Transmission (1988). 
  620.  
  621.    [10] CCITT Recommendation T.30, Procedures For Document Facsimile         Transmission in the General Switched Telephone Network (1988). 
  622.  
  623.    [11] CCITT, Data Communication Networks - Message Handling Systems -         Recommendations X.400 - X.420 (1988 version). 
  624.  
  625.    [12] Alvestrand, H., "X.400 Use of Extended Character Sets", RFC         1502, SINTEF DELAB, August 1993. 
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  Alvestrand & Thompson                                          [Page 19] 
  634.  
  635.