<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>

<!--
     ASCII to XML transformation by Invisible Worlds, Inc.
     http://invisible.net/
     Last transformation: 03-Feb-1999, 02:04:14

     Cannonical version of this document is at:
     http://info.internet.isi.edu/in-notes/rfc/files/rfc2161.txt

     Implementors should verify all content with
     cannonical version.  Failure to do so may result in
     protocol failures.
-->

<rfc number="2161"
     category="exp">
<front>
<title abbrev="ODA MIME">A MIME Body Part for ODA</title>
<author initials="H.T." surname="Alvestrand" fullname="Harald Tveit Alvestrand">
<organization>UNINETT</organization>
<address>
<postal>
<street>Postboks 6883 Elgeseter</street>
<street>N-7002 TRONDHEIM</street>
</postal>
<phone>+47 73 59 70 94</phone>
<email>Harald.T.Alvestrand@uninett.no</email>
</address>
</author>
<date month="January" year="1998"/>
<area>Applications</area>
<keyword>ODA</keyword>
<keyword>ITU message handling service protocol</keyword>
<keyword>multipurpose internet mail extensions</keyword>
</front>
<middle>
<!-- RFC original section: (1.) -->
<section title="Introduction">
<t>
   This document contains the definitions, originally contained in RFC
   1495 and RFC 1341, on how to carry ODA in MIME, and how to translate
   it to its X.400 representation.
</t>
<!-- RFC original section: (1.1.) -->
<section title="The Application/ODA MIME content-type">
<t>
   The &quot;ODA&quot; subtype of application is used to indicate that  a body
   contains  information  encoded according to the Office Document
   Architecture  [ODA]   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 &quot;profile&quot;, and the
   document class, using the keyword &quot;class&quot;.
</t>
<t>
   For the keyword &quot;class&quot;, the values &quot;formatted&quot;, &quot;processable&quot; and
   &quot;formatted-processable&quot; are legal values.
</t>
<t>
   Thus an appropriate header field  might look like this:
</t>
<t>
   Content-Type:  application/oda; profile=Q112; class=formatted
</t>
<t>
   Consult the ODA standard [T.411] for further information.
</t>
<t>
   The Base64 content-transfer-encoding is appropriate for carrying ODA.
</t>
</section>
<!-- RFC original section: (1.2.) -->
<section title="ODA - application/oda">
<figure><artwork>
   X.400 Body Part: ODA
   MIME Content-Type: application/oda
   Conversion: None
   Comments:
</artwork></figure>
<t>
   The ODA body part is defined in the CCITT document T.411 [T.411],
   appendix E, section E.2, &quot;ODA identification in the P2 protocol of
   MHS&quot;
</t>
<t>
   An abbreviated version of its ASN.1 definition is:
</t>
<figure><artwork>
    oda-body-part EXTENDED-BODY-PART-TYPE
            PARAMETERS      OdaBodyPartParameters
            DATA            OdaData
            ::= id-et-oda

    OdaBodyPartParameters ::= SET {
            document-application-profile    [0] OBJECT IDENTIFIER
            document-architecture-class     [1] INTEGER {
                                            formatted (0)
                                            processable (1)
                                            formatted-processable(2)}}

    id-et-oda OBJECT IDENTIFIER ::= { 2 8 1 0 1 }
</artwork></figure>
<t>
   Mapping from X.400 to MIME, the following is done:
</t>
<t>
   The Parameters.document-application-profile is mapped onto the MIME
   parameter &quot;profile&quot; according to the table below.
</t>
<figure><artwork>
   Profile         OBJECT IDENTIFIER

   Q112            { iso (1) identified-organization (3) ewos (16)
                     eg (2) oda (6) profile (0)  q112 (1) }
</artwork></figure>
<t>
   The Parameters.document-architecture-class is mapped onto the MIME
   parameter &quot;class&quot; according to the table below.
</t>
<figure><artwork>
   String                  Integer

   formatted               formatted(0)
   processable             processable(1)
   formatted-processable   formatted-processable(2)
</artwork></figure>
<t>
   NOTE: This parameter is not defined in RFC 1341.
</t>
<t>
   The body of the MIME content-type is the Data part of the ODA body
   part.
</t>
<t>
   When mapping from MIME to X.400, the following steps are done:
</t>
<t>
   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.
</t>
<t>
   It is an option for the gateway implementor to try to access them
   from inside the document, where they are defined as
</t>
<figure><artwork>
   document-profile.document-characteristics.document-architecture-class

   document-profile.document-characteristics.document-application-
   profile
</artwork></figure>
<t>
   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.
</t>
<t>
   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.
</t>
</section>
</section>
<!-- RFC original section: (2.) -->
<section title="Security Considerations">
<t>
   ODA body parts have the natural propensity of complex structures that
   it is hard to find out what the parts are capable of.
</t>
<t>
   Moreover, ODA is an extensible architecture, where new content
   portions may be added at any time, so that the threats posed by this
   body part may change over time.
</t>
<t>
   However, no security risks related to ODA are known at this time.
</t>
</section>
<!-- RFC original section: (3.) -->
<section title="References (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;References.&quot;
</t>
</section>
<!-- RFC original section: (4.) -->
<section title="Author&apos;s Address (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;Author&apos;s Address.&quot;
</t>
</section>
<!-- RFC original section: (5.) -->
<section title="Full Copyright Statement (BOILERPLATE)">
<t>
This RFC contained boilerplate in this section which has been moved
to the RFC2223-compliant unnumbered section &quot;Full Copyright Statement.&quot;
</t>
</section>
</middle>
<back>
</back>
</rfc>
