Category Archives: Lync

Lync Server 2013 – All the channel servers are down

Symptom: After installing the Persistent Chat module for Lync Server 2013, you receive the following error when trying to manage Persistent Chat from the Lync Admin Web GUI (CSCP).

1 Warning(s) All the channel servers are down. All the channel servers are down.

Solution: Unfortunately, there are a few issues that could cause this.  Here are a few that I tried to get things working.

Solution #1: Ensure Cumulative Update 2 is installed.

  1. Download a copy of the Lync Update on the persistent chat server
    1. http://www.microsoft.com/en-us/download/details.aspx?id=36820
  2. Double click LyncServerUpdateInstaller.exe
  3. Click the Install Updates button
    Microsoft Lync Server 2013 Cumulative Update Installer for Persistent Chat
  4. Once all the updates have finished installing, click Close
    Microsoft Lync Server 2013 Cumulative Update Installer for Persistent Chat Updated

Solution #2: Add only 1 server to the pool, then add the rest

  1. Login to one of your front end servers and open up the Lync Server 2013 Topology Builder
  2. Delete the persistent chat pool you currently have deployed
    Delete Lync Persistent Chat Pool - Topology Builder
  3. Publish your topology
    Publish the Topology
  4. Recreate your persistent chat pool, but only add 1 server during the setup wizard.
    Create new persistent chat pool
  5. Once done running through the wizard, right click on your persistent chat pool and select New Server…
    New Server - Persistent Chat - Lync Topology Builder

    1. Repeat this until all the servers you wanted to deploy are part of the topology
  6. Publish the topology
    Publish the Topology

Notes: I couldn’t get event viewer to log anything referencing this error, which I thought was weird.   Additionally, I noticed that when originally deploying my topology, the topology wizard was complaining saying that “At least one machine must be active.” in order to successfully deploy the persistent chat pool.  I believe this is a bug in the topology builder and the only way I could get the topology builder to deploy properly, was by following Solution #2.  This ensured at least one server in the pool had a machine state marked as “Active”.

Here is a screenshot showing the persistent chat servers in an enterprise pool marked as inactive and topology builder complaining with the error “At least one machine must be active.”

At least one machine must be active - Lync Persistent Chat - Topology Builder

 

Lync Server 2013 – Installation error: Prerequisite not satisfied: Windows Identity Foundation is required.

Symptom:
You receive the following error when running Step 1: Install Local Configuration Store in the Lync Server 2013 – Deployment Wizard.

Prerequisite not satisfied: Windows Identity Foundation is required.

Prerequisite not satisfied - Windows Identity Foundation is required.

Solution:
Complete the steps below to install the Windows Identity Foundation.

  1. Start Server Manager
    Server Manager
  2. Click Manage -> Add Roles and Features
    Server 2012 - Manage - Add Roles and Features
  3. Click on Features on the left side, and then scroll down and check Windows Identity Foundation 3.5.  Click Next >
    Server 2012 - Add Roles and Featuers Wizard - Windows Identity Foundation 3.5
  4. Click Install
    Server 2012 - Add Roles and Featuers Wizard - Windows Identity Foundation 3.5.png - Install
  5. Click Close once the installation has completed.
    Server 2012 - Add Roles and Featuers Wizard - Windows Identity Foundation 3.5.png - Install Finish
  6. Rerun Step 1: Install Local Configuration Store in the Lync 2013 – Deployment Wizard and you should notice the prerequisite is now satisfied.
    Install Local Configuration Store - WindowsIdentityFoundation prerequisite satisfied

How do I analyze log files off Polycom phones?

We have a boatload of Polycom CX600 phones for our Lync deployment and recently came across one device that would not connect up to the network.  In doing so, I tried to pull the log files off the device, but as you have probably found, there is no web management gui for the phones at all.  Additionally, if you have figured out how to pull the files off the phone, you are probably wondering how you analyze the files as the log files are in a weird format.

  1. Find the IP address of the phone
    1. Press the middle button on the phone, select System Information, and you should see the IP address.
  2. Navigate to ftp://xxx.xxx.xxx.xxx where the x’s is the IP address of the phone
    ftp clg file
  3. Copy the clg* files from the phone over to your desktop
  4. Download a copy of readlog.zip (contains readlog.exe)

    1. Please thank user NeedsCoffee over on the technet forum for providing this! 🙂
      http://social.technet.microsoft.com/Forums/lync/en-US/762fd63a-0813-4474-aa2f-8e633d669362/download-readlogexe-to-review-log-files-from-lync-phone-edition-devices#bd3c9cd0-aff5-4473-b616-07fc751a12fe
    2. Please thank John from my comments below for providing another copy
    3. Note: I scanned the version of readfile John provided in the comments below with http://virustotal.com and uploaded it to my site so we don’t have to worry about the free upload sites expiring the download.  If you are the original author of this file and do not wish for it to be distributed, please let me know and I will remove the link.  Here are the virustotal results: https://www.virustotal.com/en/file/2a081b552f0d5678122f00ed796e1aeff376d7feb5033adf99149403a0296d61/analysis/1391885100/
  5. Execute the following command to covert the clg file to text
    1. readlog.exe “system[1].clg1” “system[1].txt”
      readlog clg to txt
  6. Open up the text file in notepad
    1. Here you can see some info about the phone trying to pull the certificate from the lync provisioning service.
      clg txt log

