Lync 2013 Explained: No Audio Detected

The Lync automatically detects the devices attached to your computer. That is what is expected today of any software that provides Audio/Video capabilities. In today blog we are going to look at how Lync or how most of the software application detect the Audio device on you Windows Desktop or Laptop Client. We shall also look at some troubleshooting steps that can be followed when automatic detection fails.

Let Quickly See Device Detection in Windows 7 and later

When a device is attached, Windows attempts to locate a matching driver package from which it can install a driver for the device. Windows searches for driver packages from various locations and performs this search in two phases

  • Starting with Windows 7, Windows automatically downloads matching driver packages from Windows Update without prompting the user for permission. If a matching driver package is found, Windows downloads the package and stages it to the driver store.
  • If a matching driver package cannot be downloaded, Windows searches for matching driver packages in the driver store. This includes in-box drivers, installed drivers other than in-box drivers, and preinstalled drivers. Windows also searches for driver packages that were preloaded in the locations that are specified by the DevicePath registry value.

HKLM\SOFTWARE \Microsoft\Windows\CurrentVersion\DevicePath

By default, the DevicePath value specifies the %SystemRoot%\INF directory

Lync Client Audio Device detection

When Lync client startup it queries the DevicePath registry value for a list devices connected to the machine

For Lync 64 Bit Client

HKLM\SOFTWARE \Microsoft\Windows\CurrentVersion\DevicePath

For Lync 32 Bit Client on 32Bit Windows 

HKLM\SOFTWARE \Microsoft\Windows\CurrentVersion\DevicePath

For Lync 32 Bit Client on 64Bit Windows 

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\DevicePath

Once the Lync 2013 client has the list of devices on the machine it, It looks for the

HKCU\Software\Microsoft\UCCPlatform\PrefAudioRenderVendorProductID

Is there is any preferred playback devices set 

 Then Lync.exe looks for Microphone or recording device attached to the machine by querying the following registry

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\

Under Capture key it looks at listed {device GUID} key and within {device GUID} key its looks for the value of DWORD “DeviceState”  

Depending on the number of devices connected to the machine there can be several of {device GUID} key listed under Capture Key, Lync queries all of {device GUID} key

This is what the DeviceState value means

Dword

Hexadecimal

Description

 

 

 

DeviceState

10000001

 Device is disable

DeviceState

1

Enabled and  ready for use

DeviceState

2

The audio endpoint device is disabled. The user has disabled the device in the Windows multimedia control panel, Mmsys.cpl

DeviceState

4

The audio endpoint device is not present because the audio adapter that connects to the endpoint device has been removed from the system, or the user has disabled the adapter device in Device Manager.

 

Once the Lync 2013 client has the list of devices on the machine it, then looks for speaker or Playback Device attached to the machine by querying the following registry

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\

Under Render key it looks at listed {device GUID} key and within {device GUID} key its looks for the value of DWORD “DeviceState”  

Depending on the number of devices connected to the machine there can be several of {device GUID} key listed under Render Key, Lync queries all of {device GUID} key

 

Once Lync Client has found all the enabled Audio Playback and Recording devices based on the preference set in Windows multimedia control panel it will populate  the following registry

HKCU\Software\Microsoft\UCCPlatform\Lync\AudioRender\Speaker/HP {product details}

HKCU\Software\Microsoft\UCCPlatform\Lync\AudioCapture\Microphone {product details}

 Troubleshooting No Audio Detected In Lync Client

When a user tries make Lync call or dial a phone number using the Lync client we see the following error

 

Let’s start by verifying, if the Lync Client is able query Windows Device list it will display a Speaker\Playback Device to be used and a Microphone\Recording device as shown below

Lync Options

If the Lync client is unable locate either a Speaker\Playback Device or a Microphone\Recording device or even both it will display the following error in Lync Options as shown below

 

The next to place to look at would be the in Windows multimedia control panel (Run “mmsys.cpl”)

The Windows multimedia control panel displays a list of all the Speaker\Playback Devices and Microphone\Recording devices.

If no devices are shown in Windows multimedia control panel the next approach, is to check for disconnected or disabled Speaker\Playback Devices and Microphone\Recording devices. We can do that by right clicking in the Windows multimedia control panel as shown below

 

Even after selecting the “Show Disabled Devices” & “Show Disconnected Devices” if there are no devices shown in Windows multimedia control panel.

 The final place to check within windows would be look at Device Manager

If in Device Manager under the Sound option if any devices show disabled, right client and enable the sound device. Once a devices has enabled in Device manager, please check in Windows multimedia control panel if we see Speaker\Playback Devices and Microphone\Recording devices.

Please Note: Enabling sound device in Windows might require a restart.

If in Device Manager under the Sound option if no devices shown, check the Show Hidden Devices option in Device Manager.

Even after check the Show Hidden Devices option in Device Manager No Sound devices are shown. The only option remains is checking the physical hardware connectivity.

Summary

Windows based application can access Speaker\Playback Devices and Microphone\Recording devices only after Windows has detected the device appropriately.