RFC 1494

Equivalences between 1988 X.400 and RFC-822 Message Bodies

πŸ“… published August 1993, from ietf

Equivalences between 1988 X.400 and RFC-822 Message Bodies πŸŽ€

Okay bestie, RFC 1494 is from the Network Working Group and it's dated August 1993 πŸ“… The authors are H. Alvestrand from SINTEF DELAB and S. Thompson from Soft*Switch, Inc. ✨ It's an IAB standards track protocol, so this is an actual standard and not just a suggestion πŸ’… Nothing is listed as obsoleted or updated, so it doesn't replace or change any other RFCs 🌸

Its whole job is working out how 1988 X.400 body parts and RFC-822 MIME content-types line up with each other, so the two mail worlds can actually talk πŸ¦‹

Status of this Memo 🌸

So this RFC specifies an IAB standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements πŸ’¬ For the current standardization state and status, check the current edition of the "IAB Official Protocol Standards" πŸ“– Distribution of this memo is unlimited 🫢

Table of Contents πŸ“š

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
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

1. Introduction πŸ¦‹

This doc is a companion to [1], which lays out the principles behind interworking between MIME-based RFC-822 mail and X.400 mail πŸ’Œ This one describes what goes into the "IANA MHS/MIME Equivalence table" that the companion doc mentions, and it sets up the starting configuration for that table. New 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 🌈

Quick terminology moment 🧚 In MIME, "content-type" means an information object sitting in the body of a message. X.400 calls the same kind of thing a "body part type." In this doc, "body part" is used to mean either one.

Comments go to the MIME-MHS mailing list: <mime-mhs@surfnet.nl> πŸ“¬

2. Equivalence Table Definition πŸ“‹

For each MIME content-type / X.400 body part pair, the Equivalence Table has an entry with the following sections:

  • X.400 Body Part: identifies the X.400 Body Part this entry covers. It includes any OBJECT IDENTIFIERs or other parameters needed to uniquely identify the Body Part.
  • MIME Content-Type: identifies the MIME content-type this entry covers. The MIME content-type named here must be registered with the IANA πŸ”‘
  • Conversion Type: identifies the type of conversion applied. Check the Generic Conversions section for what the possible values mean.
  • Comments (optional): any extra commentary that helps you understand the mapping between the X.400 and MIME representations.

The initial Equivalence Table entries in this document follow this convention, and any future submissions to the IANA should follow this format too πŸ’…

3. Generic conversions πŸ”„

3.1. Byte copy πŸͺž

This is the trivial case: no conversion at all. The byte stream is just copied between MIME and X.400 ✨

This is the preferred conversion, since it's the simplest πŸ‘‘

Implementors and vendors are going to be registering OBJECT IDENTIFIERs and MIME content-types for their various objects. They are STRONGLY ENCOURAGED to specify their content formats so that a gateway can use Byte Copy to map between them 🫢

Heads up, though: in some cases you have to define exactly which ASN.1 construct gets replaced with the content of the MIME object πŸ‘€

3.2. Text Conversion πŸ“

This type of conversion applies to text objects that can't be mapped with a simple Byte Copy. It involves scanning and reformatting the object. For example, the MIME and X.400 objects might differ in how they encode nonstandard characters, or in their line or page breaks 🌸

3.3. Image Conversion πŸ–ΌοΈ

This conversion type applies to raster images, like Group 3 Facsimile or JPEG. It's different from Byte Copy because it also involves scanning and reformatting the byte stream. It's different from Text Conversion because it's pixel-oriented, not character-oriented 🎨

3.4. Tunneling πŸš‡

This isn't a conversion at all. It's an encapsulation of the object. It's the fallback conversion, used when no explicit mapping applies 🧺

5.2. The Generic MIME Extended Body Part ✨

okay so this is the catch-all bestie 🫢 It's the body part you use when a MIME content-type has no explicit IANA-registered mapping, so the whole thing gets packed up as a generic Extended Body Part πŸ“¦

