RFC 2156:MIXER (Mime Internet X.400 Enhanced Relay...
RFC-Ref

1. Overview

1.1. X.400

This document relates primarily to the ITU-T 1988 and 1992 X.400 Series Recommendations / ISO IEC 10021 International Standard. This ISO/ITU-T standard is referred to in this document as "X.400", which is a convenient shorthand. Any reference to the 1984 Recommendations will be explicit. Any mappings relating to elements which are in the 1992 version and not in the 1988 version will be noted explicitly. X.400 defines an Interpersonal Messaging System (IPMS), making use of a store and forward Message Transfer System. This document relates to the IPMS, and not to wider application of X.400, such as EDI as defined in X.435.

1.2. RFC 822std11(-> 2822prop) and MIME

RFC 822std11(-> 2822prop) evolved as a messaging standard on the DARPA (the US Defense Advanced Research Projects Agency) Internet. RFC 822std11(-> 2822prop) specifies an end to end message format, consisting of a header and an unstructured text body. MIME (Multipurpose Internet Mail Extensions) specifies a structured message body format for use with RFC 822std11(-> 2822prop). The term "RFC 822std11(-> 2822prop)" is used in this document to refer to the combination of MIME and RFC 822std11(-> 2822prop). RFC 822std11(-> 2822prop) and MIME are used in conjunction with a number of different message transfer protocol environments. The core of the MIXER specification is designed to work with any supporting message transfer protocol.

One transfer protocol, SMTP, is of particular importance and is covered in MIXER. On the Internet and other TCP/IP networks, RFC 822std11(-> 2822prop) is used in conjunction with RFC 821, also known as Simple Mail Transfer Protocol (SMTP) [30], in a manner conformant with the host requirements specification [10]. Use of MIXER with SMTP is defined in Appendix A.

1.3. The need for conversion

There is a large community using RFC 822std11(-> 2822prop) based protocols for mail services, who will wish to communicate with users of the IPMS provided by X.400 systems. This will also be a requirement in cases where communities intend to make a transition between the different technologies, as conversion will be needed to ensure a smooth service transition. It is expected that there will be more than one gateway, and this specification will enable them to behave in a consistent manner. Note that the term gateway is used to describe a component performing the mapping between RFC 822std11(-> 2822prop) and X.400. This is standard usage amongst mail implementors, but differs from that used by transport and network service implementors.

Consistency between gateways is desirable to provide:

  1. Consistent service to users.
  2. The best service in cases where a message passes through multiple gateways.

1.4. General approach

There are a number of basic principles underlying the details of the specification. These principles are goals, and are not achieved in all aspects of the specification.

   1.   The specification should be pragmatic.  There should not be
        a requirement for complex mappings for "Academic" reasons.
        Complex mappings should not be required to support trivial
        additional functionality.

   2.   Subject to 1), functionality across a gateway should be as
        high as possible.

   3.   It is always a bad idea to lose information as a result of
        any transformation.  Hence, it is a bad idea for a gateway
        to discard information in the objects it processes.  This
        includes requested services which cannot be fully mapped.

   4.   Mail gateways  operate at a level above the layer on which
        they perform mappings.  This implies that the gateway shall
        not only be cognisant of the semantics of objects at the
        gateway level, but also be cognisant of higher level
        semantics.  If meaningful transformation of the objects that
        the gateway operates on is to occur, then the gateway needs
        to understand more than the objects themselves.

   5.   Subject to 1), the mapping should be reversible.  That is, a
        double transformation should bring you back to where you
        started.

1.5. Gatewaying Model

1.5.1. X.400

X.400 defines the IPMS Abstract Service in X.420 , [11] which comprises of three basic services:

  1. Origination
  2. Reception
  3. Management

Management is a local interaction between the user and the IPMS, and is therefore not relevant to gatewaying. The first two services consist of operations to originate and receive the following two objects:

   1.   IPM (Interpersonal Message). This has two components: a
        heading, and a body.  The body is structured as a sequence
        of body parts, which may be basic components (e.g., IA5
        text, or G3 fax), or forwarded Interpersonal Messages.  The
        heading consists of fields containing end to end user
        information, such as subject, primary recipients (To:), and
        importance.

   2.   IPN (Inter Personal Notification).  A notification  about
        receipt of a given IPM at the UA level.

The Origination service also allows for origination of a probe, which is an object to test whether a given IPM could be correctly received.

The Reception service also allows for receipt of Delivery Reports (DR), which indicate delivery success or failure.

These IPMS Services utilise the Message Transfer System (MTS) Abstract Service [12]. The MTS Abstract Service provides the following three basic services:

   1.   Submission (used by IPMS Origination)

   2.   Delivery (used by IPMS Reception)

   3.   Administration (used by IPMS Management)

