Lync Address Book Service


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.


RunTimeOfDay 
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.).

KeepDuration
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.

SynchronizePollingInterval
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).

MaxDeltaFileSizePercentage
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.

UseNormalizationRules

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.

IgnoreGenericRules
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.
EnableFileGeneration

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

New-CsAddressBookConfiguration

OF course you can force an ABS update with
Update-CsAddressBook
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:paulb@lynclab.co.nz" 


On the client side the ABS is delivered via a URL as seen below:

Advertisements

About Paul B

My name is Paul Bloem and I am employed at Lexel Systems in New Zealand as a Principal Consultant for Unified Communications. I have been working on enterprise voice solutions for over 20 years. My first 10 years were spent working for a Telco in South Africa (Telcom SA). This is where all the groundwork happened as I was exposed to just about every aspect of telecommunication you could imagine. I develop an interest in PBX technologies and eventually became the go-to guy. Next, I had a 10 year run at Siemens South Africa, most of my time there was as a Technical Trainer. During this time VoIP hit the world stage, I had the privilege of introducing VoIP both as H.323 and later SIP across the Siemens HiPath 4000 solution stack. In 2008 I immigrated to New Zealand with my newly attained MCSE, I was ready to go where no PBX Techie had gone before. I was employed to explore OCS 2007 and that was pretty much the beginning of the end for me. I have been working on OCS and Lync ever since. My current role focuses exclusively on Lync and associated technologies.. That includes pre-sales, consulting, architecture and design, training and support. I even get to play in the development space from time to time - focus on play ;-) I was nominated as a Microsoft VTSP for Lync early in 2013 and also awarded Microsoft's MVP award for Lync in 2014.
This entry was posted in ABS, ABWQ, AddressBook Service, AddressBookAvailability, Communicator, GAL. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s