PMDF System Manager's Guide


Previous Contents Index

41.10 Using RFC 2156 Mapping Tables

In addition to the algorithmic mapping between an X.400 O/R address space and a domain name space, RFC 2156 (which updates RFC 1327) provides for table-driven mappings. PMDF-X400 supports such mapping tables by converting them from the standard format, as specified by Appendix F of RFC 2156, into the TO_X400 and FROM_X400 databases used by PMDF-X400. This conversion is performed by the x400_domains.com procedure (OpenVMS) or x400_domains.tcl Tcl script (UNIX). A tutorial on the mapping tables and procedures for using and maintaining them is provided in RFC 1506. This, along with many other relevant RFC documents, is distributed with PMDF.5

If you are participating in the COSINE MHS project, you will probably need to use the tables maintained by the MHS Co-ordination Service. See RFC 1506 for information on retrieving the COSINE MHS tables.

If you are not participating in the COSINE MHS project, you can still want to use PMDF-X400's table mapping facility in order to construct your own, private equivalences between RFC 822 domains and X.400 addresses. Such mappings can greatly facilitate use of PMDF-X400 by your user base, since the X.400 side can then see the RFC 822 users with familiar X.400 addresses, and the RFC 822 side can see X.400 users with familiar domain style addresses. Done properly, neither side of the gateway usually needs to be exposed to foreign looking addresses.

If this is the case, you will need to create the files table1.map and table2.map yourself. The format for these mapping table files is described in Appendix F of RFC 2156, which is provided in the pmdf_root:[doc.rfc] (OpenVMS) or /pmdf/doc/rfc (UNIX) directories. An example use of locally crafted tables for private domains, as opposed to participation in COSINE MHS using their tables, is described in Section 41.10.2.

Since x400_domains.com (on OpenVMS) or x400_domains.tcl (on UNIX) requires some site-specified configuration parameters, you are not expected to run the procedure directly. Instead, a driver procedure x400_domains_driver.com (OpenVMS) or x400_domains_driver.tcl (UNIX) should be created in the PMDF table directory, customized, and then executed each time the tables are to be converted.

A template driver procedure, x400_domains_driver.template, is provided in the PMDF table directory when you install PMDF-X400. Make a copy of this file, naming the copy x400_domains_driver.com (OpenVMS) or x400_domains_driver.tcl (UNIX), and then edit the resulting copy, changing the input parameters to reflect your site configuration. See Section 41.10.1 below for a discussion of these parameters.

Example 41-3 demonstrates a sample OpenVMS x400_domains_driver.com procedure for the X.400 gateway named X400.EXAMPLE.COM; note that only the first eight parameters are normally modified. Example 41-4 demonstrates an analogous sample UNIX x400_domains_driver.tcl script; note that only the first five parameters are normally modified. The UNIX version is a bit simpler since there is no potential issue of coordinating with MR (Message Router) rules.

Example 41-3 Sample OpenVMS x400_domains_driver.com Procedure

$ ! 
$ ! Driver procedure to produce PMDF-MR or PMDF-X400 domain 
$ ! mappings based on RFC 2156 TABLE 1 (OR2RFC) and TABLE 2 (RFC2OR) 
$ ! 
$ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
$ ! 
$ ! Modify this procedure here to define local site 
$ ! dependent paramaters: 
$ ! 
$  PMDF_X400 = "TRUE"                  ! "TRUE" if routing through PMDF-X400 
$  PMDF_MB400 = "FALSE"                ! "TRUE" if routing through PMDF-MB400 
$  PMDF_MR = "FALSE"                   ! "TRUE" if routing through PMDF-MR/MRX 
$  PMDF_MR_ROUTE = ""                  ! Route to MRX (only if using PMDF_MR) 
$  X400_GWY_DOMAIN = "X400.EXAMPLE.COM"   ! Domain name of your X.400 channel 
$  MB400_GWY_DOMAIN = "MB400.EXAMPLE.COM" ! Domain name of your XAPI_LOCAL channel 
$  MR_GWY_DOMAIN = ""                  ! Domain name of your MR channel 
$  DOMAIN_DATABASE = "FALSE"           ! "TRUE" if you want DOMAIN.DAT produced 
$ ! 
$ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
$ ! 
$ ! The following would not normally be changed: 
$ ! 
$  TABLE_1 = "PMDF_TABLE:TABLE1.MAP" 
$  TABLE_2 = "PMDF_TABLE:TABLE2.MAP" 
$ ! 
$  FROM_X400_TXT = "PMDF_TABLE:FROM_X400.TXT" 
$  FROM_X400_DAT = "PMDF_TABLE:FROM_X400.DAT" 
$  TO_X400_TXT = "PMDF_TABLE:TO_X400.TXT" 
$  TO_X400_DAT = "PMDF_TABLE:TO_X400.DAT" 
$ ! 
$  DM_FROM_X400_TXT = "PMDF_TABLE:X400_DOMAINS_FROM_X400.TXT" 
$  DM_TO_X400_TXT = "PMDF_TABLE:X400_DOMAINS_TO_X400.TXT" 
$ ! 
$  FROM_MB400_TXT = "PMDF_TABLE:FROM_MB400.TXT" 
$  FROM_MB400_DAT = "PMDF_TABLE:FROM_MB400.DAT" 
$  TO_MB400_TXT = "PMDF_TABLE:TO_MB400.TXT" 
$  TO_MB400_DAT = "PMDF_TABLE:TO_MB400.DAT" 
$ ! 
$  DM_FROM_MB400_TXT = "PMDF_TABLE:X400_DOMAINS_FROM_MB400.TXT" 
$  DM_TO_MB400_TXT = "PMDF_TABLE:X400_DOMAINS_TO_MB400.TXT" 
$ ! 
$  FROM_MR_TXT = "PMDF_TABLE:FROM_MR.TXT" 
$  FROM_MR_DAT = "PMDF_TABLE:FROM_MR.DAT" 
$  TO_MR_TXT = "PMDF_TABLE:TO_MR.TXT" 
$  TO_MR_DAT = "PMDF_TABLE:TO_MR.DAT" 
$ ! 
$  DM_FROM_MR_TXT = "PMDF_TABLE:X400_DOMAINS_FROM_MR.TXT" 
$  DM_TO_MR_TXT = "PMDF_TABLE:X400_DOMAINS_TO_MR.TXT" 
$ ! 
$  DM_RULES = "PMDF_TABLE:X400_DOMAINS.RULES" 
$  DOMAIN_DAT = "PMDF_DOMAIN_DATABASE" 
$ ! 
$  @PMDF_COM:X400_DOMAINS.COM 
$ ! 
$  exit 

