Lync 2013 unified contact store (UCS) troubleshooting tips


I would like to share few troubleshooting tips based on UCS deployment experiences. Assume that, you had successfully deployed Lync 2013 and exchange 2013 in the organization and enabled UCS. However, client contacts were still not migrated  to exchange server. Following steps may help to narrow down the issue;

Is there any exchange connectivity errors on Lync client as mentioned below ? If so, verify auto discover configuration on exchange CAS server,

Run following command if you haven’t set the auto discover record on the CAS box. Also make sure that auto discover DNS record is accessible from client machine.

“Get-ClientAccessServer | Set-ClientAccessServer -AutoDiscoverServiceInternalUri https://autodiscover.domain.com/autodiscover/autodiscover.xml” .

Following PowerShell cmdlet would be helpful to identify if or not a user’s contacts can be accessed through the Unified Contact Store. If it is failed , verify the UCS configuration.

 $cred = get-credential

Test-CsUnifiedContactStore -UserSipAddress testuser@domain.com -TargetFqdn lync.domain.com –UserCredential $cred

Following cmdlet  will test  Lync Server Storage Service status on a Front End Server.  Make sure that test result is successful , if not cross check Lync services manually.

Test-CsExStorageConnectivity -SipUri testuser@domain.com -Binding NetTCP -DeleteItem -HostNameStorageService pool.domain.com

Verify UCS service policy has been assigned to the users. Following cmdlet will list user’s service policy.

get-CsUser -Identity testuser

Verify partner application is successfully created ,following cmdlet would list the configuration of partner application.

Get-CsPartnerApplication

Enable centralized logging and select lyssanducs as tracing scenario. You should run this command from windows cmd window.

Clscontroller.exe –start –scenario lyssanducs –pools pool.domain.com

Stop the logging on the agent and output the log file to notepad. Following command would help you;

ClsController.exe -stop –scenario lyssanducs –pools pool.domain.com

Search-csclsLogging –computers  fe.domain.com –components lyss  –loglevel  all –outputfilepath  “c:\test.txt”

You can also use Lync debugging tool for collecting the logs. Following figure shows that Lync server has replied to contact subscription request that it has already migrated to exchange server.  

 

Comments (9)

  1. @Trevor – you just need to verify all Lync services are up and runing.

  2. Thanks for the write-up Saleesh!

  3. @Allan – What is the sip domain assigned to users ? Is it domain.local or domain.com ?

    Lync client will discover autodicover URL based on user's sip URI. Make sure that autodiscover record is pointed to CAS array.

  4. Trevor says:

    I have Lync 2013 and the storage connectivity passes while the Unified Contact Store times out. You say test connectivity "manually"… How is that done?

  5. Allan says:

    Hi Saleesh,

    My users aren't migrated to UCS.

    I'm wondering, if it could be a problem that my lyncpool and autodiscover are configured with different domainnames.

    eg.

    Autodiscover.domain.com

    Lyncpool.internal.local

    When I run the test-commands from your article, all tests returns succes, so i'm try to figure out why i'm not migrated.

    Regards

  6. Yax1 says:

    The lync client performs lookup of exchange autodiscover based on user's mail attribute, which is almost always the primary SMTP address.

  7. Aditi says:

    I have to create a partner application between my Lync 2013 server and Exchange 2013 server

    On Exchange server management shell i executed the following command :

    C:Program FilesMicrosoftExchange ServerV15ScriptsConfigure-EnterprisePartnerApplication.ps1 -AuthMetaDataUrl ‘https://LYNCFQDN/metadata/json/1’ -ApplicationType Lync

    Result : Configuration succeedes.

    On Lync Server Management shell when i execute the following command :

    New-CsPartnerApplication -Identity Exchange -ApplicationTrustLevel Full -MetadataUrl

    autodiscover.domain.com/…/1

    I get the following error :

    MetadataUrl : The term ‘MetadataUrl’ is not recognized as the name of a

    cmdlet, function, script file, or operable program. Check the spelling of the

    name, or if a path was included, verify that the path is correct and try again.

    At line:1 char:1

    + MetadataUrl
    autodiscover.ucs.com/…/1

    + ~~~~~~~~~~~

       + CategoryInfo          : ObjectNotFound: (MetadataUrl:String) [], Command

      NotFoundException

       + FullyQualifiedErrorId : CommandNotFoundException

    but if i use this command

    New-CsPartnerApplication -Identity Exchange -ApplicationTrustLevel Full -MetadataUrl https://Exchange FQDN/autodiscover/metadata/json/1

    The command successfully executes.

    However when i run

    Test-CsExStorageConnectivity -SipUri "sip:USERNAME"

    my test fails

    Where am i going wrong?

  8. RKW says:

    Having a hard time configuring this in lab, almost everything checks out ok but contacts are not migrated:

    OAuth check:
    [PS] C:Windowssystem32>Test-OAuthConnectivity -Service EWS -TargetUri
    https://mail.domain.nl/ews/ -Mailbox "John Doe"
    Creating a new session for implicit remoting of "Test-OAuthConnectivity" command…

    Task ResultType
    —- ———-
    Checking EWS API Call Under Oauth Success

    Autodiscover check:
    [PS] C:Windowssystem32>Get-ClientAccessServer | FL -Property AutodiscoverServiceInternalUri

    AutoDiscoverServiceInternalUri :
    https://autodiscover.domain.nl/autodiscover/autodiscover.xml

    Storage check:
    PS C:UsersAdministrator.DOMAIN> Test-CsExStorageConnectivity -SipUri
    jdoe@domain.nl -Binding NetTCP -DeleteItem -HostNameStorageService
    fepool.ad.domain.nl -Verbose
    ……
    VERBOSE: Items choice type: DeleteItemResponseMessage.
    VERBOSE: Response message, class: Success, code: NoError.
    VERBOSE: Is command successful: True.
    Test passed.

    UserServicesPolicy check:
    PS C:UsersAdministrator.DOMAIN> Get-CsUserServicesPolicy

    Identity : Global
    UcsAllowed : False

    Identity : Tag:UCSEnabled
    UcsAllowed : True

    Identity : Tag:UCSDisabled
    UcsAllowed : False

    PS C:UsersAdministrator.DOMAIN> Get-CsUser -Identity "John Doe"

    Identity : CN=John Doe,OU=Users,OU=company,DC=ad,DC=domain,DC=nl
    ClientPolicy :
    ExchangeArchivingPolicy : Uninitialized
    UserServicesPolicy : UCSEnabled
    HostingProvider : SRV:
    RegistrarPool : FEPOOL.ad.domain.nl
    Enabled : True
    SipAddress : sip:jdoe@domain.nl
    LineURI : tel:+31889991234;ext=1234
    EnterpriseVoiceEnabled : True
    ExUmEnabled : True
    HomeServer : CN=Lc Services,CN=Microsoft,CN=1:4,CN=Pools,CN=RTC Service,CN=Services,CN=Configuration,DC=ad,DC=domain,DC=nl
    DisplayName : John Doe
    SamAccountName : jdoe

  9. RKW says:

    Partner Application:
    PS C:UsersAdministrator.DOMAIN> Get-CsPartnerApplication

    Identity : Exchange
    AuthToken : Value=https://autodiscover.domain.nl/autodiscover/metadata/json/1
    Name : Exchange
    ApplicationIdentifier : 00000002-0000-0ff1-ce00-000000000000
    Realm : domain.nl
    ApplicationTrustLevel : Full
    AcceptSecurityIdentifierInformation : False
    Enabled : True

    Check CsClientPolicy:

    EnableExchangeContactSync : True

    And when I check if user can be migrated:

    PS C:UsersAdministrator.DOMAIN> Debug-CsUnifiedContactStore -Identity jdoe@domain.nl | FL
    UcsMigrationAttemptCount : 1
    LastUcsMigrationAttempt : 7/3/2014 12:46:00 PM
    SipUri : jdoe@domain.nl
    UcsMode : Ready To Migrate

    Test UCS:
    PS C:UsersAdministrator.DOMAIN> Test-CsUnifiedContactStore -UserSipAddress ‘sip:jdoe@domain.nl’ -TargetFqdn ‘fepool.ad.domain.nl’

    Target Fqdn : fepool.ad.domain.nl
    Result : Failure
    Latency : 00:00:01.9612480
    Error Message : User has not been migrated. Verify that the user has a mailbox in Exchange and that the user has been migrated.
    Diagnosis :

    User has an Exchange Mailbox and has logged in to the mailbox. The date/timestamp from the UCSMigrationAttempt is a date from before I even installed the servers. Date and time on Front End, Exchange and Client are all the same.

    When I use CSClsLogger I get no messages at all with only the LyssAndUcs Scenario so there doesn’t seem to be an attempt to migrate the contacts.

    Is there a way to force a migration attempt so I can get more info about what goes wrong?

    In Lync client it says "Exchange connection down" and Contact List Provider is Lync. But I can’t figure out what goes wrong since almost all the test/debug commands give positive results.

Skip to main content