Administration is a local issue, and so does not affect this standard. Submission and delivery relate primarily to the MTS Message (comprising Envelope and Content), which carries an IPM or IPN (or other uninterpreted contents). The Envelope includes a message identifier, an originator, and a list of recipients. Submission also includes the probe service, which supports the MTS Probe. Delivery also includes Reports, which indicate whether a given MTS Message has been delivered or not (or for a probe if delivery would have happened).

The MTS is provided by MTAs which interact using the MTA (Message Transfer Agent) Service, which defines the interaction between MTAs, along with the procedures for distributed operation. This service provides for transfer of MTS Messages, Probes, and Reports.

1.5.2. RFC 822std11(-> 2822prop)

RFC 822std11(-> 2822prop) is based on the assumption that there is an underlying service, which is here called the 822-MTS service. The 822-MTS service provides three basic functions:

   1.   Identification of a list of recipients.

   2.   Identification of an error return address.

   3.   Transfer of an RFC 822std11(-> 2822prop) message.

It is possible to achieve 2) within the RFC 822std11(-> 2822prop) header.

This specification will be used most commonly with SMTP as the 822- MTS service. The core MIXER specification is written so that it does not rely on non-basic 822-MTS services. Use of non-basic SMTP services is described in Appendix A. The core of this document is written using SMTP terminology for 822-MTS services.

An RFC 822std11(-> 2822prop) message consists of a header, and content which is uninterpreted ASCII text. The header is divided into fields, which are the protocol elements. Most of these fields are analogous to IPM heading fields, although some are analogous to MTS Service Elements or MTA Service Elements.

RFC 822std11(-> 2822prop) supports delivery status notifications by use of the NOTARY mechanisms [28].

1.5.3. The Gateway

Given this functional description of the two services, the functional nature of a gateway can now be considered. It would be elegant to consider the SMTP (822-MTS) service mapping onto the MTS Service Elements and RFC 822std11(-> 2822prop) mapping onto an IPM, but there is a not a clear match between these services. Another elegant approach would be to treat this document as the definition of an X.400 Access Unit (AU). In this case, the abstraction level is too high, and some necessary mapping function is lost. It is necessary to consider that the IPM format definition, the IPMS Service Elements, the MTS Service Elements, and MTA Service Elements on one side are mapped into RFC 822std11(-> 2822prop) + SMTP on the other in a slightly tangled manner. The details of the tangle will be made clear in Chapter 5. Access to the MTA Service Elements is minimised.

The following basic mappings are thus defined. When going from RFC 822std11(-> 2822prop) to X.400, an RFC 822std11(-> 2822prop) message and the associated SMTP information is always mapped into an IPM (MTA, MTS, and IPMS Services) and a Delivery Status Notification is mapped onto a Report. Going from X.400 to RFC 822std11(-> 2822prop), an RFC 822std11(-> 2822prop) message and the associated SMTP information may be derived from:

   1.   An IPN (MTA, MTS, and IPMS services)

   2.   An IPM (MTA, MTS, and IPMS services)

A Report (MTA, and MTS Services) is mapped onto a delivery status notification.

Probes (MTA Service) shall be processed by the gateway, as discussed in Chapter 5. MTS Messages containing Content Types other than those defined by the IPMS are not mapped by the gateway, and shall be rejected at the gateway if no other gatewaying procedure is defined.

This specification is concerned with X.400 IPMS. Future specifications may defined mappings for other X.400 content types.

1.5.4. Repeated Mappings

The primary goal of this specification is to support single mappings, so that X.400 and RFC 822std11(-> 2822prop) users can communicate with maximum functionality.

The mappings specified here are designed to work where a message traverses multiple times between X.400 and RFC 822std11(-> 2822prop). This is often essential, particularly in the case of distribution lists. However, in general, this will lead to a level of service which is the lowest common denominator (approximately the services offered by RFC 822std11(-> 2822prop)).

Some RFC 822std11(-> 2822prop) networks may wish to use X.400 as an interconnection mechanism (typically for policy reasons), and this is fully supported.

Where an X.400 message transfers to RFC 822std11(-> 2822prop) and then back to X.400, there is no expectation of X.400 services which do not have an equivalent service in standard RFC 822std11(-> 2822prop) being preserved - although this may be possible in some cases.

1.6. Support of X.400 (1984)

The MIXER definition is based on the initial specification of RFC 987(-> 2156prop | 1327(-> 2156prop)) and in its addendum RFC 1026(-> 2156prop | 1327(-> 2156prop)), which defined a mapping between X.400(1984) and RFC 822std11(-> 2822prop). The core MIXER mapping is defined using the full 1988 version of X.400, and not to a 1984 compatible subset. New features of X.400(1988) can be used to provide a much cleaner mapping than that defined in RFC 987(-> 2156prop | 1327(-> 2156prop)). To interwork with 1984 systems, Appendix B shall be followed.

