How does the QMM (Quest Migration Manager) Free/Busy Synchronization agent match Free/busy messages?
Synchronization of F/B information contains two parts:
- Matching F/B messages.
- Synchronization of matched F/B messages
Matching F/B messages means (these are steps performed on the MAPI layer):
- Enumerating of all F/B messages on the source in the PF 'NON_IPM_SUBTREE/SHEDULE + FREE BUSY/EX:/<DN of source organization>/'
- Compositing of LEDN source user by placing together value PR_SUBJECT of source F/B message and source Exchange organization name.
- Searching on the source GC for the object with such LEDN and obtaining PRIMARY X500 address written by DSA under ProxyAddresses attribute for LEDN of the matching target user.
- Using results of searching (LEDN of target user) F/B agent looks for the target F/B message under PF 'NON_IPM_SUBTREE/SHEDULE + FREE BUSY/EX:/<DN of target organization>/'
- If no message was found - new message is created upon verification that such LEDN represents valid target recipient. No message will be created if there is no user exists with such LEDN.
- If existing message is found - it's getting merged with the corresponding source message.
- Populating .dat file with matching rules in format like LEDN -> [SourceKey of corresponding Free/Busy message]
NOTE: In case of full F/B resync all matching information is kept in DB and will not be overwritten.
Synchronization of matched F/B messages means:
- Request of changes for every SourceKey on target since last sync
- Request of changes for every SourceKey on source since last sync
- Based on results of requests making a decision on applying of changes for the target message, source message or merging of both messages
- Saving the time of synchronization in order to create next requests for changes in F/B messages