Office 2016 client path prevents SfB MOH playing

It’s been a big week for Music On Hold. I’ve found a bug in the Office 2016 client that kills MOH if you mute, and another one again – this time related to the path your Office installed itself into.

The symptoms were simple enough: internally, or for external parties when the Sonus SBC’s own MOH feature was disabled, putting callers on hold resulted in them hearing silence.

I thought this was going to be a simple client policy fix, but nup:

get-csclientpolicy | ft identity,*music* -auto

Get-CsClientPolicy-MOH

The above tells me that client-side MOH is enabled for everyone across the board, and without a value for “MusicOnHoldAudioFile” the client will use its inbuilt default, which it revealed thus:

C:\Program Files\Microsoft Office\root\Office16\Media\DefaultHold.wma

RingstonesAndSounds

HOWEVER, here’s where the client’s installed:
C:\Program Files\Microsoft Office\Office16\Media\DefaultHold.wma

And there is no /root/ branch in the folder tree!

I don’t know how it got this way, but as I’ve only encountered one client showing this problem I just created the required folders and copied DefaultHold.wma across. I bounced the client for good measure and all came good.

Error Reporting?

I was curious to see if the error was logged anywhere so you could perhaps easily determine how widely/if you were affected. I couldn’t find any mention of it in the Applications Event Log – it looks like it’s handled internally and the client moves on.

Here it is as captured in Lync-UccApi-0.UccApilog:

10/14/2017|08:04:34.788 3A00:2EC8 INFO  :: Source file path C:\Program Files\Microsoft Office\root\Office16\Media\DefaultHold.wma
10/14/2017|08:04:34.789 3A00:2EC8 INFO  :: Function: CLocalMediaPlatformAdapter::CreateMediaPlayerDevice
10/14/2017|08:04:34.789 3A00:2EC8 ERROR :: HRESULT failed: 80070003 = hr . m_spMediaPlatform->CreateMediaPlayerDevice
10/14/2017|08:04:34.789 3A00:2EC8 INFO  :: Function: CUccAudioVideoMediaChannel2::CreateMediaPlayerDevice
10/14/2017|08:04:34.789 3A00:2EC8 ERROR :: HRESULT failed: 80070003 = hr . failed to create media player device D:

… and here’s what the on-hold event looks like when it succeeds:

10/14/2017|08:11:06.565 D20:C4C INFO  :: Source file path C:\Program Files\Microsoft Office\root\Office16\Media\DefaultHold.wma
10/14/2017|08:11:06.902 D20:C4C INFO  :: GetMediaPlatformDevice returned 0

Affected Releases

I can’t say for sure. The client version I found this on is the Office 2016 MSI, and so far only the one instance.

Remediation

You have a couple of ways of fixing this, depending on how widely you’re affected:

  • The lazy way out (if you’re using a Sonus 1k, 2k or SweLite SBC) is to enable MOH on the SfB Sig Gp. Yes, that only affects PSTN calls, but they’re the most critical ones – and I did say this was the lazy way out! I’ve documented that process here if you’re not familiar with it.
  • Hard-code into the CsClientPolicy the correct path: C:\Program Files\Microsoft Office\Office16\Media\DefaultHold.wma. For bonus points this means the users won’t be able to change it (as doing so greys-out the Browse button).
  • Create the required folder structure on the user’s PC and copy the music file across:

    OfficeRootTree-highlighted

    (Thank you TreeSize Free for that image).

Revision History

14th October 2017: This is the initial post.

 

– G.

Leave a Reply

Your email address will not be published. Required fields are marked *

... and please just confirm for me that you're not a bot first: Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.