14. MHS Directory User Package

Back to Table of Contents The Message Handling System Directory User Package (MDUP) contains definitions to support the use of the directory in accordance with the standard 1988 X.400 User Agents and Message Transfer Agents (MTAs) for name resolution, Distribution List (DL) expansion, and capability assessment. The definitions are based upon the attribute types and syntaxes specified in X.402, Annex A.

The MDUP is an optional package that can be used by the XDS interface. Applications must negotiate use of this package with ds_version() before using any of the MDUP features. If an application attempts to use features specific to the package without first negotiating its use, an appropriate error (for example, OM_NO_SUCH_CLASS) is returned by the Object Management (OM) function.

The object identifier associated with the MDUP is

{iso(1) identified-organization(3) icd-ecma(0012) member-company(2)
dec(1011) xopen(28) mdup(3)}
with the following encoding:
\x2B\xC\x2\x87\x73\x1C\x3

This identifier is represented by the constant DS_MHS_DIR_USER_PKG. The C constants associated with this package are defined in the xmsga.h header files.

The concepts and notation used are first mentioned in Section 11.1. They are also fully explained in Chapters 17 through 19. The attribute types are introduced first, followed by the object classes. Next, the OM class hierarchy and OM class definitions required to support the new attribute types are described.

14.1. MDUP Attribute Types

Back to Table of Contents

This section presents additional directory attribute types that are used with the MDUP. Each attribute type has an object identifier, which is the value of the OM attribute DS_ATTRIBUTE_TYPE. These object identifiers are represented in the interface by constants with the same name as the directory attribute and are prefixed by DS_A_ so that they can be easily identified.

This section contains two tables that are used to indicate the object identifiers for MDUP attribute types (see Table 14-1), and the values for MDUP attribute types (see Table 14-2), respectively. Following these two tables is a brief description of each attribute. (See Section 12.1 for information on general matching rules).

Note: The third and fourth columns of Table 14-1 contain the contents octets of the BER encoding of the object identifier. All these object identifiers stem from the root {joint-iso-ccitt(2) mhs-motis(6) arch(5) at(2)}.

Table 14-1: Object Identifiers for MDUP Attribute Types
Object Identifier BER
PackageAttribute TypeDecimalHexadecimal
MDUPDS_A_DELIV_CONTENT_LENGTH86, 5, 2, 0\x56\x05\x02\x00
MDUPDS_A_DELIV_CONTENT_TYPES86, 5, 2, 1\x56\x05\x02\x01
MDUPDS_A_DELIV_EITS86, 5, 2, 2\x56\x05\x02\x02
MDUPDS_A_DL_MEMBERS86, 5, 2, 3\x56\x05\x02\x03
MDUPDS_A_DL_SUBMIT_PERMS86, 5, 2, 4\x56\x05\x02\x04
MDUPDS_A_MESSAGE_STORE86, 5, 2, 5\x56\x05\x02\x05
MDUPDS_A_OR_ADDRESSES86, 5, 2, 6\x56\x05\x02\x06
MDUPDS_A_PREF_DELIV_METHODS86, 5, 2, 7\x56\x05\x02\x07
MDUPDS_A_SUPP_AUTO_ACTIONS86, 5, 2, 8\x56\x05\x02\x08
MDUPDS_A_SUPP_CONTENT_TYPES86, 5, 2, 9\x56\x05\x02\x09
MDUPDS_A_SUPP_OPT_ATTRIBUTES86, 5, 2, 10\x56\x05\x02\x0A

14-2: Representation of Values for MDUP Attribute Types
Attribute TypeOM Value SyntaxValue LengthMulti-valuedMatching Rules
DS_A_DELIV_CONTENT_LENGTHOM_S_INTEGER--no--
DS_A_DELIV_CONTENT_TYPESString(OM_S_OBJECT_IDENTIFIER_STRING)--yes--
DS_A_DELIV_EITSString(OM_S_OBJECT_IDENTIFIER_STRING)--yes--
DS_A_DL_MEMBERSObject(DS_C_OR_NAME)--yes--
DS_A_DL_SUBMIT_PERMSObject(DS_C_DL_SUBMIT_PERMS)--yes--
DS_A_MESSAGE_STOREString(DS_C_DS_DN)--no--
DS_A_OR_ADDRESSESObject(MH_C_OR_ADDRESS)--yes--
DS_A_PREF_DELIV_METHODEnum(MH_Delivery_Mode)--noE
DS_A_SUPP_AUTO_ACTIONSString(OM_S_OBJECT_IDENTIFIER_STRING)--yes--
DS_A_SUPP_CONTENT_TYPESString(OM_S_OBJECT_IDENTIFIER_STRING)--yes--
DS_A_SUPP_OPT_ATTRIBUTESString(OM_S_OBJECT_IDENTIFIER_STRING)--yes--

