User Replicator uses the Lightweight Directory Access Protocol (LDAP) application programming interface (API) to get information from Active Directory. User Replicator performs searches for user data in Active Directory by using Active Directory directory synchronization (DirSync) control, an LDAP server extension that enables User Replicator to track changes to user, contact, and group objects in Active Directory as the changes are made. User Replicator is a read-only component. It does not write data to Active Directory.

There can only be one instance of User Replicator running in an Enterprise pool at any given time. Any errors that User Replicator encounters are logged as events on the Front End Server that is running User Replicator at the time the error occurs. In the event that the Front End Server on which User Replicator is running becomes unavailable, SQL Server dynamically assigns the task of running User Replicator to the next available Front End Server.

To keep the presence store synchronized with user, contact, and group objects in Active Directory, User Replicator gives Active Directory a list of attributes about which it wants to be notified. The first time that User Replicator requests attribute changes from Active Directory, User Replicator performs an "initial cycle" during which time it synchronizes all user, contact, and group objects. Subsequently, after the initial cycle is complete, User Replicator requests only new changes from Active Directory every one minute. After User Replicator obtains attribute values that have changed from Active Directory, it sends those values to the SQL database for storage. The DirSync API gives User Replicator a cookie which identifies a point in Active Directory's change list. When User Replicator gives a cookie to DirSync, it gets every change after the point identified by the cookie. Therefore, the only state that User Replicator stores across synchronization is the cookie.

The following lists include attributes that User Replicator monitors for change in Active Directory. (User Replicator also monitors all Address Book Server attributes in Active Directory.) When there is a change in the attribute, User Replicator acts accordingly. Some of the attribute values are copied from Active Directory to the SQL store without modification. Other attribute values are processed by User Replicator and then copied to the SQL store.

Office Communications Server specific attributes that User Replicator monitors include the following:

Attributes that are not specific to Office Communications Server that User Replicator monitors include the following: