Part 8: Configuring Coexistence Manager for Notes with Office 365

Published: 2013-12-20
Updated: -
Version: 1.0

Since the previous post took us through the technical prerequisites, these should now be ready and in place for installing and configuring Coexistence Manager for Notes (CMN).

Before going into any details, if you are planning to do have a coexistence scenario between Domino and Exchange, you may want to consider using Dell Software’s Coexistence Manager for Notes. However, one important thing to mention is that there is a requirement from the vendor, to use certified people for the project.

This blog post is based on Coexistence Manager for Notes version 3.5.1.51.

Some of you might know that I wrote some articles regarding this topic two years ago, the configuration has changed a bit. I want to share this with the community and I hope you enjoy reading it.

I have decided that I won’t publish any article about the Migration Manager product. If anyone are interested of writing them, I’m glad to support and review the articles. If interested, contact me at: jonas.andersson@testlabs.se.

Read the other parts:

Part 1: Migrations – Overview
Part 2: Prerequisites for Domino/Notes migrations
Part 3: Migrating Domino/Notes to Exchange 2013 On-premise
Part 4: Migrating Domino/Notes to Office 365
Part 5: Migrating Resources Mailboxes, Mail-In databases and Groups
Part 6: Prerequisites for Coexistence Manager for Notes with Exchange 2013 On-premise
Part 7: Configuring Coexistence Manager for Notes with Exchange 2013 On-premise

Technical overview of the solution

SMTP and Free/Busy requests overview design

Drawing

Installation of Coexistence Manager for Notes (CMN)

There is no need for further description on how to proceed with the installation of CMN, select the features that should be used, then it’s a “next-next-finish” installation.

Licensing

Startup “Quest Coexistence Manager for Notes Management Console” and go to “Common – Licensing” to provide a valid license file.

Mail Connector configuration

This post is not about how to create the mail flow configuration between Office 365/Exchange and Domino since I assume, if you’re working and reading this topic, you’re familiar with how to create Send/Receive connectors in Exchange and Domain documents and Connection documents in Domino.

I will, however, post an article on how to configure Exchange/Office 365 and Domino regarding the mail flow.

Let’s configure CMN regarding mail flow, startup “Quest Coexistence Manager for Notes Management Console” and go to “Mail Connector”.

Go to “Inbound Servers”, remove any default values, add all incoming servers, both source and target servers. Just make sure to specify their function (Server type).

image

When all are added, it will look similar to the picture below.

image

Go to “Outbound Servers”, remove any default values. Either use the “Add” button or if you’re about to add the same as the Inbound, then use the “Copy from Inbound Servers” button.

image

After the servers are added, it will look similar as the picture below.

image

For Notes Doc Links, I will use the option “Notes links (Requires Notes client on clients)”, but you should select the option that will provide the best solution in each scenario.

image

I’m using the default settings for Network settings.

image

If needed, TLS can be used and it’s in this window the configuration takes place. In my lab environment, I’m not using TLS.

image

I’m using the default settings for Advanced Message settings.

image

I prefer to use the option “Rewrite Notes Common Names”, so it becomes more user-friendly and easier to read than a long Domino displayname.

Other options are not enable, use them if needed.

image

I’m using the default settings for Message Content Limits settings.

image

In the lab environment I’m not using the sub-domain option. However, if needed, here is the place to configure it.

image

Active Mail, it requires Notes client 7.0.3, 7.0.4 or 8.0 on the CMN server. It also requires the Notes client on the clients for being able to use the feature.

image

Default settings in Notification messages.

image

Here is a sample of the “ResourcesMap.tsv” file that’s used for mapping resources so they can be booked from Exchange/Outlook.

image

Import the “ResourcesMap.tsv” file, just verify the imported items and change the “Resource type” if they are not correct or configured.

image

Directory Synchronization configuration

Let’s walk through the directory synchronization, which is required to get Free/Busy to work properly. It’s required to provision users as contact objects.

With CMN 3.5.x, the directory synchronization uses a new module, which uses SQL for its configuration. Just see my picture below as an example of the SQL configuration.