mime-body-part EXTENDED-BODY-PART-TYPE
   PARAMETERS MimeParameters
      IDENTIFIED BY mime-generic-parameters
   DATA            OCTET STRING
   ::= mime-generic-data

MimeParameters ::=
    SEQUENCE {
        content-type       IA5String,
        content-parameters SEQUENCE OF
                           SEQUENCE {
                               parameter          IA5String,
                               parameter-value    IA5String
                           }

                           -- from RFC-1327, sec. 5.1.12
        other-header-fields RFC822FieldList
    }

mime-generic-parameters OBJECT IDENTIFIER ::=
    { mime-mhs-bp-parameter 1 }
mime-generic-data       OBJECT IDENTIFIER ::=
    { mime-mhs-bp-data  1 }

To convert the MIME content-type into the X.400 mime-body-part πŸ¦‹ follow these steps:

  1. Copy the "type/subtype" string from the MIME Content-Type: header field into MimeParameters.content-type.
  2. For each "parameter=value" string in the MIME Content-Type header field, create a MimeParameters.content-parameters structure. Copy the "parameter" string into the MimeParameters.content-parameters.parameter field and the "value" string into the paired MimeParameters.content-parameters.parameter-value field.
  3. Convert the MIME body part into its canonical form. (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. πŸ”
  4. Copy the canonical byte stream into the mime-body-part.data octet string.
  5. Remove the Content-type and the Content-transfer-encoding header fields from the MIME body part's RFC822 header. 🧹
  6. Any header fields starting with "Content-" in the MIME body part are 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. 🌸

The mapping from the X.400 mime-body-part to a MIME content-type is the inverse of the above steps. So it's basically a mirror, iykyk πŸͺžβœ¨


5.3. The PostScript body part πŸ–¨οΈ

The following Extended Body Part is defined for PostScript data streams. It has no parameters, so there's nothing extra to juggle πŸ’–

postscript-body-part EXTENDED-BODY-PART-TYPE

  DATA             OCTET STRING
  ::= mime-postscript-body

mime-postscript-body OBJECT IDENTIFIER ::=
          { mime-mhs-bp-data 2 }

5.4. The JPEG body part πŸ“Έ

The following Extended Body Part is defined for JPEG data streams. It has no parameters, lowkey the easiest one 🌈

jpeg-body-part EXTENDED-BODY-PART-TYPE
  DATA            OCTET STRING
  ::= mime-jpeg-body

mime-jpeg-body OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 3 }

5.5. The GIF body part 🎞️

The following Extended Body Part is defined for GIF data streams. It has no parameters either πŸ“

gif-body-part EXTENDED-BODY-PART-TYPE
  DATA            OCTET STRING
  ::= mime-gif-body

mime-gif-body OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 4 }

6. Newly defined MIME content-types πŸŽ€

This section defines new MIME content-types for the purposes of interworking with X.400. It's the bridge between the two worlds, bestie πŸŒ‰

6.1. The application/x400-bp content-type πŸ’œ

This content-type is defined to carry any X.400(88) body part for which there is no registered IANA mapping. The content-type field is application/x400-bp. The parameters look like this:

bp-type=<INTEGER or OBJECT IDENTIFIER>

The body contains the raw ASN.1 IPM.body octet stream, including the initial tag octet. 🧾

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.

If the body is an Extended Body Part, the bp-type parameter is set to the OBJECT IDENTIFIER from IPMS.body.externally-defined.data.direct-reference.

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.) πŸ™…β€β™€οΈ

For example, a basic VideotexBodyPart will have:

Content-type=application/x400-bp; bp-type=6

whilst an Extended Videotex body part will have:

Content-type=application/x400-bp; bp-type=2.6.1.4.5

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. πŸ‘€

If this is not feasible, Base64 is recommended. ✨

6.2. The image/g3fax content-type πŸ“ 

This content-type is defined to carry G3 Facsimile byte streams. It's giving old-school fax energy, and honestly I'm obsessed πŸ™ˆ

