Introduction
What are Lotus Domino and Lotus Notes?
Lotus Domino is the messaging platform that is produced by IBM.
Lotus Notes is the client software that allows users to connect to their
mailboxes on Domino servers.
Each Notes user exists in a Domino
domain. When you send mail from Exchange to a Domino user, you can type the
following format.
One-off addressing- �Notesuser1@Domino_domain�
- �NOTES:Notesuser1@Domino_domain�
What is the Connector for Lotus Notes, what is it used for, and what does it require?
The Connector for Lotus Notes is included with Exchange Server
2003. This connector enables Exchange administrators to implement messaging
coexistence between Exchange Server and Lotus Domino organizations. The
connector provides mailflow connectivity and the ability to synchronize the two
directories. In this article, we will cover details about both mailflow and
directory synchronization.
Periodic updates for the Connector for
Lotus Notes, known as Web Releases, are available on the following Microsoft
Web site:
The most recent version of the connector requires the Exchange
Server 2003 connector server to be running the latest service pack for Exchange
Server 2003.
The Web Release versions of the Connector for Lotus
Notes and the Calendar Connector come with their own installers. This means
that you can install the connectors at any time. You are not required to
install the Connector for Lotus Notes as part of the Exchange Server 2003
installation. However, the Connector for Lotus Notes requires the Lotus Notes
client to be installed before you install the connector. If there is an
existing connector, it will be upgraded.
During installation, the
new connector creates a log file that is named the
Exchange_Lotus_Notes_Connector_Setup_Progress.log file. The account that is
being used to install the connector should have at least an Exchange
administrator in the local administrative group plus a member of the
Administrators group on the local server.
How does the Connector for Lotus Notes work?
To interact with Domino, the Connector for Lotus Notes uses Notes
API calls. For this reason, a Lotus Notes client must be installed on the
connector server. More details about this requirement are provided in the
following sections.
Preparing the Lotus Domino environment
For details about how to prepare the Domino environment, see the
"Exchange Server 2003 Coexistence and Migration for Lotus Domino Mail" topic on
the following Microsoft Web site:
Preparing the Exchange Server 2003 environment
The latest version of the Connector for Lotus Notes (Web Release
2.2) was released on December 7, 2005. The Connector for Lotus Notes Web
Release 2.7 will be released in June, 2006. Requirements for these versions
include:
- Exchange Server 2003 Service Pack 2
- Windows Server 2003
- Lotus Notes client 6.5.x (tested with version 6.5.4)
- Connectivity to a Domino server
For more information, click the following article number
to view the article in the Microsoft Knowledge Base:
316035
Lotus Notes Client versions that are tested with the Exchange Notes Connector
Exchange Server 2003 Service Pack 2 with the
Connector for Lotus Notes Web Release 2.2 requires Windows Server 2003. The
Notes client should be running Lotus Notes version 6.5.4.
After you
install and configure the connector, you need to enable Notes proxy addresses
on the recipient policy. This is required for mailflow and directory
synchronization. The Recipient Update Service will then automatically generate
the proxy addresses for each mailbox-enabled and mail-enabled account in the
Exchange organization by using a proxy address generator.
Typically,
the Exchange user�s Notes proxy address uses the Notes domain name �Exchange".
If you need to change the Notes proxy addresses, you need to modify recipient
policies in Exchange System Manager.
For more information, see the
"Interoperating with and Migrating from Lotus Notes/Domino Messaging
Infrastructures to Exchange Server 2003" topic on the following Microsoft
TechNet Web site:
Message flow between Exchange and Domino
Executables used by the connector
The Connector for Lotus Notes works in conjunction with the
Microsoft Exchange Connectivity Controller (MSExchangeCoCo) service.
The executable for the Connectivity Controller service is
Lscntrl.exe. The Connector for Lotus Notes, the Connector for Novell GroupWise,
and the Calendar Connector are dependent on the Connectivity Controller
service, which has the responsibility of managing these services.
The
following executables are loaded by the Connector for Lotus Notes:
- Notes interface: Dispatch.exe
- Transport to Exchange: Lsmexin.exe
- Transport from Exchange: Lsmexout.exe
- Exchange to Notes conversion: Lsmexnts.exe
- Notes to Exchange conversion: Lsntsmex.exe
- Notes Directory Synchronization: Lsdxa.exe
Diagnostic logging for each of these categories can be changed
by selecting the "LME-NOTES" service under the server properties in Exchange
Service Manager.
When the Connector for Lotus Notes service starts,
the DISPATCH process is started. This process starts each of the other five
processes.
What message formats are used
Natively, Exchange keeps messages in TNEF (MAPI) format, and Notes
uses Composite Data (CD), which is the rich text formatting that is used in
Notes. Exchange and Notes can handle formats such as HTML/MIME.
Where do messages in transit reside?
A message going over the connector can be in any of the following
areas:
- MTS-IN
- MTS-OUT
- READYIN
- READYOUT
- BADMAIL
These areas are MAPI queues that are located in the private
information store database. You can see these queues in the Exchange System
Manager. Messages in these queues are in Exchange format (TNEF).
A
message going over the connector can also be in any of the following areas:
- EXCHANGE.BAD
- MAIL.BOX
- EXCHANGE.BOX
The areas are databases on the Domino side. You can examine
these databases by using the Lotus Notes client on the connector or by using
the Domino administrator program.
Note The BADMAIL folder is in the store, and it is used when the
LSMEXNTS or LSNTSMEX processes encounter problems with MAPI messages.
The EXCHANGE.BAD database is a Notes database. Corrupt messages will
be copied to this database when the LSMEXNTS or LSNTSMEX process fails to
convert a message.
Message flow from Exchange to Domino
Messages are transferred from Outlook on Exchange Server to Lotus
Notes on Domino by using the following process:
- Based on the recipient address (the target address or the
one-off address), Exchange Categorizer determines that the message is destined
for Domino. It then hands the message to the message transfer agent (MTA).
- The MTA delivers the message to the MTS-OUT folder (queue)
in the connector mailbox. The LSMEXOUT process polls this folder and retrieves
the message. This process converts the address from an X.400-based address to a
Lotus Domino address. Then, it delivers the message to the READYOUT folder
(queue) in the connector mailbox.
- The LSMEXNTS process polls this READYOUT queue, picks up
the message, and then converts it to a Lotus Domino format, such as Composite
Data (CD). Then, this process delivers the message (by using Notes API calls)
to the Domino router mailbox, the MAIL.BOX file, on the Lotus Domino server.
Message flow from Domino to Exchange
- A Lotus Notes user sends a message to an Exchange user. The
message is placed in the Mail.box mail router database on the Domino server.
The mail router determines that the message is for Exchange and deposits it in
the EXCHANGE.BOX database file.
- The Connector for Lotus Notes process, LSNTSMEX, polls the
EXCHANGE.BOX file every 15 seconds by default. This process picks up the
message by using Notes API calls. Then, this process converts the message to
TNEF format and delivers it to the READYIN folder on the Exchange
server.
- The LSMEXIN process takes the message in the READYIN
folder, converts the address from a Lotus Domino address to an X.400 address,
and then deposits it into the MTS-IN folder. Then, the Information Store
service processes the message from the MTS-IN folder and places it in the SMTP
service MTS-OUT folder. The message is routed from this folder.
Directory synchronization
For each object (contact or Windows user) that is
created by directory synchronization in Active Directory, the object's
ImportedFrom attribute in Active Directory will be populated with the
connector's ObjectGUID.
In the Domino directory, for the users that
are created during directory synchronization, the connector will add its
ObjectGUID from Active Directory to the $NotesDXAStamp field on the person
document in Domino. This is how the connector can identify the objects that it
created in each directory.
If you use the
Immediate Full
Reload option for Exchange to Domino synchronizations, all users that
are included for directory synchronization (when the OU containers were
selected) will be sent to Domino whether they have been synchronized previously
or not.
If you use the
Immediate Update option for
Exchange to Domino synchronizations, only the objects that were modified since
the last synchronization will be resent.
If you use the
Immediate Full Reload option for Domino to Exchange
synchronizations, all Domino users will be sent to Active Directory even if
they were synchronized previously.
If you use the
Immediate
Update option for Domino to Exchange synchronizations, only the
objects that were modified in the Domino directory since the last directory
synchronization will be sent to Active Directory.
Lsdxa.exe uses the
following DLLs to perform directory synchronization:
- Dxamex.dll: This DLL pulls and puts directory entries into
Active Directory.
- Dxanotes.dll: This DLL pulls and puts directory entries
into the Notes Name and Address Book (NAB).
These two DLLs work in conjunction. They use the
Exchsrvr\Conndata\Temp folder to share data.
Directory synchronization from Exchange and Active Directory to Domino
Dxamex.dll pulls entries from Active Directory and places the
results in the Exchsrvr\Conndata\Temp\Dxanotes.txt file. Then, Dxanotes.dll
imports this data into the Domino directory.
If a full directory
synchronization is initiated, the following steps take place:
- LSDXA calls Dxamex.dll, which polls Active Directory by
using Active Directory Service Interfaces (ADSI).
- Dxamex.dll requests a complete list of users from the
Export containers.
- When Dxamex.dll extracts the list of users from Active
Directory, it writes them to the Exchsrvr\Conndata\Temp\Dxanotes.txt file. When
Dxamex.dll starts to write to this file, LSDXA spawns a second instance of
itself, which starts Dxanotes.dll.
- Dxanotes.dll reads this text file and creates or updates
the user in NAB by using Notes API calls.
- The two LSDXA processes work in tandem. When one process
writes to the Dxanotes.txt file, the other process reads from it.
- When directory synchronization is complete, the temporary
text file is deleted, and the Usn.tbl file is updated.
If an update directory synchronization is initiated, the
following steps take place:
- LSDXA calls Dxamex.dll, which polls Active Directory by
using Active Directory Service Interfaces (ADSI).
- The connector keeps track of the highest USN number for
the last completed directory synchronization cycle. It records this number in
Usn.tbl file that is located in Exchsrvr\Conndata\Dxamex folder.
- The connector requests a list of changed users from the
Export containers that have USN numbers that are higher than the last directory
synchronization cycle.
- When the connector extracts the list of users from Active
Directory, it writes this list to the Exchsrvr\Conndata\Temp\Dxanotes.txt file.
When it is starts to write to this file, LSDXA spawns a second instance of
itself, which starts Dxanotes.dll.
- Dxanotes.dll reads this text file and creates or updates
the user in NAB by using Notes API calls.
- The two LSDXA processes work in tandem. When one process
writes to the Dxanotes.txt, the other process reads from it.
- When directory synchronization is complete, the temporary
text file is deleted, and the Usn.tbl file is updated.
When the connector writes Active Directory users into the
Domino directory, it creates a field for these users named �$NotesDXAstamp�.
The connector populates this field with the connector server�s GUID. This is
how the connector keeps track of which Notes user documents were created by the
connector.
Directory synchronization from Domino to Exchange and Active Directory
Dxanotes.dll pulls entries from the Domino directory,
specifically, the NAB, and places the results in the
Exchsrvr\Conndata\Temp\Dxamex.txt file. Then, Dxamex.dll imports this data into
Active Directory.
If a full directory synchronization is initiated,
the following steps will take place:
- LSDXA calls Dxanotes.dll, which uses Notes API calls to
issue a request for all Domino directory users.
- LSDXA writes the Domino users to the
Exchsrvr\Conndata\Temp\dxamex.txt file. Then, it spawns a second instance of
itself, which starts Dxamex.dll.
- Dxamex.dll reads this text file and creates or updates the
users in Active Directory by using ADSI.
- When directory synchronization is complete, the temporary
text file is deleted, and the Exchsrvr\Conndata\Dxanotes\Pcta.tbl file is
updated so that the �LastExtract� line is set to the date and time of the
directory synchronization cycle that was just completed. This file is used
during updates to determine changes.
If an update directory synchronization is initiated, the
following steps take place:
- LSDXA calls Dxanotes.dll, which looks up the last
directory synchronization cycle date and time in the
Exchsrvr\Conndata\Dxanotes\Pcta.tbl file. Then, LSDXA uses Notes API calls to
initiate a request for any users that were modified since this last directory
synchronization cycle.
- LSDXA writes the Domino users to the
Exchsrvr\Conndata\Temp\Dxamex.txt file. Then, LSDXA spawns a second instance of
itself, which starts Dxamex.dll.
- Dxamex.dll reads this text file and creates or updates the
users in Active Directory by using ADSI.
- When directory synchronization is complete, the temporary
text file is deleted, and the Exchsrvr\Conndata\Dxanotes\Pcta.tbl file is
updated so that the �LastExtract� line is set to the date and time of the
directory synchronization cycle that was just completed. This file is used
during updates to determine changes.
When the connector creates Notes users� representation in Active
Directory (usually as Contacts), it will add a field named "ImportedFrom",
which is populated with the connector server GUID. This is how the connector
will keep track of the Notes users it created in Active Directory.
Factors that affect directory synchronization
Mapping files
You may have an issue where a full directory synchronization from
Active Directory and Exchange works, but an update directory synchronization
does not work. This can happen if the Usn.tbl file is out of sync.
For more information about this issue
and a resolution, click the following article number to view the article in the
Microsoft Knowledge Base:
902459
Active Directory cannot replicate the object to the Lotus Notes directory when you configure the Exchange Connector for Lotus Notes to use the "Immediate update" mode in the Exchange System Manager in Exchange 2000 Server or in Exchange Server 2003
When the connector is installed, it populates the
connector properties in Active Directory with the global catalog name that it
used. This information is stored in the
msExchServer1NetworkAddress attribute. If this domain controller is no longer available,
directory synchronization may fail.
For more information, click the following
article number to view the article in the Microsoft Knowledge Base:
321287
Directory synchronization from Exchange 2000 to a foreign mail system fails in Exchange 2000
To keep track of the contacts� user name changes in
Domino, a secondary Notes proxy address is applied to every contact. This proxy
address uses the Notes unique identifier (UID) that is obtained from each Notes
Person Document. Domino assigns a unique UID to each Person Document, much like
GUIDs in Active Directory.
Customizing directory synchronization
The default directory synchronization behavior can be changed to
fit an organization's requirements. The mapping tables can be modified to
provide enough flexibility to meet most needs, such as synchronizing additional
attributes or changing the format of an attribute. For more detail about
customizing directory synchronization, see the "Connector for Lotus Notes
Directory Synchronization- Part 1" blog entry on the following Web site:
Additional reading
For an online comprehensive resource on this subject, see the
"Exchange Server 2003 Coexistence and Migration for Lotus Domino Mail" topic on
the following Microsoft Web site:
You can also download this topic in a help file format,
NotesDirAndMailMigrat.chm, from the following Microsoft Web site:
To view the "Interoperating with and Migrating from Lotus
Notes/Domino Messaging Infrastructures to Exchange Server 2003" topic, visit
the following Microsoft Web site:
You can find several interesting blogs, including articles about
Notes DocLinks and how the connector provides support for them, at the
following Web site: