What is the ABS?
The ABS provides online and offline Address Book Service to the Lync clients.
Where is the ABS?
The ABS usually lives on the first Front End Server in the pool, if it fails Lync will bring up the ABS on another Front End Server..
Interestingly the ABS also provides the Distribution Group expansion and Phone Number normalisation.
In Lync 2010 the offline ABS is supplemented by a Address Book Web Query.
How is the ABS populated?
The ABS collects data from AD and then saves this in the RTCab and RTCab1 databases on the Lync SQL server. Why 2 databases?
These 2 databases are rotated on a daily basis to allow querying of the database while the alternate database is being updated.
The ABS cannot be configured by the Lync Control Panel, as all good and powerful things…it is governed in PowerShell.
The commandlet is CSAddressBookConfiguration.
indicates when the servers generate new Address Book files. The RunTimeOfDay property is based on a 24-hour clock (hours:minutes:seconds), The default value is 01:30:00 (1:30 A.M.).
Specifies the amount of time (in days) that Address Book servers will keep change files. Change files older than the value of the KeepDuration property will be deleted. The KeepDuration can be set to any integer value between 1 and 90, inclusive. The default value is 30 days.
Indicates how often the ABS synchronizes information with the information stored in the User database. The SynchronizePollingInterval can be set to any value between 5 seconds (00:00:05) and 3 hours (03:00:00). The default value is 5 minutes (00:05:00).
When changes are made to Active Directory (such as a new user being enabled for Lync Server), the Address Book server typically records these changes in a “delta file,” a file consisting only of the updated information; Lync 2010 can then download the delta files rather than a complete Address Book file. The MaxDeltaFileSizePercentage property determines how large the delta files can get before they are incorporated into the complete Address Book file. By default, delta files can be as large as 20 percent of the complete Address Book file before a new Address Book file is generated. At that point, Lync clients will download the complete file rather than a delta file.
MaxDeltaFileSizePercentage must be entered as a percentage value between 1 and 100, inclusive.
Indicates whether Address Book servers should use phone normalization rules when retrieving phone numbers. If set to False, phone numbers will be retrieved as-is, and it will be up to the client application to apply normalization rules when displaying these numbers.
The default value is True.
Indicates whether or not the Address Book server ignores the generic normalization rules used when parsing phone numbers. Generic rules are the rules that are built into Lync Server 2010. These rules cannot be changed; however, by setting the value of this property to True you can instruct your Address Book servers to ignore these rules and instead use custom rules that you create yourself. The default value is False.
When set to True (the default value) the Address Book server generates Address Book index files that can be downloaded by clients. When set to False, these index files are not generated. That means that client applications will have to use the Address Book Web Query service when searching for contacts.
This is an interesting option!!!
Instead of downloading a GAL the client will use the ABWQ
(AddressBook Web Queury)method. This may be a good option if the AddressBook is always changing as the ABWQ is live data.
The client Policy determines if the AddressBook will be available as a file download, web search only or both.
To set the client policy to use the ABWQ method:-
Set-CsClientPolicy -AddressBookAvailability websearchonly
This Global ABS Policy can be broken down to a site level, this can be done by
OF course you can force an ABS update with
And another cmdlet I plan to use more often is
$cred1 = Get-Credential “lynclab\paul.bloem”
Test-CsAddressBookService -TargetFqdn <LyncPool.lynclab.co.nz -UserCredential $cred1 -UserSipAddress "sip:email@example.com"
On the client side the ABS is delivered via a URL as seen below: