You might come across a scenario where end users might report that they are not able to search for contacts through Lync/Skype for Business client.

This article has collected a few troubleshooting steps which might help in addressing these kinds of issues.

Introduction

Before looking into troubleshooting lets have a small idea on address book synchronization.

Address book creation in Lync Client happens separately and it never talks to Exchange.

The core component user replicator which was introduced from Lync 2010 contacts Active Directory very frequently (once in every 60 seconds) and updates the information of the users present in the Lync server. This interval is set by default and can be altered.

These updated information is stored in the backend SQL database named RTCab.

After the above job is completed it doesn't mean that the address book is updated. After this, the responsible server for update process of the address book will start a synchronization pass once in every 24 hours usually 1:30 AM local server time.

This information will be updated in the address book files in the shared folder in the type dabs file.

By looking into the above process there can be so many factors which might block searching the address book from a client perspective.

Troubleshooting Steps

Below troubleshooting steps which might help in fixing these issues:

  1. Identify how many users are affected. Check the version of the Lync 2013, Skype for business 2015 or Skype for Business 2016 client. 
    • Pick any one of the affected users and perform these tests.
    • From the affected PC try to access the URL you have published for Lync (https://webs.contoso.com/abs) and see if you get the authentication prompt.
    • If you are not getting the authentication prompt then there is some serious issue with the connectivity from your end reaching the server. You have to fix this issue.
  2.  Run the command Get-CsUserReplicatorConfiguration and see the replication cycle interval.

    Lync2

    The replication cycle interval by default is 60 seconds. If this value has been modified then we need to wait until the replication interval period gets completed.

  3. It's better to check the Synchronize polling interval. This is the value which the address book server looks for any pending synchronization events for Lync users. Because there are more chances this value might be altered if you don't want this to happen every 5 minutes. In that case, we need to wait until the interval period completes or run the Update-CsAddressBookConfiguration.

    This value can be altered from 5 minutes to 3 hours.

    Lync3

  4. Check the Csclientpolicy 

    Run the command Get-CSClientPolicy and see the AddressBookAvailabilty configuration.

    Lync1

    There are three options which we can be set based on our requirement for this Lync/Skype for business address book availability.

    1. Websearchandfiledownload.
    2. Websearchonly.
    3. FileDownloadOnly.

    It's very self-explanatory based on the names that we have for the address book.

    By default, this value is set to Websearchandfiledownload only. By having this option what it does is a local address book cache file from each client will be downloaded from the server. After that the Lync client will use the local cache. In turn it will use the websearch functionality to download the user photos only.

    So it takes 24 hours of time to have a fully updated local cache files.

    When we have a web search only option it does a direct lookup to the RTCAB database which will give the fully updated information for the Lync/SFB clients. This is more or less similar to the difference between having users in Outlook Cache Mode and in online Mode.

    It would be better if we have a separate client policy only for the top VIP users. This will help them to see all the updated information from the Active Directory.

    In order to create the client policy you can run the below command:

    New-CsClientPolicy -Identity VIP -AddressBookAvailability WebSearchOnly.

    You can use this option for all users as well if we have less numbers of users where the user attribute change happens very often and provided your network bandwidth is strong.

  5. One last step that we can try is to run the below command:

    The output of the command result should say there are no unindexed or abandoned objects. 

    Lync4

    If you see any errors on them then you can try running Update-CSAddressBookConfiguration and see if it helps.