Example 41-4 Sample UNIX x400_domains_driver.tcl Script

#!/pmdf/bin/tclsh 
 
# Driver procedure to produce PMDF-X400 domain 
# mappings based on RFC 2156 TABLE 1 (OR2RFC) and TABLE 2 (RFC2OR) 
 
#include the other file needed 
source /pmdf/lib/x400_domains.tcl 
 
# Welcome to X.400, BITNET for the '90s -- oh boy! 
# 
####################################################### 
# 
# Modify this procedure here to define local site 
# dependent parameters: 
 
set PMDF_X400 1               ;# 1 if routing through PMDF-X400 
set PMDF_MB400 0              ;# 1 if routing through PMDF-MB400 
set X400_GWY_DOMAIN X400.EXAMPLE.COM ;# Domain name of your X.400 channel 
set MB400_GWY_DOMAIN MB400.EXAMPLE.COM ;# Domain name of your XAPI_LOCAL channel 
set DOMAIN_DATABASE 0         ;# 1 if you want domain.dat produced 
 
####################################################### 
# 
# The following would not normally be changed: 
 
set TABLE_1 /pmdf/table/table1.map 
set TABLE_2 /pmdf/table/table2.map 
 
set FROM_X400_TXT /pmdf/table/from_x400.txt 
set FROM_X400_DAT /pmdf/table/from_x400 
set TO_X400_TXT /pmdf/table/to_x400.txt 
set TO_X400_DAT /pmdf/table/to_x400 
 
set DM_FROM_X400_TXT /pmdf/table/x400_domains_from_x400.txt 
set DM_TO_X400_TXT /pmdf/table/x400_domains_to_x400.txt 
 
set FROM_MB400_TXT /pmdf/table/from_mb400.txt 
set FROM_MB400_DAT /pmdf/table/from_mb400 
set TO_MB400_TXT /pmdf/table/to_mb400.txt 
set TO_MB400_DAT /pmdf/table/to_mb400 
 
set DM_FROM_MB400_TXT /pmdf/table/x400_domains_from_mb400.txt 
set DM_TO_MB400_TXT /pmdf/table/x400_domains_to_mb400.txt 
 
set DM_RULES /pmdf/table/x400_domains.rules 
set DOMAIN_DAT PMDF_DOMAIN_DATABASE 
 
x400_domains 
 
exit 

Once customized for your configuration, execute the resulting driver procedure.
On OpenVMS, issue the command:


$ @PMDF_COM:x400_domains_driver.com
This executes x400_domains_driver.com which will invoke x400_domains.com with the specified parameters
On UNIX, issue the command:


# ./x400_domains_driver.tcl
This executes x400_domains_driver.tcl which will invoke x400_domains.tcl with the specified parameters.

Executing x400_domains.com (OpenVMS) or x400_domains.tcl (UNIX) results in the two mapping tables being processed into additional rules that will be merged into your existing FROM_X400 and TO_X400 databases. In addition, all domain names defined by Table 1 and Table 2 will be placed into a file named x400_domains.rules with appropriate references so that messages addressed to these domains will be routed through X.400. Optionally, a PMDF domain database can be produced. This is useful for efficient operation if a large number of domains are being defined.

PMDF-X400 does not currently process the RFC 2156 Gateway Table and therefore requires that the remote X.400 MTA or MTAs to which you connect are able to perform whatever X.400 routing will be required to reach the X.400 recipients that result from the application of RFC 2156 mapping tables. The Gateway Table is not necessary for your own, private use of X.400 domain mapping when you construct your own Table 1 and Table 2.

Note

5 On OpenVMS systems, look in the pmdf_root:[doc.rfc] directory; on UNIX systems look in the /pmdf/doc/rfc directory.


Previous Next Contents Index