Previous | Contents | Index |
While originally developed for use in an Internet-wide RFC 822/X.400 gateway environment, the RFC 2156 mapping tables are more commonly used to simplify addressing problems between X.400 and RFC 822 users within an enterprise or across a few interconnected organizations.
This example assumes that the fictitious, Example Corporation is using PMDF-X400 to interconnect their X.400 user base with their non X.400 users. They have two organizations on the X.400 side, assigned X.400 addresses of the form:
/O=Administration/PRMD=EXAMPLE/ADMD=XYZ/C=US /O=Bean Counters/PRMD=EXAMPLE/ADMD=XYZ/C=US |
The non X.400 side of the house is using Internet domain names underneath of EXAMPLE.COM, such as:
po1.ccmail.example.com vax.rnd.example.com unix1.engineering.example.com |
x400_domains.com
procedure (OpenVMS) or x400_domains.tcl
TCL script (UNIX),
these addresses look rather daunting to the X.400 users:
/DD.RFC-822=user(a)po1.ccmail.example.com/O=Gateway/PRMD=EXAMPLE/ADMD=XYZ/C=US |
/G=First/S=Last/O=Administration/PRMD=EXAMPLE/ADMD=XYZ/C=US/@X400.EXAMPLE.COM |
/O=ccMAIL/PRMD=EXAMPLE/ADMD=XYZ/C=US ccmail.example.com /O=R and D/PRMD=EXAMPLE/ADMD=XYZ/C=US rnd.example.com /O=Engineering/PRMD=EXAMPLE/ADMD=XYZ/C=US engineering.example.com /O=Administration/PRMD=EXAMPLE/ADMD=XYZ/C=US admin.example.com /O=Bean Counters/PRMD=EXAMPLE/ADMD=XYZ/C=US beans.example.com |
Note that the first three are already existing domains on the RFC 822 side, for which new ORnames are invented, while the latter two are existing ORnames for which new domains are specified.
The mapping files, table1.map
and table2.map
to accomplish the address translations look like this:
6
# # TABLE 1 # ORname -> domains mappings for EXAMPLE.COM # O$R and D.PRMD$EXAMPLE.ADMD$XYZ.C$US#rnd.example.com# O$Administration.PRMD$EXAMPLE.ADMD$XYZ.C$US#admin.example.com# O$Bean Counters.PRMD$EXAMPLE.ADMD$XYZ.C$US#beans.example.com# PRMD$EXAMPLE.ADMD$XYZ.C$US#example.com# |
# # TABLE 2 # domains -> ORname mappings for EXAMPLE.COM # rnd.example.com#O$R and D.PRMD$EXAMPLE.ADMD$XYZ.C$US# admin.example.com#O$Administration.PRMD$EXAMPLE.ADMD$XYZ.C$US# beans.example.com#O$Bean Counters.PRMD$EXAMPLE.ADMD$XYZ.C$US# example.com#PRMD$EXAMPLE.ADMD$XYZ.C$US# |
Note that we've taken a slight shortcut here. CCMAIL.EXAMPLE.COM and ENGINEERING.EXAMPLE.COM can be handled by a single more general rule, the last one in each table, because sub-domains will, by default, be placed into separate, decreasing ORname attributes. This also handily takes care of any other domains, to a depth of up to five more levels, under EXAMPLE.COM by placing the subdomain names into O, OU1, OU2, OU3, and OU4 attribute fields to whatever depth is necessary.
Conversion of TABLE 1 and TABLE 2 into PMDF rewrite rules and PMDF-X400
address conversion databases is achieved on OpenVMS by executing the
procedure x400_domains_driver.com
shown in Example 41-3,
or on UNIX by executing the Tcl script
x400_domains_driver.tcl
shown in Example 41-3. When the
procedure is done, the x400.rules
configuration file
containing rewrite rules for PMDF-X400 needs to be augmented by adding
a reference to the new x400_domains.rules
file. Edit the
x400.rules
file in the PMDF table directory and add, for
instance at the bottom of the file, the following line on OpenVMS:
<PMDF_TABLE:x400_domains.rules |
</pmdf/table/x400_domains.rules |
x400.rules
file. If a compiled PMDF configuration is in
use, recompile and reinstall the configuration so that the new rules
will be seen.
Once in place, these rules now allow the X.400 user to, for example, reach the cc:Mail users with addresses like:
/S=user/OU=po1/O=ccMail/PRMD=EXAMPLE/ADMD=XYZ/C=US |
Givenname.Surname@admin.example.com |
6 The format of these tables is
defined in RFC 2156, a copy of which is distributed with PMDF, as
described in Section 41.10. In particular, note that you can not
simply omit fields from the TABLE1 and TABLE2 mappings; in order to
indicate an "omitted" field, you must use the special
|
# TABLE 1: ORname -> domains mapping for EXAMPLE.COM O$@.PRMD$EXAMPLE.ADMD$XYZ.C$US#x400.example.com# |
Previous | Next | Contents | Index |