There are a few things I always do when I start using a new computer: disable all Windows sounds by going to the control panel and select the "No Sounds" option:
To be honest with you: I don't like the sounds and they seem to always disturb me. For me it's enough to get a warning/error/alerting message, and I don't need the sounds disturbing my work or music. I'm also using a Polycom CX 600 device with the USB better-together feature and while the phone is not my default audio device, windows sounds keep directed to it because my music player is configured to take full control of my sound card.
That being said, I noticed that my Lync sounds where gone when I switched to the "No Sounds" scheme. VERY annoying to receive no dial tone when dialing a number!
The reason is simple: every Lync sound gets defined as a sound in the Sound Schemes and if you change to the Sound Scheme "No Sounds", they are gone:
If we look at the registry, applications can register custom sounds to the system default schemes in the following path: HKEY_CURRENT_USER\AppEvents\Schemes\Apps\
For Lync we find a key for every sound it registered in the Communicator tree:
There are at least 2, sometimes 3 keys below every sound:
- .Default: for the Windows Default scheme
- .None : for the Windows "No sounds" scheme
- .Current: can also exist if you're using modified scheme
Within those keys, there is only one value set which is called (Default) and has the following value:
- the path to the audio file for the .Default sound scheme pointing to the Lync installation folder. (which is different on 32 and 64 bit installations!)
- empty for the .None sound scheme
To enable Lync sounds in the "No sounds" windows sound scheme, the values in the .None keys have to be changed to the actual audio files. To help you a bit, I created 3 registry files to update them all at once and they can be downloaded here. The ZIP contains 3 files:
- communicator64_always_sounds.reg : to enable sounds in the "No Sounds" scheme on 64 bit systems
- communicator32_always_sounds.reg : to enable sounds in the "No Sounds" scheme on 32 bit systems
- communicator_no_sounds.reg : to restore the default values (no sounds)
You can also use this information if you want to distribute and enforce custom sounds to your Lync clients using Group Policy. There are a few things you have to take into account if you want to do this:
- Make sure that the files exist and your custom audio files are always accessible
- Make a different policy for 64 and 32 bit systems as the path may be different (use a WMI filter)
- The Music-On-Hold audio can be set using the Set-CsClientPolicy and the MusicOnHoldAudioFile parameter and this will override your registry settings.
The problem with the MusicOnHoldAudioFile parameter from Set-CsClientPolicy is that you cannot set the path to the Lync installation folder since it is different for 32 and 64 bit systems. If you decide to use this Client Policy then you'll have to distribute your music on hold file to a specific path, which is the same for 32 and 64 bit systems. Using information from this post you might be able to find a workaround using registry settings and group policy.
What started as a small and specific issue for myself, ended up in this blog post.