Previous | Contents | Index |
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 |
x400_domains_driver.com
which will invoke
x400_domains.com
with the specified parameters
# ./x400_domains_driver.tcl |
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.
5 On OpenVMS systems, look in the
|
Previous | Next | Contents | Index |