In general, a G3Fax image contains 3 pieces of information:

  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. 🏷️
  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. πŸ“„
  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. 🫢

6.2.1. G3Fax Parameters 🧩

The following parameters are defined:

  1. page-length - possible values: A4, B4 and Unlimited
  2. page-width - possible values: A3, A4, B4
  3. encoding - possible values: 1-dimensional, 2-dimensional, Uncompressed
  4. resolution - possible values: Fine, Coarse
  5. DCS - a bit string, represented in Base64.
  6. pages - an integer, giving the number of pages in the document

If nothing is specified, the default parameter settings are:

page-length=A4
page-width=A4
encoding=1-dimensional
resolution=Coarse

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:

    Parameter               T.30 bit        X.400 bit

    page-length=A4             no bit set
    page-length=B4          19              21
    page-length=Unlimited   20              20

    page-width=A4              no bit set
    page-width=A3           18              22
    page-width=B4           17              23

    encoding=1-dimensional     no bit set
    encoding=2-dimensional  16              8
    encoding=Uncompressed   26              30

    resolution=Coarse          no bit set
    resolution=Fine         15              9

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. So they're literally counting backwards from each other πŸ”„

If any bit other than these is set in the Device Control String, the DCS parameter should be supplied. 🎯

6.2.2. Content Encoding 🧡

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 honored in the MIME representation. Slay πŸ’…

An EOL is defined as the bit sequence 000000000001 (eleven zeroes and a one).

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. 🧱

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. πŸ”

See Section 7.5 for the algorithm on conversion between this encoding and the X.400 encoding.

The Base64 content-transfer-encoding is appropriate for carrying this content-type. 🌷

6.3. The Application/ODA content-type 🏒

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. πŸ“‘

For the keyword class, the values formatted, processable and formatted-processable are legal values.

Thus an appropriate header field might look like this:

    Content-Type:  application/oda; profile=Q112;
    class=formatted

Consult the ODA standard [4] for further information. πŸ“š

The Base64 content-transfer-encoding is appropriate for carrying ODA. 🫧


7. Equivalence Definitions πŸ’…

7.1. IA5Text - text/plain πŸ“

X.400 Body Part: IA5Text
MIME Content-type: text/plain; charset=US-ASCII
Conversion Type: Byte copy
Comments:

When mapping from X.400 to MIME, the "repertoire" parameter is ignored. πŸ™ˆ

When mapping from MIME to X.400, the "repertoire" parameter is set to IA5 (5).

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. πŸ’Œ

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. The drama is real πŸ’€

(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.) 🌈

7.2. GeneralText - text/plain (ISO-8859) πŸ’–

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:

Okay so GeneralText is the one with the whole multi-charset situation 🌈. When you're going from X.400 to MIME, the character set gets picked from the table below based on Parameters.CharacterSets.

Going the other way, from MIME to X.400, GeneralText is an Extended Body Part, so it needs 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}. πŸ’…

The Parameters.CharacterSets gets set from the table below according to the value of "charset".

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. πŸ™ˆ

Here's the table of MIME character sets and their matching ISO registry numbers. If no correspondence is found, this conversion fails, and the generic body part approach is used. 🫠

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

When you're converting from MIME to X.400, generate the correct OIDs for use in the message envelope's Encoded Information Types. You do this by looking up the ISO IR number in the table above, then appending it to the id-cs-eit-authority {1 0 10021 7 1 0} OID. ✨

The escape sequences that designate and invoke the relevant character sets in their proper positions must be added to the front of the GeneralText character string. Non-negotiable, bestie πŸ’œ


7.3. BilaterallyDefined - application/octet-stream πŸ¦‹

X.400 Body Part: BilaterallyDefined
MIME Content-Type: Application/Octet-Stream (no parameters)
Conversion Type: Byte copy
Comments:

When mapping from MIME to X.400, if there are parameters present in the Content-Type: header field, the conversion fails. Why? Because the BilaterallyDefined Body Part doesn't have any corresponding ASN.1 parameters, so there's nowhere for them to go 😭

