Polycom VVX 5.3.x and 5.4.x Visual Voicemail not working

We fired up some fresh Lync accounts the other day for a couple of users who were going to only be using a VVX 500 handset. They weren’t even going to be using the Lync/Skype client for messaging – they were just telephony users. I can imagine a number of scenarios where you may have this type of user, like a concierge or guard station where only a phone is required.

Unlike all the rest of our users, these accounts didn’t see their voicemails listed when they pressed the messages icon on their phone. Dialing in to the unified messaging subscriber access was fine, and the messages were there, but they just weren’t showing up when the user pressed the envelope icon.

Diving in to the logs on the phone showed the following:

0714111143|ec   |4|00|UM service is 1 and play on phone service is 1
0714111148|ec   |4|00|’calllogs’ service did not received expected folder ids.

Aha! Can’t find the voicemail folder, eh Lync?

Sure enough, when you log in to Outlook, you’ll find that the normal Lync folders haven’t been created yet. I assume that the Polycom UC software is set to look in the “Voice Mail” search folder, but as this folder hasn’t been created the phone gives up and shows a blank screen.

The solution? Log in to the account once with the desktop Lync 2013 / Skype for Business client. This initial login will create all the necessary folders required, and visual voicemail will start working correctly.

Skype for Business for Windows Phone Quietly Arrives

A little while ago an update was seeded to Lync 2013 users on Windows Phone which let us know that Skype for Business was on its way. Today that rollout has taken place, at least for me, with the latest version being delivered to my devices overnight. It’s always nice to wake up to new software. It’s been delivered as an in-place upgrade for Lync 2013 for Windows Phone.

So far it’s just Windows Phone which has received this update (or Windows 10 Mobile if you’re using it). Android and iPhone should be coming soon.

Continue reading

Missing Dial-in information in Skype for Business and Webscheduler

A fault came in today from a customer who was having problems scheduling conferences with dial-in access numbers when using Webscheduler. While the meeting was scheduled correctly and a URL was given to join the meeting, a dial-in access number wasn’t shown. Here’s a recreation I did in my lab, so enjoy the pretend numbers and URLs:


This was confusing, because a number was definitely configured for dial-in conferencing. But there was a slight problem:


The number on the customer’s system was a 1300 number – for those outside Australia, it’s like a toll-free number, but it’s the cost of a local call to the caller, and the owner of the number pays for the call costs beyond the standard local call time. As most business calls are quite short, this usually works out in the 1300 number owner’s favour.

Anyhoo, it turns out that a little while ago a junior engineer had taken the ticket to remove the existing state-based numbers and replace them with a single number for all of Australia. He created a new conference region for the new number and attached it to the Global dial plan. He then changed the region for the 1300 number from “Sydney” to “Australia” and deleted the rest. Seems logical.


But the problem comes for users attempting to create meetings. In this case, my user is set with the AU-MEL dial plan as I’m in Melbourne:


and when we investigate that dial plan policy:


We find that it wasn’t updated when the “Melbourne” conferencing region was deleted to make way for the Australia-wide one. As a result, Skype can’t give the user a number as it doesn’t believe it has one in that region.

The solution? Either change all the dial plans to “Australia” as their conferencing region, or add all regions to the dial-in access number. I chose the first option, as I didn’t want to see multiple regions listed on the dialin page.


After that, a quick enable-cscomputer to kick things into gear:


Now when we create a meeting, all the correct information is shown.


Happy conferencing!

Music on Hold not working with Click-to-Run version of Skype for Business

When deploying a new customer Lync 2013 environment, we found that music on hold wasn’t working for the customer’s end users, who were using the latest version of the Office 365 click-to-run version of Skype for Business (15.0.4727.1001). This was raised to us as a fault where customers were complaining they were being cut off when placed on hold. In truth, they weren’t cut off – they were just hearing silence.

We’d set up the client policy the same way we always do, where EnableClientMusicOnHold is set to $True and MusicOnHoldAudioFile is $NULL. In the past, this set Lync 2013 to play its default music on hold audio file, which at the time was C:Program Files (x86)Microsoft LyncMediaDefaultHold.wma

PS> Get-CsClientPolicy -Identity Global |fl enableclientmusiconhold,musiconholdaudiofile
EnableClientMusicOnHold : True
MusicOnHoldAudioFile    :

It appears, however, that the click-to-run version of Skype for Business either doesn’t know where its default music file is, or is expecting the file to be in the old location. In click-to-run, the file is located at C:Program FilesMicrosoft Office 15rootoffice15MediaDefaultHold.wma

To resolve the issue, we added the file to our client policy like this:

PS> Set-CsClientPolicy -Identity Global -EnableClientMusicOnHold $TRUE -MusicOnHoldAudioFile "C:Program FilesMicrosoft Office 15rootoffice15MediaDefaultHold.wma"

After giving it a while to update on the client end, music started functioning properly again.

Note, however, this will cause problems if you’re running different versions of Skype for Business or Lync, or if you’re running Lync Phone Edition devices, as the file location will most likely not exist for those clients.

The other alternative fix would be to have each user select the music on hold audio file in their options menu by clicking the Cog menu and selecting the Ringtones and Sounds option, then pressing browse next to the music on hold file listing. When the explorer window appears, click the file and press ok to force the client to use this file.


LyncLab, part 1: Everything you wanted to know about Hyper-V but were too afraid to ask.

If you’re anything like me, you build up and tear down your lab on a regular basis. You might do this because you’re studying, you might want to try out new ways of doing things, or you might just want to flex your buid muscles while you’re in an operations period to keep your skills fresh. I run a local lab on my home desktop, and found myself tearing it down quite regularly, so I decided it was time to script, streamline and document the process as much as possible.

In this first entry of this series, we’ll do the groundwork for the Lab. We’ll install Hyper-V, create a template disk which can be “cloned” for future builds – all machines will use differencing disks so we can keep the footprint of our lab to an absolute minimum.

The first machine will be a Windows 2012 R2 Server Core install, which is as lean as you can get. We’ll also run a windows update from the comandline, and finally we’ll sysprep the machine in preparation for cloning.

In future entries in this series, we’ll make a child differencing disk and install Server GUI, which will then become the parent disk for any machines which require it, we’ll create an Active Directory, a Lync 2013 Enterprise pool, and maybe a few more goodies.

Continue reading

Migrating to a new Lync 2013 pool – Preamble

We recently decided to decommission one of our datacentres, as the hardware there was getting old and the service we were getting wasn’t that spectacular. Most of the machines there were fairly old, too, so it gave us a good excuse to rebuild our aging AD servers as 2012R2, for example.

The only newish gear in that datacentre is our internal Lync 2013 pool, which was built just after Lync 2013 was released. As a result, the machines are running Windows 2012, and there are only two Frontend servers – we built it with the old recommended layout and never quite got around to building a third frontend (ever seen a builder’s house?).

Instead of migrating, I figured it would be a good opportunity to rebuild the servers on 2012R2 in the new datacentre.

In this series, I’ll document the steps I take to add the new pool, migrate the users, redirect the external services and decommission the old pool. Hopefully it’ll all go smoothly, but we’ll see.