Throughout the descriptions that follow, the term object indicates the directory object whose directory entry contains the corresponding directory attributes.

14.2. MDUP Object Classes

Back to Table of Contents There are five MDUP object classes and their associated object identifiers (see Table 14-3).
Note: The third and fourth columns of Table 14-3 contain the contents octets of the BER encoding of the object identifier. MDUP object identifiers stem from the root {joint-iso-ccitt(2) mhs-motis(6) arch(5) oc(1)}.

14-3: Object Identifiers for MDUP Object Classes
Object Identifier BER
PackageObject ClassDecimalHexadecimal
MDUPDS_O_MHS_DISTRIBUTION_LIST86, 5, 1, 0\x56\x05\x01\x00
MDUPDS_O_MHS_MESSAGE_STORE86, 5, 1, 1\x56\x05\x01\x01
MDUPDS_O_MHS_MESSAGE_TRANS_AG86, 5, 1, 2\x56\x05\x01\x02
MDUPDS_O_MHS_USER86, 5, 1, 3\x56\x05\x01\x03
MDUPDS_O_MHS_USER_AG86, 5, 1, 4\x56\x05\x01\x04

14.3. MDUP OM Class Hierarchy

Back to Table of Contents The remainder of this chapter defines the additional OM classes used by MDUP. This section shows the hierarchical organization of the OM classes that are defined in the following sections, and shows which classes inherit additional OM attributes from their OM superclasses. In the following list, subclassification is indicated by indentation and the names of abstract OM classes are represented in italic font.

OM_C_OBJECT

None of the OM classes in the preceding list are encodable by using om_encode and om_decode.

14.4. MH.C.OR.ADDRESS

Back to Table of Contents

An instance of class MH_C_OR_ADDRESS distinguishes one user or DL from another, and identifies its point of access to the Message Transfer System (MTS). Every user or DL is assigned one or more MTS access points and thus one or more originator/recipient (O/R) addresses.