That should do it!  The log file contains a lot of debugging information that Polycom can use to figure out what is going on, or every once in awhile you will luck out and see if the phone is having a tough time finding the certificate server, time server, etc.

Lync – Manually set a Lync user’s PIN via powershell

If you would like to manually assign a PIN number to a user in Lync, please follow the steps below:

  1. Login to your Lync Front End Server
  2. Open up the Lync Server Management Shell
  3. Execute the following command
    1. Set-CsClientPin -Identity "DOMAIN\user" -Pin 123456

The technet article defining all the parameters of this command can be found here: http://technet.microsoft.com/en-us/library/gg398929.aspx

Lync – Filter failed to return unique result error

Symptom: You receive the following error when trying to assign an Enterprise Voice number to a new user via powershell or the Lync Admin Web GUI (CSCP):

Filter failed to return unique result, “[SipAddress : sip:[email protected]] [LineURI : tel:+15555555555] [PrivateLine : tel:+15555555555] “

Solution: Execute the following commands below to see what the number is currently assigned to.

This command will check all users for the requested number.

Get-CsUser | where {$_.LineURI -eq "tel:+15555555555" -or $_.PrivateLine -eq "tel:+15555555555"} | Sort-Object LineURI | Select-Object Displayname, LineURI, PrivateLine

This command will check all common area phones for the requested number:

Get-CsCommonAreaPhone | where {$_.LineURI -eq "tel:+15555555555"} | Sort-Object LineURI | Select-Object Identity, LineURI, DisplayNumber, DisplayName, Description

This command will check all response groups for the requested number:

Get-CsRgsWorkflow | where {$_.LineURI -eq "tel:+15555555555"} | Sort-Object LineURI | Select-Object Name, Identity, LineURI, DisplayNumber, Description

This command will check all exchange contacts for unified messaging:

Get-CsExUmContact | where {$_.LineURI -eq "tel:+15555555555"} | Sort-Object LineURI | Select-Object identity, LineURI

Notes: I stumbled across these powershell commands from “The Regular IT Guy”; please check out his site here http://onlize.wordpress.com/2013/07/01/lync-add-user-error-filter-failed-to-return-unique-result/

Lync 2013 – Failing Voicemail and Forwarded calls after replacing front end ssl certificate

Problem: While setting up my first Lync Enterprise Pool, I generated a new certificate on a new front end server, and replaced the certificate on the first front end server to match.  While Lync 2013 will accept the changes, you will begin to slowly see Lync’s familiar errors such as failures in forwarding calls, contacting voicemail, etc., with services such as IM, direct internal/external calling working great.

Solution: Turns out that you must restart, at a minimum, the front-end service on all other machines in the Lync enterprise pool after you apply the new SSL certificate.  Unfortunately, this will logout your users from their Lync client for 30 seconds to a minute while the service restarts, but users should be able to remain on a call if the mediation service is still up.  Looking forward to when the new SSL certs expire, I would schedule this as maintenance in the evening where you could simply restart each of the Lync Front End services/servers to prevent unexpected behavior after applying the certificate.

Here was the error I began to see from the Lync 2013 client while trying to call my voicemail:

The description for Event ID 11 from source Lync cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

Lync
80ef01f4
RequestUri: sip:[email protected];opaque=app:voicemail
From: sip:[email protected];tag=693ec81203
To: sip:[email protected];opaque=app:voicemail;tag=7CBCF099907DE2498340425795C4E09A
Call-ID: e3535707c76342fd909faaa232247182
Content-type: multipart/alternative;boundary=”—-=_NextPart_000_0039_01CE980F.27472B30″;call-type=audiovideo

——=_NextPart_000_0039_01CE980F.27472B30
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <[email protected]>
Content-Disposition: session; handling=optional; ms-proxy-2007fallback

………..

………..

……….

——=_NextPart_000_0039_01CE980F.27472B30
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-ID: <[email protected]>
Content-Disposition: session; handling=optional

……..

……..

……..

——=_NextPart_000_0039_01CE980F.27472B30–
Response Data:

183 Session Progress
500 The server encountered an unexpected internal error
ms-diagnostics: 1;reason=”Service Unavailable”;AppUri=”http%3A%2F%2Fwww.microsoft.com%2FLCS%2FDefaultRouting”;reason=”Failed when constructing the outgoing request”;source=”lyncserver.mydomain.local”;OriginalPresenceState=”0″;CurrentPresenceState=”0″;MeInsideUser=”Yes”;ConversationInitiatedBy=”0″;SourceNetwork=”0″;RemotePartyCanDoIM=”No”

 

Lync 2013 GUI Error: Unfortunately, I didn’t grab a screenshot, but the error I was received was “Error ID 1 Source ID 243

Side notes: When doing a premiliary search on the Lync error (before I made it to event viewer), I stumbled accross an article by Romans Fomicevs that had the exact same issue as me as well.  He’s got some additional tracing and insight on the subject as well, definitely go give him a +1 on his Google page! 🙂 http://blog.yogi-way.lv/2013/07/lync-server-2013-and-new-internal.html

Lync Server 2013 – Cannot find any suitable disks for database files. You must manually specify database paths. error

Symptom: You receive the following error while running Step 2: Setup or Remove Lync Server Components under the Lync Server 2013 – Deployment Wizard.

Install-CsDatabase: Command execution failed: “Cannot find any suitable disks for database files. You must manually specify database paths.”

Solution: Verify you have at least 16GB of free disk space on the partition you are installing Lync Server 2013.

Lync 2013 – DNS Settings

If you are setting up Lync Server for the first time or have been running Lync Server, you will notice that Lync depends heavily on DNS records.  In many cases, a Lync deployment cannot be setup correctly without using a split-dns setup and using a masked UPN; which can make things even more tricky.  Here is a complete listing of DNS records I used to deploy Lync 2013.  I have verifed federation works properly, IMs, conferencing, dial-in meetings, mobile and desktop client sign-in, and desk phones.  Note, records indicated in Red are records that are required/standard in every lync deployment.

Internal DNS Records

Record Type Value Points to
A lyncdiscoverinternal.mydomain.com Lync front end server
A lyncdiscover.mydomain.com Lync reverse proxy
(needed for mobile devices to work interally)
A lync.mydomain.com Lync front end server
A sip.mydomain.com Lync front end server
(multiple A records if enterprise pool)
A dialin.mydomain.com Lync front end server
A meet.mydomain.com Lync front end server
SRV _ntp._udp.mydomain.com Domain Controller/Time Server
SRV _sip._tls.mydomain.com sip.mydomain.com
SRV _xmpp-server._tcp.mydomain.com sip.mydomain.com
SRV _sipinternaltls.mydomain.com sip.mydomain.com
SRV _sipfederationtls.mydomain.com sip.mydomain.com

**Note, you should have A records for all of the hosts in your Lync deployment (front end servers, pools, proxies, etc.).  Those are not covered in the list as they are 100% user defined when deploying Lync.

External DNS Records

Record Type Value Points to
A webconf.mydomain.com Edge server IP as specified in setup wizard
A av.mydomain.com Edge server IP as specified in setup wizard
A sip.mydomain.com Edge server IP as specified in setup wizard
A meet.mydomain.com Lync Reverse Proxy IP
A dialin.mydomain.com Lync Reverse Proxy  IP
A lync.mydomain.com Lync Reverse Proxy IP
A lyncdiscover.mydomain.com Lync Reverse Proxy IP
SRV _sip._tls.mydomain.com sip.mydomain.com
SRV _sipfederationtls._tcp.mydomain.com sip.mydomain.com
SRV _xmpp-server._tcp.mydomain.com sip.mydomain.com

 

Lync 2013 Android Client – Version of Lync has been blocked error

Symptom: When logging into the Lync 2013 on an Android or iOS device, you receive the following error:

This version of Lync has been blocked by your system administrator.  Please check for updates or contact your Lync support team.

Lync 2013 Mobile Version

 

Solution: This error is caused by not running the latest version of Lync Server 2013.  Make sure you have at least the February Cumulative Update 1 patch applied to your server.  Without this patch, the Lync client will not be able to login.

You can grab a copy of the patch from: http://www.microsoft.com/en-us/download/details.aspx?id=36820

Details on how to install the patch can be found here: http://support.microsoft.com/kb/2809243