This section covers the address book process and the functions of the ABServer.exe process.

Address Book Server Data Flow

The address book data is retrieved from Active Directory, stored in the RTC database, extracted from the RTC database, and then placed in files and the RTCAb database for use by various clients.

The following steps are performed:

  • User Replicator (UR) reads the new or modified (that is, added, deleted, changed) user and contact object information from Active Directory and writes it into the RTC database. This process runs every 60 seconds.

  • ABServer.exe reads the address book information from the RTC database and generates two sets of full and delta (that is, contains only the changes) address book files for use by Office Communicator (that is, with the file extension *.lsabs) and Office Communicator Phone Edition (that is, with the file extension *.dabs). These files are placed in a NTFS directory. ABServer.exe also creates a full database (that is, RTCAb) that is used by the Address Book Web Query Service. By default, ABServer runs on a daily basis at 01:30. Also all phone numbers that cannot be normalized are placed into a .txt file in the same NTFS folder.

  • Office Communicator, Office Communicator Phone Edition, and other related clients download either the full or delta file on a daily basis. They are access either through a file URL (also called a UNC path) to the NTFS folder or through a HTTPS URL (or HTTP if configured). The address book entries are then stored locally in the GalContacts.db and potentially in GalContactsDelta.db.

  • Office Communicator Mobile clients leverage the Address Book Web Query Service, which leverages the latest daily updates in the RTCAb database.

Address Book Server Process

The Address Book Server process (C:\Program Files\Microsoft Office Communications Server 2007 R2\Server\Core\ABServer.exe) is responsible for generating the address book files (that is, *.lsabs and *.dabs), address book database (that is, RTCAb), and normalizing phone numbers (optional). This process is automatically run daily on one of the Office Communications Server Front End Servers. By default, the first server added to the Office Communications Server pool is given this role. The following table lists the various command-line options.

Table 1. ABServer.exe Command-Line Options

Command line options Command line option arguments Description

-?

None

Displays all command switches for ABServer.exe.

-syncNow

None

Manually synchronizes the Address Book Server by pausing the service to perform synchronization, and then restarting the service. If you are in a failover scenario and failing over from one server to another and syncNow does not work, check the load-balancer settings. The health monitor for incoming port 135 should point to 5060 (or 5061) on the servers. By default, it will point to 135 on the servers and since 135 is always up when the computer is running the server remains marked as being up even though Office Communications Server Front End service is down.

-regenUR

None

Forces user replication regeneration.

-dumpFile input-file [output-file]

Input-file [output-file]

Dumps the input file given as the first argument, formatted as text, to the output file given as the second argument. If the second argument is not given, the output file name defaults to the same path and file name as the input file with a .txt extension appended.

-testPhoneNorm

Phone-number

Loads the normalization rules text file and attempts to normalize the phone number arguments. The results are displayed in the command-line window. If the phone number argument contains spaces, the phone number must be enclosed in quotation marks (that is, “ “).

-validateDB

None

Validates the schema and user data in the database.

-dumpRules

None

Displays all rules currently in effect, including generic and custom rules.

ABServer.exe also makes use of the following MSFT_SIPAddressBookSettingWMI properties that control its behavior.

Table 2. ABServer.exe WMI Properties

Property name Type Default value Description

MaxDeltaFileSizePer centage

Integer

1250

Delta file is not created if percent change is greater than this number. (1250 INVALID USE OF SYMBOLS 12.5%)

OutputLocation

String

None

File location, a valid folder.

RunTime

Integer (0 to 2359)

130

Service start time based on local time. (130 INVALID USE OF SYMBOLS O1:30 or 1:30am)

SynchronizedPollingIntervalSecs

Integer

300

Number of seconds between checks for synchronization.

UseNormalizationRules

Boolean

True

Flag to perform normalization or not.

PartitionOutputByOU

Boolean

False

Flag to partition data by organizational unit (OU).

IgnoreGenericRules

Boolean

False

Flag that determines whether or not to use the built-in generic rules.

Additionally, there are static Address Book Server settings that are compile-time constants in the code as follows:

  • Output file extension = .lsabs

  • NumberOfDaysToKeep = 30

By default, the SQL maintenance interval is set for 02:00 local time each day. If the Address Book Server runs during this time, its performance is likely to degrade. For this reason, the Address Book Server runs by default at 01:30 local time each day which gives it 30 minutes to complete before it overlaps with the SQL maintenance interval. The service can be configured to run and generate the files in the Address Book Server file store at another time by configuring the MSFT_SIPAddressBookSetting::RunTimeWMI setting. You can also force the Address Book Server to do a synchronization pass immediately by using the command ABServer -syncNow. This command is useful in case the address book files are accidentally deleted. You can also use it for testing purposes.

ABServer.exe generates various files for use by the Address Book File Download service and a database for use by the Address Book Web Query service.

For detailed information about the ABServer.exe process and the WMI attributes, see Administering Address Book Serversin the Administering Office Communications Server 2007 R2 documentation.

See Also