DISCUSSION: The parameters "name" "type" and "conversions" are advisory, but they may in some cases give vital hints on the expected handling of the file. The parameter "conversions" isn't fully defined, but it's expected to be useful, so we can't drop it and expect people to be satisfied. πŸ₯Ί

The parameter "padding" changes the interpretation of the last byte of the data, so it can't be deleted. Iconic behaviour, actually πŸ‘‘

An option is to prepend an IA5 body part that contains the parameter text. This will help unmodified readers, and it can probably be made reversible with suitable chicanery, but is it worth it???? πŸ€”

Also, use of BilaterallyDefined Body Parts is specifically deprecated in both 1988 and 1992 X.400. It's 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 aren't solid enough yet to exploit as a solution for this problem, sadly πŸ₯€


7.4. ODA - application/oda 🧚

X.400 Body Part: ODA
MIME Content-Type: application/oda
Conversion Type: Byte copy
Comments:

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". πŸ“–

An abbreviated version of its ASN.1 definition is:

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 }

When mapping from X.400 to MIME, here's what happens. The Parameters.document-application-profile gets mapped onto the MIME parameter "profile" according to the table below. πŸŽ€

Profile         OBJECT IDENTIFIER

Q112            { iso (1) identified-organization (3) ewos (16)
                  eg (2) oda (6) profile (0)  q112 (1) }

The Parameters.document-architecture-class gets mapped onto the MIME parameter "class" according to the table below.

String                  Integer

formatted               formatted(0)
processable             processable(1)
formatted-processable   formatted-processable(2)
NOTE: This parameter is not defined in RFC 1341. Just a heads up πŸ™ˆ

The body of the MIME content-type is the Data part of the ODA body part. Simple as that, babe 🫢

When mapping from MIME to X.400, the following steps are done. 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. πŸ’–

It's an option for the gateway implementor to try to access them from inside the document, where they're defined as:

document-profile.document-characteristics.document-architecture-class
document-profile.document-characteristics.document-application-profile

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. Low-key relaxing 🌸

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. ✨


7.5. g3-facsimile - image/g3fax πŸ“ 

X.400 Body part: g3-facsimile
MIME Content-Type: image/g3fax
Conversion Type: nearly Byte copy
Comments:

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:

  1. If fineResolution is not specified, pixels will be twice as tall as they are wide.
  2. If any bit not corresponding to a specially named option is set in the G3Fax NonBasicParameters, the "DCS" parameter must be used.
  3. Interworking is not guaranteed if any bit apart from those specially named is used in the NonBasicParameters.

From X.400 to G3Fax, the body is created in the following way:

  1. Any trailing EOL markers on each bitstring are removed. The bitstring is padded to a byte boundary.
  2. 6 consecutive EOL markers are appended to each bitstring.
  3. The padded bitstrings are concatenated together.

An EOL marker is the bit sequence 000000000001 (11 zeroes and a one). Tiny but mighty πŸ§šβ€β™€οΈ

From G3Fax to X.400, the body is created in the following way:

  1. The body is split into bitstrings at each occurrence of 6 consecutive EOL markers, and trailing EOLs and padding are removed.
  2. Each bitstring is made into an ASN.1 BITSTRING.
  3. The bitstrings are made into an ASN.1 SEQUENCE, which forms the body of the G3Fax body part. 🫢

7.6. application/postscript - postscript-body-part πŸ“œ

X.400 Body Part: Extended Body Part, OID postscript-body-part
MIME Content-Type: application/postscript
Conversion Type: Byte Copy

7.7. application/jpeg - jpeg-body-part πŸ“Έ

X.400 Body Part: Extended Body Part, OID jpeg-body-part
MIME Content-Type: application/jpeg
Conversion Type: Byte Copy

7.8. image/gif - gif-body-part 🌸

X.400 Body Part: Extended Body Part, OID gif-body-part
MIME Content-Type: application/gif
Conversion Type: Byte Copy