The configuration can be found under “Directory Connector – SQL Settings”.

image

Domino Users synchronization, go to “Directory Connector – Connector Settings”. Press “Add” button and “Next” in the window.

image

Give the connector a friendly name like “Domino to AD – Users”, verify the “Direction” value and press “Next”.

image

Type in Source information: domino server, username, password and LDAP port.

image

Type in Target information: domain controller, username, password and LDAP port.
In my scenario, I’ve specified a domain controller, so I enabled that checkbox.

Specification of domain controllers are common in scenarios where you want to use the closest domain controller possible for faster reading and writing.

image

Select the object to process – “Users & Contacts”, specify the OU that should be synchronized.

image

Specify the target OU where objects will be created, also specify Target Search Base DN and load the Exchange attributes from AD and add them.

Since Office 365 is used, you need to specify a different targetAddress domain (forwarding) use the “Enable Internal Routing Domain” option and specify a domain in the value field. See my example in the screenshot below.

image

No connector order is selected.

image

A synchronization schedule is created, in my example 5 AM and 2 PM. The appropriate timing depends on how often and how many changes are done within Domino.

image

Press “Finish” to close the final window.

image

Groups synchronization, go to “Directory Connector – Connector Settings”. Press “Add” button and “Next” in the window.

image

Give the connector a friendly name like “Domino to AD – Groups”, verify the “Direction” value and press “Next”.

image

Type in Source information: domino server, username, password and LDAP port.

image

Type in Target information: domain controller, username, password and LDAP port.
In my scenario, I’ve specified a domain controller, so I enabled that checkbox.

Specification of domain controllers are common in scenarios where you want to use the closest domain controller possible for faster reading and writing.

image

Select the object to process by selecting “Groups” and specify the OU that should be synchronized.

image

Specify the target OU where objects will be created, also specify Target Search Base DN and load the Exchange attributes from AD and add them.

Since Office 365 is used, you need to specify a different targetAddress domain (forwarding) use the “Enable Internal Routing Domain” option and specify a domain in the value field. See my example in the screenshot below.

image

No connector order is selected.

image

A synchronization schedule is created, in my example 5 AM and 2 PM. The appropriate timing depends on how often and how many changes are done within Domino.

image

Press “Finish” to close the final window.

image

Resources synchronization, go to “Directory Connector – Connector Settings”. Press “Add” button and “Next” in the window.

image

Give the connector a friendly name like “Domino to AD – Resources”, verify the “Direction” value and press “Next”.

image

Type in Source information: domino server, username, password and LDAP port.

image

Type in Target information: domain controller, username, password and LDAP port.
In my scenario, I’ve specified a domain controller, so I enabled that checkbox.

Specification of domain controllers are common in scenarios where you want to use the closest domain controller possible for faster reading and writing.

image

Select what object to process “Resources”, specify the OU that should be synchronized.

image

Specify the target OU where objects will be created, also specify Target Search Base DN and load the Exchange attributes from AD and add them.

Since Office 365 is used, you need to specify a different targetAddress domain (forwarding) use the “Enable Internal Routing Domain” option and specify a domain in the value field. See my example in the screenshot below.

image

No connector order is selected.

image

A synchronization schedule is created, in my example 5 AM and 2 PM. The appropriate timing depends on how often and how many changes are done within Domino.

image

Press “Finish” to close the final window.

image

Free/Busy configuration

Since we now have the contact objects provisioned and the mail flow working, it’s time for the most involved part of the coexistence, the Free/Busy configuration.

Qcalcon configuration

The installation of Qcalcon on a Domino server is a standard “next-next-finish” procedure and a Domino server task will be created during the installation. The software can either be installed on an existing server or a dedicated Free/Busy server (I would recommend the latter IF possible).

Start the Qcalcon configuration by starting the “Coexistence Management Console”, see picture below.

image

Configure Qcalcon with the following properties (as an example):