If a message is being transferred to an X.400(1984) system by way of X.400(1988) MTA it will give a slightly better service to follow the rules of Appendix B, than to downgrade without this knowledge. Downgrading specifications which supplement those specified in X.400 (X.419) are given in RFC 1328hist [22] and RFC 1496hist (HARPOON) [5].

1.7. X.400 (1992)

X.400 (1992) features are not used by the core of this mapping, and so there is not an equivalent downgrade problem.

1.8. MIME

MIME format messages are generated by this mapping. As MIME messages are fully RFC 822std11(-> 2822prop) compliant, this will not cause problems with systems which are not MIME capable.

1.9. Body Parts

MIME and X.400 IPMS can both carry arbitrary body parts. MIME defines a mechanism for adding new body parts, and new body parts are registered with the IANA. X.400 defines a mechanism adding new body parts, usually referred to as Body Part 15. Extensions are defined by Object Identifiers, so there is no requirement for a central body part registration authority. The Electronic Messaging Association (EMA) maintains a list of some commonly used body parts. The EMA has specified a mechanism to use the File Transfer Body Part (FTBP) as a more generic means to support message attachments. This approach is gaining widespread commercial support.

The mapping between X.400 and MIME body parts is defined in the companion MIXER specification, referenced here as RFC 2157prop [8]. This document is an update of RFC 1494hist [6].

Editor's Note: References to 2157 will be resolved as these two documents are expected to progress in parallel.

These two specifications together form the complete MIXER Mapping.

1.10. Local and Global Scenarios

There are two basic scenarios for X.400/MIME interworking:

Global Scenario

There are two global mail networks (Internet/MIME and X.400), interconnected by multiple gateways. Objects may be transferred over multiple gateways, and so it is important that gateways behave in a coherent fashion. MIXER is critical to support this scenario.

Local Scenario

A gateway is used to connect a closed community to a global mail network (this could be enforced by connectivity or gateway authorisation policy). This is a common commercial scenario. MIXER is useful to support this scenario, as it allows an industry standard provision of service, but this could be supported by something which was MIXER-like.

A solution for the global scenario will work for the local scenario. However, there are aspects of MIXER which have significant implementation or deployment effort (the global mapping is the major one, but there are other details too) which and are needed to support the global scenario, but are not needed in the local scenario.

Note that the local scenario may be the driving force for most deployments, and support of the global scenario may be an important secondary goal.

There is also a transition effect. Gateways which are initially deployed in a strict local scenario situation start to find themselves in a global scenario. A common case is ADMD provided gateways, which are targeted strictly at the local scenario. In practice they soon start to operate in the global scenario, because of distribution lists and messages exchanged with X.400 users that are not customers of the ADMD. At this point, users are hurt by the restrictions of a local scenario gateway.

Note that conformance to MIXER applies to an instantiation of a gateway, not just an implementation (although clearly it is critical that the implementation is capable of being operated in a conformant manner).

MIXER's conformance target is the global scenario, and the specification of MIXER defines operation in this way.

1.11. Compatibility with previous versions

The changes between this and older versions of the document are given in Appendices H, I and J. These are RFCs 987(-> 2156prop | 1327(-> 2156prop)), 1026(-> 2156prop | 1327(-> 2156prop)), 1138(-> 2156prop | 1327(-> 2156prop)), 1148(-> 2156prop | 1327(-> 2156prop)) and 1327(-> 2156prop). This document is a revision of RFC 1327(-> 2156prop) [21]. As far as possible, changes have been made in a compatible fashion.

1.12. Aspects not covered

There have been a number of cases where previous versions of this document were used in a manner which was not intended. This section is to make clear some limitations of scope. In particular, this specification does not specify:

These are really coupled. To map the X.400 services, this specification defines a number of extensions to RFC 822std11(-> 2822prop). As a side effect, these give the 822 user access to SOME X.400 services. However, the aim on the RFC 822std11(-> 2822prop) side is to preserve current service, and it is intentional that access is not given to all X.400 services. Thus, it will be a poor choice for X.400 implementors to use MIXER as an interface - there are too many aspects of X.400 which cannot be accessed through it. If a text interface is desired, a specification targeted at X.400, without RFC 822std11(-> 2822prop) restrictions, would be more appropriate. Some optional and limited extensions in this area have proved useful, and are defined in Appendix C.

1.13. Subsetting

This proposal specifies a mapping which is appropriate to preserve services in existing RFC 822std11(-> 2822prop) communities. Implementations and specifications which subset this specification are non-conformant and strongly discouraged.

1.14. Specification Language

