XCON: Latin-1 X.400 Bodypart Encoding Causes NDR

Last reviewed: September 11, 1997
Article ID: Q151417

The information in this article applies to:

  • Microsoft Exchange Server, versions 4.0 and 5.0

SYMPTOMS

The use of ISO 8859-1 (Latin-1) as X.400 bodypart for the X.400 message text sent by Microsoft Exchange Server may result in this bodypart not being recognized by MTAs such as Digital's MAILbus 400. Therefore, no further processing, such as conversion can occur on this message. On the MAILbus 400 side this may result in error message similar to the following:

   Event:Converter Unavailable

(Please see the More Information section for the complete error log). Eventually, a non-delivery report (NDR) will be sent back to Microsoft Exchange Server.

CAUSE

The encoding used by Microsoft Exchange Server for the ISO 8859-1 (Latin-1) bodypart lacks the escape sequence needed to invoke the G0 subset of the ISO Latin 1 character set.

WORKAROUND

Do not use the ISO 8859-1 (Latin-1) bodypart if the remote message transfer agent (MTA) is not able to decode the message without errors as sent by Microsoft Exchange Server.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Exchange Server version 4.0. A supported fix to this problem is in development, but has not been fully regression-tested and should be applied only to systems experiencing this specific problem. Unless you are severely impacted by this specific problem, Microsoft recommends that you wait for the next Service Pack that contains this fix. Contact Microsoft Technical Support for more information on the availability of this fix.

Microsoft has confirmed this to be a problem in Microsoft Exchange Server version 5.0. This problem was corrected in the latest Microsoft Exchange 5.0 Server U.S. Service Pack. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces):

   S E R V P A C K

MORE INFORMATION

Foreign MTAs may expect the ISO-8859-1 body part invoked, using four additional characters before the actual content (1b 28 42 0f). These four characters shall contain the escape sequence invoking the G0 subset of the ISO Latin 1 set. ISO/IEC 10021-7 Annex B, B.2 defines the General Text (extended) Bodypart. It refers to the G0 character set designators as follows:

   The defaults for the G0 and C0 character set designators are those
   assumed as designated and invoked by the ASN.1 Basic Encoding Rules (ISO
   8825) for a General String.

The Latin-1 character set itself is defined in ISO 8859-1 and also defines the Escape sequences as follows: ISO 8859-1, 8 Designation of the character set

   When required by other coding standards, for example ISO 2022 or ISO
   4873, the following pair of escape sequences shall be used: ESC 02/08
   04/02 ESC 02/13 04/01 to designate the G0 and the G1 sets, respectively.
   According to ISO 2022, the character SPACE does not require
   designation.

ITU' s 1988 X series of recommendations also known as the Blue Book refer to these character set designators as follows: Rec. X.209, 23.5:

   23.5 The octet string shall contain the octets specified in ISO 2022 for
   encodings in an 8-bit environment, using the escape sequence and
   character codings registered in accordance with ISO 2375. ..."

The following is a sample of a resulting error as generated by Digital' s MAILbus 400:

   Event:Converter Unavailable
         from:Node DEC:.abc.defgh MTA
         at  :1996-12-13-14:49:07.851+01:00I-----

         Converter Name                    = "latin1toiso6937"
         Step                              = ""
         Error Log                         =
   "/var/mta/bad_msgs/latin1toiso69370008A832B15E"
   Saved Bodypart                    =
   "/var/mta/bad_msgs/isolatin10008A832B15E"
   Message Identifier                =
             [
   Country = "CH" ,
   Administration Domain = "400NET" ,
   Private Domain = "PRMD" ,
   Local Identifier = "ABCD-970113135033Z-8"
             ]
   Source                            =
             [
   Type = Domain ,
   Domain Name = "DOM88"
             ]
   Originator                        = "C=CH; A@0NET; P_ABCD;
   OU1=EXAB;OU2^; O=CDE; G=Abcd; S-efghijklmn;
   /OrganizationName_A/OrganizationalUnit_BCDEFGH/CommonName=RECIPIENTS/Com
   monName=AbcdB"
   Error                             = Conversion Failed
   # #Print the error log:
   # more /var/mta/bad_msgs/latin1toiso69370008A832B15E
   Input error - required character set not invoked prior to use
   #

MAILbus 400 is manufactured by Digital Equipment Corp., a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability. |* and G1
Keywords          : kbbug4.00 kbbug5.00 kbfix5.00.sp1 XCON kbusage buglist
Version           : 4.0 5.0
Platform          : WINDOWS
Issue type        : kbbug
Solution Type     : kbfix


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 11, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.