The attributes specific to this class are listed in Table 14-4. The 1988 column indicates that the attribute applies only to the 1988 standard.
14-4: Attributes Specific to MH_C_OR_ADDRESS
AttributeValue SyntaxValue LengthValue Number1988?
MH_T_ADMD_NAME1String(OM_S_PRINTABLE_STRING)0-160 or 1--
MH_T_COMMON_NAMEString(OM_S_PRINTABLE_STRING or String(OM_S_TELETEX_STRING21-640-21988
MH_T_COUNTRY_NAME1String(OM_S_PRINTABLE_STRING)2-30 or 1--
MH_T_DOMAIN_TYPE_1String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-80-24--
MH_T_DOMAIN_TYPE_2String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-80-24--
MH_T_DOMAIN_TYPE_3String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-80-24--
MH_T_DOMAIN_TYPE_4String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-80-24--
MH_T_DOMAIN_VALUE_1String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-1280-24--
MH_T_DOMAIN_VALUE_2String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-1280-24--
MH_T_DOMAIN_VALUE_3String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-1280-24--
MH_T_DOMAIN_VALUE_4String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-1280-24--
MH_T_GENERATIONString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-30-24--
MH_T_GIVEN_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-160-24--
MH_T_INITIALSString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-50-24--
MH_T_ISDN_NUMBERString(OM_S_NUMERIC_STRING)1-150 or 11988
MH_T_ISDN_SUBADDRESSString(OM_S_NUMERIC_STRING)1-400 or 151988
MH_T_NUMERIC_USER_IDENTIFIERString(OM_S_NUMERIC_STRING)1-320 or 1--
MH_T_ORGANIZATION_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-640-24,6--
MH_T_ORGANIZATIONAL_UNIT_NAME_1String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-320-24--
MH_T_ORGANIZATIONAL_UNIT_NAME_2String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-320-24--
MH_T_ORGANIZATIONAL_UNIT_NAME_3String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-320-24--
MH_T_ORGANIZATIONAL_UNIT_NAME_4String(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)2,31-320-24--
MH_T_POSTAL_ADDRESS_DETAILSString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_ADDRESS_IN_FULLString(OM_S_TELETEX_STRING)1-1850 or 11988
MH_T_POSTAL_ADDRESS_IN_LINESString(OM_S_PRINTABLE_STRING)1-300-61988
MH_T_POSTAL_CODEString(OM_S_PRINTABLE_STRING)1-160 or 11988
MH_T_POSTAL_COUNTRY_NAMEString(OM_S_PRINTABLE_STRING)2-30 or 11988
MH_T_POSTAL_DELIVERY_POINT_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_DELIV_SYSTEM_NAMEString(OM_S_PRINTABLE_STRING)1-160 or 11988
MH_T_POSTAL_GENERAL_DELIV_ADDRString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_LOCALEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_OFFICE_BOX_NUMBERString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_OFFICE_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_OFFICE_NUMBERString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_ORGANIZATION_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_PATRON_DETAILSString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_PATRON_NAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_POSTAL_STREET_ADDRESSString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-300-21988
MH_T_PRESENTATION_ADDRESSStrinf(DS_C_PRESENTATION_ADDRESS)--0 or 11988
MH_T_PRMD_NAME1String(OM_S_PRINTABLE_STRING)1-160 or 1--
MH_T_SURNAMEString(OM_S_PRINTABLE_STRING) or StringOM_S_TELETEX_STRING)21-400-24--
MH_T_TERMINAL_IDENTIFIERString(OM_S_PRINTABLE_STRING)1-240 or 1--
MH_T_TERMINAL_TYPEEnum(MH_Terminal_Type)--0 or 11988
MH_T_X121_ADDRESSString(OM_S_NUMERIC_STRING)1-150 or 1--

1
The value initially is the current session's attribute of the same name.
2
If only one value is present in international communications, its syntax is String(OM_S_PRINTABLE_STRING). If two values are present, in either domestic or international communications, the syntax of the first is String(OM_S_PRINTABLE_STRING), the syntax of the second is String(OM_S_TELETEX_STRING), and the two convey the same information such that either can be safely ignored.

For example, Teletex strings allow inclusion of the accented characters commonly used in many countries. Not all input/output devices, however, permit the entry and display of such characters. Printable strings are required internationally to ensure that such device limitations do not prevent communications.

3
For 1984, the syntax of the value is String(OM_S_PRINTABLE_STRING).
4
For 1984, at most one value is present.
5
This attribute is present only if the ISDN Number attribute is present.
6
For 1988, this attribute is required if any Organization Name is present.

Certain attributes are grouped together for reference as follows:

For any i in the interval [1, 4], the Domain Type i and Domain Value i attributes constitute a Domain-Defined Attribute (DDA).

Note: The widespread avoidance of DDAs produces more uniform and thus more user-friendly O/R addresses. However, it is anticipated that not all Management Domains (MDs) will be able to avoid such attributes immediately. The purpose of DDAs is to permit an MD to retain its existing native addressing conventions for a time. It is intended, however, that all MDs migrate away from the use of DDAs, and thus that DDAs are used only for an interim period.

An O/R address may take any of the forms summarized in Table 14-5. Table 14-5 indicates the attributes that may be present in an O/R address of each form. It also indicates whether it is mandatory (M) or conditional (C) that they do so. When applied to a group of attributes (the network address attributes, for example), mandatory means that at least one member of the group must be present, while conditional means that no members of the group need necessarily be present.

The presence or absence in a particular O/R address of conditional attributes is determined as follows. If a user or DL is accessed through a PRMD, the ADMD that the MH_T_COUNTRY_NAME and MH_T_ADMD_NAME attributes indicate governs whether attributes used to route messages to the PRMD are present, but it imposes no other constraints on attributes. If a user or DL is not accessed through a PRMD, the same ADMD governs whether all conditional attributes, except those specific to postal O/R addresses, are present. All conditional attributes specific to postal O/R addresses are present or absent so as to satisfy the postal addressing requirements of the users they identify.

Table 14-5: Forms of Originator/Recipient Address
AttributeMnem1Num2Spost3Upost4Term5
MH_T_ADMD_NAMEMMMMC
MH_T_COMMON_NAMEC--------
MH_T_COUNTRY_NAMEMMMMC
Domain-Defined AttributesCC----C
Network Address Attributes--------M
MH_T_NUMERIC_USER_IDENTIFIER--M------
MH_T_ORGANIZATION_NAMEC--------
Organizational Unit Name AttributesC--------
Personal Name AttributesC--------
MH_T_POSTAL_ADDRESS_DETAILS----C----
MH_T_POSTAL_ADDRESS_IN_FULL------M--
MH_T_POSTAL_CODE----MM--
MH_T_POSTAL_COUNTRY_NAME----MM--
MH_T_POSTAL_DELIVERY_POINT_NAME----C----
MH_T_POSTAL_DELIV_SYSTEM_NAME----CC--
MH_T_POSTAL_GENERAL_DELIV_ADDR----C----
MH_T_POSTAL_LOCALE----C----
MH_T_POSTAL_OFFICE_BOX_NUMBER----C----
MH_T_POSTAL_OFFICE_NAME----C----
MH_T_POSTAL_OFFICE_NUMBER----C----
MH_T_POSTAL_ORGANIZATION_NAME----C----
MH_T_POSTAL_PATRON_DETAILS----C----
MH_T_POSTAL_PATRON_NAME----C----
MH_T_POSTAL_STREET_ADDRESS----C----
MH_T_PRMD_NAMECC\s-2\u6\d\s+2CCC\s-2\u6\d\s+2
MH_T_TERMINAL_IDENTIFIER--------C
MH_T_TERMINAL_TYPE--------C

1
Mnemonic. X.400 (1984) calls this Form 1 Variant
2
Numeric. X.400 (1984) calls this Form 1 Variant
3
Structured postal. For 1984 this O/R address form is undefined.
4
Unstructured postal. For 1984 this O/R address form is undefined.
5
X.400 (1984) calls this Form 1 Variant 3 and Form
6
For 1984 this attribute is absent (--). For 1988 it is conditional (C).

Whenever two O/R addresses are compared for equality, the following differences are ignored:

Note: An MD may impose additional equivalence rules upon the O/R addresses it assigns to its own users and DLs. It may define, for example, rules concerning punctuation characters in attribute values, the case of letters in attribute values, or the relative order of DDAs.

As a national matter, MDs may impose additional rules regarding any attribute that may have a value whose syntax is String(OM_S_PRINTABLE_STRING), a value whose syntax is String(OM_S_TELETEX_STRING), or both. In particular, the rules for deriving from a Teletex string the equivalent printable string may be nationally prescribed.

14.5. MH.C.OR.NAME

Back to Table of Contents

An instance of class MH_C_OR_NAME comprises a directory name, an O/R address, or both. The name is considered present if, and only if, the MH_T_DIRECTORY_NAME attribute is present. The address comprises the attributes specific to the MH_C_OR_ADDRESS class and is considered present if, and only if, at least one of those attributes is present.

An O/R name's composition is context sensitive. At submission, the name, the address, or both may be present. At transfer, or delivery, the address is present and the name can (but need not) be present. Whether at submission, transfer or delivery, the MTS uses the name, if it is present, only if the address is absent or invalid.

The attribute specific to this class is listed in Table 14-6.
Table 14-6: Attribute Specific to MH_C_OR_NAME
OM AttributeValue SyntaxValue LengthValue NumberValue Initially1988?
MH_T_DIRECTORY_NAMEObject(DS_C_NAME)--0 or 1--1988

14.6. DS_C_DL_SUBMIT_PERMS

Back to Table of Contents

An instance of OM class DS_C_DL_SUBMIT_PERMS characterizes an attribute each of whose values are a submit permission. An instance of this OM class has the OM attributes of its superclass, OM_C_OBJECT, and additionally the OM attributes listed in Table 14-7.

Table 14-7: OM Attributes of DS_C_DL_SUBMIT_PERMS
OM AttributeValue SyntaxValue LengthValue NumberValue Initially
DS_PERM_TYPEEnum(DS_Permission_type)--1--
DS_INDIVIDUALObject(MH_C_OR_NAME)--0 or 1--
DS_MEMBER_OF_DLObject(MH_C_OR_NAME)--0 or 1--
DS_PATTERN_MATCHObject(MH_C_OR)NAME)--0 or 1--
DS_MEMBER_OF_GROUPObject(DS_C_DS_DN--0 or more--

Note that exactly one of the four name attributes will be present at any time, according to the value of the DS_PERM_TYPE attribute.


© 1990-1996, Transarc Corporation