8. OID Assignments πŸ†”

Here's the ASN.1 module for the OID assignments, copied exactly so nothing gets lost in translation πŸ”

MIME-MHS-MAPPINGS DEFINITIONS ::= BEGIN


IMPORTS
   mail, mime-mhs, mime-mhs-bodies
       FROM MIME-MHS;

mime-mhs-bp-data OBJECT IDENTIFIER ::=
        { mime-mhs-bodies 1}

mime-mhs-bp-parameter OBJECT IDENTIFIER ::=
        { mime-mhs-bodies 2}

mime-generic-data OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 1}

mime-generic-parameters OBJECT IDENTIFIER ::=
        { mime-mhs-bp-parameter 1}

mime-postscript-body OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 2}

mime-jpeg-body OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 3}

mime-gif-body OBJECT IDENTIFIER ::=
        { mime-mhs-bp-data 4};

9. IANA Registration form for new mappings πŸ“

If you want to register a new X.400/MIME content type mapping, this is the form you fill in. Copy it exactly as written πŸŽ€

To: IANA@isi.edu
Subject: Registration of new X.400/MIME content type mapping

MIME type name:

(this must have been registered previously with IANA)

X.400 body part:

X.400 Object Identifier for Data:

(If left empty, an OID will be assigned by IANA under
mime-mhs-bp-data)

X.400 Object Identifier for Parameters:

(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.)

X.400 ASN.1 Syntax:

(must be an EXTENDED-BODY-PART-TYPE macro, or reference to
a Basic body part type)

Conversion algorithm:

(must be defined completely enough for independent
implementation. It may be defined by reference to RFCs).

Person & email address to contact for further information:

INFORMATION TO THE SUBMITTER: Accepted registrations will be listed in the "Assigned Numbers" series of RFCs. The information in the registration form is freely distributable, so no gatekeeping vibes here πŸ¦‹


10. Security Considerations πŸ”

🚨 Security issues are not discussed in this memo. Please take this seriously, bestie πŸ’€

11. Authors' Addresses 🫢

Harald Tveit Alvestrand
SINTEF DELAB
N-7034 Trondheim
NORWAY

EMail: Harald.Alvestrand@delab.sintef.no


Steven J. Thompson
Soft*Switch, Inc.
640 Lee Road
Wayne, PA 19087

Phone: (215) 640-7556
EMail: sjt@gateway.ssw.com

12. References πŸ“šβœ¨

okay bestie, here are all the receipts πŸ§ΎπŸ’… every doc this spec leans on, so you can go read them if you're obsessed like me πŸ€“

  • [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.
  • [2] CCITT Recommendation X.420 (1988), Interpersonal Messaging System.
  • [3] Borenstein, N, and N. Freed, "MIME: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1341, Bellcore, Innosoft, June 1992.
  • [4] ISO 8613; Information Processing: Text and Office System; Office Document Architecture (ODA) and Interchange Format (ODIF), Part 1-8, 1989.
  • [5] ISO/IEC International Standard 10021, Information technology - Text Communication - Message-Oriented Text Interchange Systems (MOTIS) (Parts 1 to 8).
  • [6] CCITT Recommendation T.411 (1988), Open Document Architecture (ODA) and Interchange Format, Introduction and General Principles.
  • [7] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, UDEL, August 1982.
  • [8] Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021 and RFC-822", RFC 1327, University College London, May 1992.
  • [9] CCITT Recommendation T.4, Standardization of Group 3 Facsimile Apparatus for Document Transmission (1988).
  • [10] CCITT Recommendation T.30, Procedures For Document Facsimile Transmission in the General Switched Telephone Network (1988).
  • [11] CCITT, Data Communication Networks - Message Handling Systems - Recommendations X.400 - X.420 (1988 version).
  • [12] Alvestrand, H., "X.400 Use of Extended Character Sets", RFC 1502, SINTEF DELAB, August 1993.
πŸ“¦ where this page comes from