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