ISO and Internet standards have clear definitions as to the style of language used. This specification maps between ISO/ITU-T protocol and Internet protocols. This document uses ISO terminology for the following reasons:

   1.   This was done in previous versions.

   2.   ISO language may be mechanically converted to Internet
        language, but not vice versa.

The key elements of the ISO rules are:

   1.   All mandatory features shall clearly be indicated by
        imperative statements or the word "shall" or "shall not".

   2.   Optional features shall be indicated by the word "may".

   3.   The word "should" and the phrase "may not" shall not be
        used.

In some cases the specification issues guidance on use of optional features, by use of the the phrase word "recommended" or "not recommended".

To interpet this document according to Internet rules, replace every occurrence of "shall" with "must".

1.15. Related Specifications

Mappings between Mail-11 and X.400 and Mail-11 and RFC 822std11(-> 2822prop) are described in RFC 2162exp, using mappings related to those defined here [2].

1.16. Document Structure

This document has five chapters:

   1.   Overview - this chapter.

   2.   Service Elements - This describes the (end user) services
        mapped by a gateway.

   3.   Basic mappings - This describes some basic notation used in
        Chapters 3-5, the mappings between character sets, and some
        fundamental protocol elements.

   4.   Addressing - This considers the mapping between X.400 OR
        names and RFC 822std11(-> 2822prop) addresses, which is a fundamental gateway
        component.

   5.   Detailed Mappings - This describes the details of all other
        mappings.

There are also ten appendices.

WARNING:

THE REMAINDER OF THIS SPECIFICATION IS TECHNICALLY DETAILED. IT WILL NOT MAKE SENSE, EXCEPT IN THE CONTEXT OF RFC 822std11(-> 2822prop) AND X.400 (1988). DO NOT ATTEMPT TO READ THIS DOCUMENT UNLESS YOU ARE FAMILIAR WITH THESE SPECIFICATIONS.

1.17. Acknowledgements

The work in this specification was substantially based on RFC 987(-> 2156prop | 1327(-> 2156prop)) and RFC 1148(-> 2156prop | 1327(-> 2156prop)), which had input from many people, who are credited in the respective documents.

A number of comments from people on RFC 1148(-> 2156prop | 1327(-> 2156prop)) lead to RFC 1327(-> 2156prop). In particular, there were comments and suggestions from: Maurice Abraham (HP); Harald Alvestrand (Sintef); Peter Cowen (X-Tel); Jim Craigie (JNT); Ella Gardner (MITRE); Christian Huitema (Inria); Erik Huizer (SURFnet); Neil Jones (DEC); Ignacio Martinez (IRIS); Julian Onions (X-Tel); Simon Poole (SWITCH); Clive Roberts (Data General); Pete Vanderbilt (SUN); Alan Young (Concurrent).

RFC 1327(-> 2156prop) has been widely adopted, and a review team was formed. This comprised of: Urs Eppenberger (SWITCH)(Chair); Claudio Allocchio (INFN); Harald Alvestrand (UNINETT); Dave Crocker (Brandenburg); Ned Freed (Innosoft); Erik Huizer (SURFnet); Steve Kille (Isode); Peter Sylvester (GC Tech).

Harald Alvestrand also supplied the tables mapping DSN status codes with X.400 codes. Ned Freed defined parts of the File Transfer Body Part mapping.

Comment and input has also been received from: Bengt Ackzell (Generic Systems); Samir Albadine (Transpac); Mark Boyes (DEC); Larry Campbell (Boston Software Works); Jacqui Caren (Cray); Allan Cargille (MCI); Kevin Carrosso (Innosoft); Charlie Combs (OIW); Jim Craigie (Net- Tel); Eamon Doyle (Isocor); Efifion Edem (SITA); Jyrki Heikkinen (ICL); Edward Hibbert (DCL); Jeroun Houttin (Terena); Kevin Jordan (CDS); Paul Kingsnorth (DEC); Carl-Uno Manros (Manros Consulting); Suzan Mendes (Telis); Robert Miles (Softswitch); Roger Mizumorri (Enterprise Solutions Ltd); Keith Moore (University of Tennessee); Ruth Moulton (Net-Tel) Michel Musy (Bull); Kenji Nonaka (NTT): The OIW MHSIG; Tom Oliphant (SWITCH); Julian Onions (NEXOR); Jacob Palme (KTH); Olivier Paridaens (ULB); Mary la Roche (Citicorp); John Setsaas (Maxware); Russell Sharpe (DCL); Patrick Soulier (CCETT); Eftimios Tsigros (Universite Libre de Bruxelles); Sean Turner (IECA); Mark Wahl (Isode); David Wilson (Isode); Bill Wohler (Worldtalk); Alan Young (Isode); Alain Zahm (Telis).


Google
Web
RFC-Ref