“Gateway Mail File Name: mail.box” (verify with Domino Administrator on which to use)
”Quest Exchange Free/Busy Connector Service Endpoint: cmn35“ (resolvable DNS name to CMN server)

Note: You need to provide a valid license before the software can be used.

image

Domino configuration, go to the CMN server and start the CMN console, then go to “Domino Free/Busy Connector”.

Type in Domino configuration;
”Domino Server Name: domino/target” (specify server where Qcalcon is installed)
”Domino User fetch interval in minutes: 15
”Domino User SMTP domain: testlabs.se
”Exchange Forwarding Domain: domino.testlabs.se – testlabs.se
”Domino ID file path: C:\Temp\mmig.id” (Browse and select the ID file)
”Domino Password: *****” (Type in the password for that ID file)
”Enable Performance counters: Check

image

Go to “Quest Web Services”

Type in Domino configuration;
”Quest Autodiscover Host Name: domino.testlabs.se
”Quest Domino Free/Busy Connector Host Name: localhost

Don’t forget to create (if not done already as specified in part 6) the AvailabilityAddressSpace, or Free/Busy won’t work as expected. See cmdlet below picture.

image

$cred = Get-Credential

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri `
ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection 

Import-PSSession $session
Enable-OrganizationCustomization

New-AvailabilityConfig -OrgWideAccount <Office365AdminAccont>

$CMNCred = Get-Credential

Add-AvailabilityAddressSpace -AccessMethod OrgWideFB -ForestName domino.testlabs.se `
-Credentials $CMNCred -TargetAutodiscoverEpr `
"https://autodiscover.domino.testlabs.se/autodiscover/autodiscover.xml"

Add-AvailabilityAddressSpace -AccessMethod OrgWideFB -ForestName testlabs.se `
-Credentials $CMNCred -TargetAutodiscoverEpr `
”https://autodiscover.domino.testlabs.se/autodiscover/autodiscover.xml”

Exchange configuration, let’s finish the Free/Busy configuration by completing the Exchange part by going to “Exchange Free/Busy Connector – Exchange Free/Busy”.

Type in Exchange configuration;

”Exchange Server location: Autodiscover Endpoint” (more about these options can be found in the User Guide)

”Exchange Host Name: autodiscover-s.outlook.com

”Exchange Online: Checked

”Exchange Username: username@testlabstrial.onmicrosoft.com

”Exchange Password: *****

”Show tentative As Busy: Yes

”Enable Performance Counters: Enable

Use the Test button to verify that the functionality is working as expected.

Note: Certificate needs to be deployed before a successful test.

image

Additional Configurations
Certificate/IIS

Coexistence Manager relies on certificates since it’s using HTTPS for requests. This is important to understand.

The provided “Quest Autodiscover URL” and “Quest EWS URL” is based on the value entered in the “Quest Autodiscover Host Name” field. This common name is used during Free/Busy requests and is required to be in the certificate used in IIS. It should be bound to IIS and the “QuestFreeBusy” website.

Once the certificates have been deployed into the CMN server and IIS, use the Test buttons in the CMN console to verify the Quest Autodiscover functionality. In most cases, the autodiscover DNS record is pointed to the Exchange so, in order to test this functionality, use the host file and point it to CMN server.

A last thing to verify is that the “QuestFreeBusy” website is enabled for HTTP (80) and HTTPS (443) traffic, since it’s a requirement.

Note: Since this is a Office 365 solution and Microsoft are not aware of our internal PKI solution and are not trusting the internal issued certificates we need to buy a certificate from a trusted root provider.

In my lab I’m using Comodo because they could provide a trial certificate up to 90 days.

Autodiscover

In short, I’ve copied a good description in a quote from the User Guide for Coexistence Manager..

When coexisting with Office 365: Direct free-busy lookups from Office 365

to Notes are not possible in a single-namespace configuration due to access/

permission restrictions to the remote Microsoft servers. If you require bi-directional

free/busy in a single-namespace environment with Office 365, consider a

hybrid implementation with a local Exchange server and calendar federation.

Probably the easiest way of describing this is to say that the autodiscover of the primary domain/s needs to be pointed to Office 365 and therefore a sub-domain needs to be implemented for having a way back reaching the users Free/Busy information.

The Autodiscover is used since the mail contacts have a targetAddress with “@domino.testlabs.se” and there is a configured value for that domain in the AvailabilityAddressSpace configuration. Because of that, the request ends up checking these contacts Free/Busy externally via Autodiscover, which is pointed to CMN.

Verification of functionality
Notes client (source)

 

Mail flow

A mail is sent from the Lotus Notes client (8.5.x) to a user that were migrated to Office 365 and now have an Exchange Online mailbox and uses Outlook 2013.

The mail is a standard mail, see picture below.

image

During the transport, these actions are being logged into the CMN.log file on the CMN server, some related entities can be found below:

2013-12-16 22:04:42,725 INFO  CMN.logging [45] – Connection received from 172.16.1.16.

2013-12-16 22:04:43,098 INFO  CMN.logging [45] – Message Number [22] on Thread [45] from Domino (172.16.1.16:2979) to Exchange (192.168.0.50:25): Connection established.

2013-12-16 22:04:51,019 INFO  CMN.logging [Proxy 22] – Message Number [22] on Thread [47] from Domino (172.16.1.16:2979) to Exchange (192.168.0.50:25): Processed Message ID: OF1E60FD00.7502912C-ONC1257C43.00739C32-C1257C43.0073C978@domino.testlabs.se – Size: 589 – From: Anette.Andersson@testlabs.se – To: Jonas.Andersson@testlabs.se – Processing Time: 3.443 Seconds – Changes: ActiveMailRemovedExtraneousAttachment, ActiveMailRemovedOnd, MimeModified

In the destination mailbox it should look like the picture below

image

And the reply from Outlook ends up in the source mailbox (Notes), just like the picture shows below

image

Calendar Free/Busy

A Free/Busy request was done by arranging a new meeting in the Notes client and selecting the migrated users. If the busytime lookup is working as expected, it should look similar to the picture below:

image

During the busytime lookup requests, these actions are being logged into the QCalCon.wlog on the Domino Qcalcon server and ExchangeFreeBusyService.wlog file on the CMN server. Some examples on log entries can be found while doing the busytime lookup, see below:

QCalCon.wlog:

2013-12-17 19:41:12,083 [mail.box] INFO  ScheduleRequestManager – Message retrieved from queue

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – ScheduleRequestHandler() enter

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – NotesInitThread

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Cast thread parameter to SchMsgWrapper instance

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Release SCHMSG instance from SchMsgWrapper instance

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Process SCHMSG message

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – SchContainer_DupHandle: Duplicate SCHMSG hContainer handle

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – SchContainer_GetRequest: Get hContainerObject request from message hContainer

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – UserNameList: 1

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager -   CN=Jonas Andersson/O=target@Exchange

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – ClientNameList: 0

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – DominoServerNameChain:

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Call GetFreeBusyForUsers

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – GetFreeBusyForUsers() enter

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – GetEmailsFromList() enter

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Create SmtpEmailList

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Create NameRepository

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – 1 entries in list

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – FullName:CN=Jonas Andersson/O=target@Exchange

2013-12-17 19:41:12,270 [12] INFO  NameRepository – TryGetMailAddressAndInternetAddressFromFullName() enter

2013-12-17 19:41:12,270 [12] INFO  NameRepository – FullName: CN=Jonas Andersson/O=target

2013-12-17 19:41:12,270 [12] INFO  NameRepository – MailAddress: Jonas.Andersson@testlabs.se@TARGET

2013-12-17 19:41:12,270 [12] INFO  NameRepository – InternetAddress: Jonas.Andersson@domino.testlabs.se

2013-12-17 19:41:12,270 [12] INFO  NameRepository – TryGetMailAddressAndInternetAddressFromFullName() exit

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – ScheduleRequestManager() exit

2013-12-17 19:41:12,270 [12] INFO  ScheduleRequestManager – Call ExchangeFreeBusyService net.tcp to get Free/Busy information

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – GetFreeBusyForUsers() exit

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – GetFreeBusyForUsers returned 1 results

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Create SCHED_LIST result instance for user jonas.andersson@testlabs.se

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Is a valid user.

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Allocate 12068 bytes to hold SCHED_LIST

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Convert 335 Free/Busy times to TIMEDATE format

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Schedule_NewFromSchedList()

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Set SCHMSG flags to SCHMSG_ReplyToRqst

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – MQPut: Place SCHMSG in output queue

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – SchContainer_FreeRequest: Free hContainerObject

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – SchContainer_Free: Free hContainer

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Delete SCHMSG message

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – NotesTermThread

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – Free/Busy request processing took 00:00:25.6019938

2013-12-17 19:41:37,864 [12] INFO  ScheduleRequestManager – ScheduleRequestHandler() exit

ExchangeFreeBusyService.wlog:

2013-12-17 19:41:24,233 [3] INFO  ExchangeFreeBusyConnector – Initialize() Enter

2013-12-17 19:41:24,247 [3] INFO  ExchangeConfiguration – User name credential is sa-account@testlabs.se

2013-12-17 19:41:24,251 [3] INFO  ExchangeFreeBusyConnector – Initialize() Exit

2013-12-17 19:41:24,262 [3] INFO  FreeBusyWcfServiceBase – GetFreeBusyForUsers() Begin

2013-12-17 19:41:24,263 [3] INFO  FreeBusyWcfServiceBase – Time span: 12/17/2013 19:30:00 Local — 06/03/2014 19:30:00 Local

2013-12-17 19:41:24,270 [3] INFO  FreeBusyWcfServiceBase – Email addresses:

2013-12-17 19:41:24,270 [3] INFO  FreeBusyWcfServiceBase -   Jonas.Andersson@testlabs.se

2013-12-17 19:41:24,284 [3] INFO  ExchangeFreeBusyConnector – GetFreeBusyInfo() Begin

2013-12-17 19:41:24,287 [3] INFO  ExchangeFreeBusyConnector -   Email Addressees (Count=1), Start=12/17/2013 00:00:00 (Utc), End=06/03/2014 00:00:00 (Utc)

2013-12-17 19:41:24,287 [3] INFO  ExchangeFreeBusyConnector -     jonas.andersson@testlabs.se

2013-12-17 19:41:24,288 [3] INFO  ExchangeConfiguration – User name credential is sa-account@testlabs.se

2013-12-17 19:41:24,292 [3] INFO  AutodiscoverResultCache – jonas.andersson@testlabs.se not found in cache.

2013-12-17 19:41:24,302 [3] INFO  AutodiscoverWorker – Using hint autodiscover address https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml

2013-12-17 19:41:24,302 [3] INFO  AutodiscoverWorker – Email address: jonas.andersson@testlabs.se

2013-12-17 19:41:24,303 [3] INFO  AutodiscoverWorker – ScpLookupOrder:Last

2013-12-17 19:41:31,733 [3] INFO  AutodiscoverWorker – Using redirect target address https://pod51036.outlook.com/autodiscover/autodiscover.xml

2013-12-17 19:41:34,453 [3] INFO  AutodiscoverWorker – User display name: Jonas Andersson

2013-12-17 19:41:34,453 [3] INFO  AutodiscoverWorker – Internal Autodiscover URI: https://pod51036.outlook.com/autodiscover/autodiscover.xml

2013-12-17 19:41:34,453 [3] INFO  AutodiscoverWorker – Internal EWS URI: https://outlook.office365.com/EWS/Exchange.asmx

2013-12-17 19:41:34,453 [3] INFO  AutodiscoverWorker – Autodiscover successfully returned EWS URI.

2013-12-17 19:41:34,454 [3] INFO  AutodiscoverWorker – 00:00:10.1529517

2013-12-17 19:41:34,456 [3] INFO  AutodiscoverResultCache – Add jonas.andersson@testlabs.se https://outlook.office365.com/EWS/Exchange.asmx

2013-12-17 19:41:34,456 [3] INFO  AutodiscoverResultCache – Contains jonas.andersson@testlabs.se False

2013-12-17 19:41:34,461 [3] INFO  EwsWorker – Sending EWS request to Exchange

2013-12-17 19:41:37,043 [3] INFO  EwsWorker – Receiving EWS response from Exchange 00:00:02.5816765

2013-12-17 19:41:37,049 [3] INFO  EwsWorker – Sending EWS request to Exchange

2013-12-17 19:41:37,314 [3] INFO  EwsWorker – Receiving EWS response from Exchange 00:00:00.2646486

2013-12-17 19:41:37,314 [3] INFO  EwsWorker – Sending EWS request to Exchange

2013-12-17 19:41:37,574 [3] INFO  EwsWorker – Receiving EWS response from Exchange 00:00:00.2597097

2013-12-17 19:41:37,574 [3] INFO  EwsWorker – Sending EWS request to Exchange

2013-12-17 19:41:37,867 [3] INFO  EwsWorker – Receiving EWS response from Exchange 00:00:00.2934156

2013-12-17 19:41:37,872 [3] INFO  ExchangeFreeBusyConnector – GetFreeBusyInfo() End 00:00:13.5837260

2013-12-17 19:41:37,882 [3] INFO  FreeBusyWcfServiceBase -   Email Address: jonas.andersson@testlabs.se

2013-12-17 19:41:37,882 [3] INFO  FreeBusyWcfServiceBase -     Valid User=True, Busy Time count=335

2013-12-17 19:41:37,882 [3] INFO  FreeBusyWcfServiceBase – GetFreeBusyForUsers() End Elapsed Time 00:00:13.6100533

Outlook 2013/OWA (destination/target)

Mail flow

A mail is sent from the Outlook 2013/OWA client to a user that has not been migrated and remains in Domino.

The mail is a standard mail, see picture below.

image

During the transport, these actions are being logged into the CMN.log file on the CMN server, some related entities can be found below:

2013-12-17 19:11:43,822 INFO  CMN.logging [5] – Connection received from 213.199.154.14.

2013-12-17 19:11:43,840 INFO  CMN.logging [5] – Message Number [1] on Thread [5] from Exchange (213.199.154.14:18414) to Domino (172.16.1.16:25): Connection established.

2013-12-17 19:11:46,535 INFO  CMN.logging [Proxy 1] – Message Number [1] on Thread [9] from Exchange (213.199.154.14:18414) to Domino (172.16.1.16:25): Processed Message ID: 36b115a4b2974ece99a97f9c00fa3171@AMXPR01MB088.eurprd01.prod.exchangelabs.com – Size: 2773 – From: jonas.andersson@testlabs.se – To: Anette.Andersson@domino.testlabs.se – Processing Time: .134 Seconds – Changes: NoChange

In the destination mailbox (Lotus Notes) it should look like the picture below

image

And the reply from Notes ends up in the target mailbox (Outlook), just like the picture shows below

image

Calendar Free/Busy

A Free/Busy request was done by arranging a new meeting in the Outlook 2013/OWA client and selecting the Domino users. If the Free/Busy request lookup is working as expected, it should look similar to the picture below:

image

During the busytime lookup requests, these actions are being logged into the Autodiscover.wlog, EWS.wlog and DominoFreeBusyService.wlog on the CMN server. Some examples on log entries can be found while doing the busytime lookup, see below:

Autodiscover.wlog

2013-12-17 20:51:20,607 [6] INFO  AutodiscoverPage – IsSecureConnection: True

2013-12-17 20:51:20,608 [6] INFO  AutodiscoverPage – UserAgent: ASAutoDiscover/CrossForest/EmailDomain//15.00.0847.008

2013-12-17 20:51:20,612 [6] INFO  AutodiscoverPage – UserHostName: 157.56.250.52

2013-12-17 20:51:20,612 [6] INFO  AutodiscoverPage – UserHostAddress: 157.56.250.52

2013-12-17 20:51:20,619 [6] INFO  AutodiscoverPage – Email Address: Anette.Andersson@domino.testlabs.se

2013-12-17 20:51:20,619 [6] INFO  AutodiscoverPage – Quest EWS URL: https://autodiscover.domino.testlabs.se/EWS/Service.asmx

EWS.wlog:

2013-12-17 20:51:22,993 [6] INFO  QuestEWSService – RequestedView: DetailedMerged

2013-12-17 20:51:22,994 [6] INFO  QuestEWSService – RequestedViewSpecified: True

2013-12-17 20:51:22,994 [6] INFO  QuestEWSService – MergedFreeBusyIntervalInMinutes: 30

2013-12-17 20:51:22,995 [6] INFO  QuestEWSService – TimeWindow: 12/08/2013 00:00:00 Unspecified — 12/29/2013 00:00:00 Unspecified

2013-12-17 20:51:22,998 [6] INFO  QuestEWSService – TimeZone bias: -60

2013-12-17 20:51:22,999 [6] INFO  QuestEWSService -  StandardTime: -10-Sunday 5 0

2013-12-17 20:51:22,999 [6] INFO  QuestEWSService -  DaylightTime: -3-Sunday 5 -60

2013-12-17 20:51:22,999 [6] INFO  QuestEWSService -   Anette.Andersson@domino.testlabs.se

2013-12-17 20:51:25,298 [6] INFO  QuestEWSService – Response:

2013-12-17 20:51:25,298 [6] INFO  QuestEWSService -   Email Address: anette.andersson@domino.testlabs.se, FreeBusy Count: 39

2013-12-17 20:51:25,305 [6] INFO  QuestEWSService – 00:00:02.3123684

DominoFreeBusyService.wlog:

2013-12-17 20:51:23,587 [3] INFO  FreeBusyWcfServiceBase – GetFreeBusyForUsers() Begin

2013-12-17 20:51:23,588 [3] INFO  FreeBusyWcfServiceBase – Time span: 12/07/2013 23:00:00 Utc — 12/28/2013 23:00:00 Utc

2013-12-17 20:51:23,592 [3] INFO  FreeBusyWcfServiceBase – Email addresses:

2013-12-17 20:51:23,592 [3] INFO  FreeBusyWcfServiceBase -   Anette.Andersson@domino.testlabs.se

2013-12-17 20:51:23,717 [3] INFO  SmtpDomainMappings – smtpMappings count:0

2013-12-17 20:51:23,726 [3] INFO  DominoFreeBusyConnector – GetFreeBusyInfo() enter

2013-12-17 20:51:23,726 [3] INFO  DominoFreeBusyConnector – Get Domino user map.

2013-12-17 20:51:23,767 [3] INFO  DominoSingleton – Ctor() enter

2013-12-17 20:51:23,768 [3] INFO  DominoSingleton – Create DominoLibrary

2013-12-17 20:51:23,769 [3] INFO  DominoSingleton – Initialize DominoLibrary

2013-12-17 20:51:23,823 [3] INFO  DominoSingleton – Create UserMapRepository

2013-12-17 20:51:23,824 [3] INFO  DominoUserMapRepository – ctor() enter; serverName = domino/target

2013-12-17 20:51:23,824 [3] INFO  DominoUserMapRepository – ctor() exit

2013-12-17 20:51:23,824 [3] INFO  DominoSingleton – Ctor() exit

2013-12-17 20:51:23,827 [3] INFO  DominoUserMapRepository – GetDominoUserMap() enter; smtpDomain = testlabs.se

2013-12-17 20:51:23,827 [3] INFO  DominoUserMapRepository – anette.andersson@domino.testlabs.se not found in cache.

2013-12-17 20:51:23,827 [3] INFO  DominoUserMapRepository – 1 cache miss.

2013-12-17 20:51:23,837 [3] INFO  NameRepository – GetTargetDominoUsers count:1

2013-12-17 20:51:23,838 [3] INFO  NameRepository – Querying Domino Server Name=domino/target Domain=testlabs.se

2013-12-17 20:51:25,234 [3] INFO  NameRepository – Completed Domino Query

2013-12-17 20:51:25,234 [3] INFO  NameRepository – No error in Domino query

2013-12-17 20:51:25,235 [3] INFO  NameRepository – Address To Locate: anette.andersson@domino.testlabs.se

2013-12-17 20:51:25,238 [3] INFO  NameRepository – Domino Type: Person

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino Internet Address: Anette.Andersson@domino.testlabs.se

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino Full Name: CN=Anette Andersson/O=target

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino Mail File: mail\aanderss

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino Mail Domain: target

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino List Name:

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Domino Mail Server: CN=domino/O=target

2013-12-17 20:51:25,239 [3] INFO  NameRepository – Adding Anette.Andersson@domino.testlabs.se to result set.

2013-12-17 20:51:25,239 [3] INFO  NameRepository – finally – NameRepository :: GetTargetDominoUsers

2013-12-17 20:51:25,241 [3] INFO  DominoUserMapRepository – 1 addresses found.

2013-12-17 20:51:25,241 [3] INFO  DominoUserMapRepository – Adding anette.andersson@domino.testlabs.se to cache.

2013-12-17 20:51:25,241 [3] INFO  DominoUserMapRepository – GetDominoUserMap() exit

2013-12-17 20:51:25,241 [3] INFO  DominoFreeBusyConnector – 1 Domino domain users found.

2013-12-17 20:51:25,241 [3] INFO  DominoFreeBusyConnector – Filter list to SMTP Domino domain users.

2013-12-17 20:51:25,241 [3] INFO  DominoFreeBusyConnector – Get Free/Busy information for each valid user in SMTP Domino domain user list.

2013-12-17 20:51:25,241 [3] INFO  DominoFreeBusyConnector – Get live Free/Busy for Anette.Andersson@domino.testlabs.se

2013-12-17 20:51:25,254 [3] INFO  DominoLibrary – Sending request to Domino for free busy information.

2013-12-17 20:51:25,263 [3] INFO  DominoLibrary – Domino response processing complete.

2013-12-17 20:51:25,275 [3] INFO  DominoFreeBusyConnector – Add to result list

2013-12-17 20:51:25,275 [3] INFO  DominoFreeBusyConnector – Sort the result list.

2013-12-17 20:51:25,278 [3] INFO  DominoFreeBusyConnector – 1 Free/Busy results found

2013-12-17 20:51:25,278 [3] INFO  DominoFreeBusyConnector – GetFreeBusyInfo() exit

2013-12-17 20:51:25,280 [3] INFO  FreeBusyWcfServiceBase -   Email Address: anette.andersson@domino.testlabs.se

2013-12-17 20:51:25,280 [3] INFO  FreeBusyWcfServiceBase -     Valid User=True, Busy Time count=39

2013-12-17 20:51:25,280 [3] INFO  FreeBusyWcfServiceBase – GetFreeBusyForUsers() End Elapsed Time 00:00:01.6876990

Notes from the field

Log reader tool – A good log reader, my favorite is the old tool that was included in the SMS 2003 resource kit called trace32.exe. It can be downloaded here.

Domino SMTP routing – Until I have published a new article on this topic, see the existing one since it can be difficult to understand on how SMTP routing is working between the systems. See the post about it here: http://www.testlabs.se/blog/?p=1042

Network MonitoringNetwork Monitoring or Wireshark may sometimes be your best friend during troubleshooting network connectivity. Portqry is another tool that could be of great value during initial network verification.

Don’t hesitate to comment if you would like to add anything or if you have other experiences, I will add it into the post and link your blog.

I have decided that I won’t publish any article about the Migration Manager product. If anyone are interested of writing one, I’m glad to support and review the article. If interested, contact me at: jonas.andersson@testlabs.se.

I will take a break from the migration articles for a while now and write about other topics that readers hopefully find interesting reading.