Category: Exchange Server 2013

Auto Attendant Failing? Your UM Dial Plan Can’t Have Spaces in its Name

We encountered a tiny issue the other day. It did exactly what tiny issues do – caused a lot of trouble!

Auto Attendant DiagramOur team was finalizing a new customer’s Skype for Business implementation. They set up the servers; all good. They set up user accounts; no problem. They tested connections on user machines; everyone can talk to one another.

Then we did some test calls from outside their network. Exchange’s Auto Attendant should pick up and offer us some departmental choices.

But it’s not picking up.

Ten-second rundown: The Auto Attendant is part of an Exchange Server component called Unified Messaging. Unified Messaging (or UM) gives you access to voicemails in your inbox, and it allows you to create Auto Attendants for managing call transfers. You use an Auto Attendant-type of system whenever you call a business and hear, “Press 1 for Sales, Press 2 for Support…”

In this case, our customer’s Auto Attendant would not activate at all. We checked server logs and found no errors. The customers could still get their voicemails. Everything was configured properly. So what’s causing the problem?

It took us a little time to find the answer. Which, it turns out, was tiny!

Unified Messaging Dial Plans Cannot Use Spaces in Their Names

The issue originated in the UM Dial Plan. Specifically, its name.

When we set up the UM Dial Plan for this customer, we called it, “CustomerName UM Dial Plan.” Which, it turns out, is the wrong syntax to use. Because it has spaces in it.

The issue originates in Exchange Server 2013. It prevents Lync (or Skype4B) users from calling an Exchange UM Auto Attendant, if there are spaces in the Auto Attendant’s Dial Plan name.

(Please note: We think this issue is still present in Exchange Server 2016.)

Why such an issue exists, I’m not sure. But it does.

So, simple fix, right? Just rename the Dial Plan?

Unfortunately not. You can’t change a Dial Plan’s name once it’s created. We had to create an all-new one, an exact duplicate of the first (without the spaces in its name!), and then delete the old Dial Plan.

On top of that, we’d have to disable all the users’ Unified Messaging mailboxes, and then re-enable them with the new UM Dial Plan. All for a couple of spaces.

The Fix: Create a New UM Dial Plan, Enable All Users for It, Then Remove Old UM Dial Plan

Naturally, we consulted the Almighty Google and The Most High TechNet for answers. We found them on a couple blogs.

First off, Michael Epping’s post on titled, Change Users’ Exchange UM Dial Plan. He describes the exact problem we encountered. He also provides a solution.

The quickest and cleanest way to do this is through PowerShell. Creating a new UM Dial Plan, disable all users’ UM mailboxes, re-enable the mailboxes with the new Dial Plan, and then removing the old Dial Plan.


We followed Michael’s process exactly, and he’s done a good job documenting it in his post, so I won’t copy everything over. He deserves the clicks. What I will do is highlight the steps involved for disabling and re-enabling the UM mailboxes.

NOTE: Make sure you create a new UM Dial Plan before you do this!

  1. Run the “Get-UMMailbox” cmdlet to export primary SMTP addresses, SIP resources and extensions.
  2. Open the exported list in Excel. Select the extensions column. Click Text to Columns in the Data tab.
  3. Select Delimited if it’s not already. Click Next.
  4. Check Semicolon under the Delimiters. Click Next.
  5. You should have a column with SIP addresses and one with extensions. Remove the column with SIP addresses.
  6. Highlight Cell D2. Enter the following text. Replace “UMMailboxPolicy” with the name of your UM Mailbox policy.
    =CONCATENATE(“Enable-UMMailbox -Identity “,A2,” -UMMailboxPolicy Lync -SipResourceIdentifier “,B2,” -Extensions “,C2,””)
  7. Highlight D2 again. Click the lower-right corner square. Drag it down to recreate this command for each user in the list.
  8. You should end up with a list of “Enable-UMMailbox” commands for each user.
  9. Copy all of Column D. Paste into Notepad or another text editor.
  10. Make sure the first line, above all the commands, says this: “Get-UMMailbox | Disable-UMMailbox”
  11. Save the script as a .ps1 file. Michael named his “Redo-UMMailboxes.ps1.” We named ours “UMDialReset.ps1.”
  12. Copy the .ps1 file to your Exchange Server. Run script in PowerShell.

Again, please check Michael’s post for additional details.

I’m also including a PowerShell script we used to remove the old UM Dial Plan. This comes courtesy of Ibrahim Soliman’s Blog.

$UMDialPlan = “”
Get-UMMailboxPolicy | where {$_.UMDialPlan -eq $UMDialPlan} | FL Name, UMDialPlan
Get-UMMailboxPolicy | where {$_.UMDialPlan -eq $UMDialPlan} | Remove-UMMailboxPolicy
Get-UMHuntGroup | where {$_.UMDialPlan -eq $UMDialPlan}
Get-UMHuntGroup | where {$_.UMDialPlan -eq $UMDialPlan} | Remove-UMHuntGroup
Get-UMService | where {$_.DialPlans -contains $UMDialPlan} | FL Name, DialPlans
Get-UMService | where {$_.DialPlans -contains $UMDialPlan} | Set-UMService -DialPlans @{Remove=”$UMDialPlan”}
Get-UMService | Get-UMCallRouterSettings | where {$_.DialPlans -contains $UMDialPlan} | FL Identity, DialPLans
Get-UMService | Get-UMCallRouterSettings | where {$_.DialPlans -contains $UMDialPlan} | Set-UMCallRouterSettings -DialPlans @{Remove=$UMDialPlan}
Remove-UMDialPlan -Identity $UMDialPlan

As with all PowerShell scripts, verify this will work with your current topology before executing it.

Avoid Spaces in Dial Plan Names, and You Won’t Have to Replace Them

The name of a Unified Messaging Dial Plan, stored on an Exchange Server, seems an unlikely place for a space to cause problems.

Yet that’s exactly what happened here. Once we’d removed the old dial plan, added a new one & re-enabled the users’ mailboxes, Auto Attendant behaved perfectly. The customer had their, “Press 1 for Sales, Press 2 for Support.”

It’s always the one thing you didn’t suspect, isn’t it?

If you’re setting up Skype for Business, just as a precaution? Avoid using spaces in your dial plan’s names.

Have you encountered a strange error related to spacing in Skype for Business? Please comment or email in what happened. I always like documenting these errors, in case someone else needs the help later on!



Lync Love: March 2014

Need to stay head-down this week. I was planning to continue my exploration of Lync plugins from last time…but, no rest for the busy!

So for today’s post, let’s take a look out in the Lyncosphere and see what we find.

Exchange Server 2013 SP1: What’s New –
Discussion of Exchange 2013’s Service Pack 1, released last month. A very thorough article on it too. It covers SP1’s intended purpose, what to watch out for, the new features, and background on the Exchange service model (Cumulative Updates similar to Lync). If you haven’t already installed SP1, read this for a useful reference.

Lync-Skype-Office 365 Goes Off-Hook – TelecomReseller
This article covers some of the same points I made in Exchanging Protocols: The Latest on Lync and Skype Integration.
Not sure I fully agree with this line: “MSFT will finally smash them together a new UI will emerge probably in 1-2 years to simplify their product offering.”
But, the reason I included it in Lync Love is the images. There’s a big diagram outlining the Lync-Skype-Office 365 architecture (interactive), and a chart of codecs used. Good for a visual reference on both.PosterCutout

Announcing the Release of the Lync Server 2013 On-Premises Architectures Poster – NextHop
Speaking of visual reference! NextHop recently posted an architectural guide for running Lync Server 2013 on-premises. As with previous posters, this one’s extremely detailed and required reading for any Lync administrator.

Microsoft Warns of Looming Exchange Server 2003 Support Deadline – Redmond Channel Partner
Most of us are aware of the looming Windows XP deadline. (Only 3 weeks away!) At the same time, Office 2003 and Exchange Server 2003 will meet their end.
Hopefully everyone is off of Exchange 2003 by now! But just in case, here’s a reminder. And a nice punctual list of the available upgrade & support options for Exchange 2003 holdouts.

I also came across a long article on VoIP and Lync Online. It deserves its own post as a response. You’ll see that one soon.

Next week, I’ll take a stroll through GitHub for some more Lync plugins to test. See you then!


Examining Lync's Connection Tools: OCSUMUtil

Apologies for the late post this week, readers! We’re engaged in some server moves & updating. I don’t have a whole lot of time available. But the blog must go on!

We’re continuing our “Examining Lync’s Connection Tools” series this week with OCSUMUtil.exe.

What Does OCSUMUtil Mean?

It stands for ‘OCS Unified Messaging Utility’, which I believe is its original name. However its official name – at least according to TechNet – is “Exchange UM Integration Utility”.

Many people refer to it as just ‘OCSUMUtil’, so we’ll do that here.

What Does OCSUMUtil Do?

Its primary purpose, as you might guess, is aiding in Lync/Exchange Unified Messaging integration. It does this in two ways:

  • Creating Active Directory contact objects for Auto Attendant and Subscriber Access numbers used in Enterprise Voice.
  • Verifying that each Enterprise Voice dial plan matches its corresponding Unified Messaging dial plan. (According to TechNet, this is only necessary if you’re using an Exchange Server earlier than Exchange 2010 SP1.)

This has been its purpose since OCS 2007 days. In fact, I think it’s the longest-used connection tool in our series.

(If I’m wrong, please comment and set us all straight!)

How Do You Use OCSUMUtil?

Instructions for its use in a Lync Server 2013 deployment:

When you implement Unified Messaging, you’re essentially connecting Lync Server and Exchange Server together. They will coordinate communications data like voicemail, Auto Attendant activity, etc. The PluralSight blog has a good listing of the features involved in Unified Messaging. I’ll give more detail on this topic later.

By using the OCSUmUtil tool, you’re facilitating the creation of connections between Lync Server and Exchange Server. It’s not the central component of integration, but it’s very important to Subscriber Access (which allows people to access their voicemails) and Auto Attendant (which answers & redirects certain calls for you).

You’ll run OCSUMUtil from the /Support/ subfolder on the computer where you installed Lync Server. When the tool is open, you’ll click ‘Load Data’ to find your Exchange forest.

See for the full image.

  1. In the SIP Dial Plans list, select the UM dial plan for which you want to create contact objects. Click Add.
  2. In the Contact box, either use the default organizational unit, or click Browse to search for another one with the OU Picker. I’ll presume you want to use the default, since most admins will.
  3. In the Name box, either accept the default dial plan name or enter a new one. (For example, if you’re creating the Subscriber Access contact object, name it “Subscriber Access”.)
  4. Enter a new SIP address for the contact object in the SIP Address box (or accept the default).
  5. In the server list, select the server where you want to place the contact object (either Standard Edition or Enterprise Edition’s Front End pool).
  6. In the Phone Number list, select “Enter phone number” and enter a standardized phone number.
  7. Select the type of object you want in the Contact Type list.
  8. Click OK to finish creating the object. Repeat these steps for any more contact objects you need to make.

For another perspective, see the Lync and Exchange UM Integration post by Jeff Schertz. As is his usual, he talks in good step-by-step detail about using OCSUmUtil in the course of a Lync Server 2010/Exchange Server 2010 integration.

Potential for Error

While you can encounter an error just about anywhere, I noted in my research that OCSUMUtil has a higher-than-average potential for error. If either Lync or Exchange UM are not properly configured prior to using OCSUMUtil, it will give an error. Also, if you configure OCSUMUtil incorrectly, it will error out.

Handy for troubleshooting, but it does mean you have to go back & fix things. I haven’t personally encountered an OCSUMUtil error, but searches have told me of a couple types:

  • If you select the Director (or the Director is selected by default) in Step 5 above. It must be a front end server.
  • If there is no number (or an incorrectly-created number) in Exchange for Auto Attendant or Subscriber Access.

Next time, I’ll blog either about our last connection tool, Online Directory Synchronization…or some hands-on updating work. Check back here next week to find out!

Have you encountered an error while using OCSUmUtil? Or did it go smoothly? Either way, share the experience with us!


Addendum: How to Connect Lync Server to Exchange Online (Additional Step)

Yes, we’re still hard at work on this client site deployment. But I do have something for Lync Insider readers to chew on!

Never let it be said I’m not willing to admit when I missed something. And miss something I did, on this post:
How to Connect Lync Server to Exchange Online: Part 1

A reader, Patrick, asked for clarification.

Where you said, “Where I’ve inserted “” – for the Identity and ProxyFQDN parameters – enter the URLs for your Exchange Online setup” in the article, where do I get those values from, the Identity and ProxyFQDN parameters?

For reference, the point he’s referring to is under Point C) Configure the Edge Server for integration.

Here’s the additional step, for Lync Server 2013 users.

How to Locate the Identity and ProxyFQDN Values in Office 365’s Server Setup

(Information is partially taken from this page: Manually Configure Outlook to Connect to Office 365 –

In order to connect to Exchange Online, you must acquire the primary Exchange 365 host address from your Office 365 setup. Finding them is not difficult:

  1. Go to and click the Office 365 tab.
  2. Select “Outlook Anywhere (RPC over HTTP)” in the Microsoft Office Outlook Connectivity Tests. (The “Exchange ActiveSync Autodiscover” test may also work for you.)
  3. Fill in your credentials (email address, password) and perform the connectivity test. Use the Autodiscover option.
  4. You should see a line like, “Attempting to ping RPC endpoint 6001 (Exchange Information Store) on server (” in the test results. This long URL is your primary host address, usable for the Identity parameter.

For the ProxyFQDN parameter, use ““.

I’ve updated my original post with a link here. Should be everything you need (now) to connect Lync to Exchange Online.

Patrick, thanks for the conversation. Glad we were able to help!


Exchange Server 2013 CU1 is Coming Soon

While updating our monthly newsletter, I came across a blog post that told me the release date for Exchange Server 2013 CU1. Finally!

If you’re a server administrator, chances are you’ve been waiting too. Good news – you only have to wait one more week.

What is CU1, and why are we waiting?

Short version is, CU1 enables coexistence with older versions of Exchange.

Microsoft released Exchange Server 2013 for new installations already. But in order for administrators to migrate user accounts from, let’s say Exchange 2010, you’d need two additional pieces of software:

The two pieces interlock, letting both Exchange Servers communicate back & forth.

We have 2010’s Service Pack 3 already. We’re waiting on 2013’s CU1.

When was CU1 expected?

Microsoft said they’d release in Q1 of this year. No specific date, just “1st Quarter”.

Since we’re at the end of March, Q1 is passing by. People have clamored for CU1, waiting patiently (and some not-so-patiently) for the update that will let them finally upgrade to Exchange Server 2013.

CU1’s Current Status: Release Planned for April 2

According to the Exchange Team Blog…
Exchange 2013 RTM CU1 Status – Exchange Team Blog
CU1 will release April 2nd. Next week.

They found an issue, and chose to delay release so they could fix it. Their reasoning is sound; if you find an error, fix it before releasing the product. That way you’re only burdening customers with a slight delay, not a configuration headache.

One of the post’s comments says that documentation for upgrading & coexistence with Exchange 2010 will be released the day after, April 3rd.

You’ll find both Cumulative Update 1 and its documentation (the next day) at the Microsoft Downloads Center.

We’re cautiously optimistic that we will indeed see CU1 RTM on the 2nd. If so, great–we have a few Exchange migrations waiting on it! I’m sure many of you are eagerly awaiting the release too. Let’s all hang on just a little bit longer.

If you’re preparing to install Exchange 2013, use this:
Now Available: Exchange Server 2013 Deployment Assistant – Exchange Team Blog
The Deployment Assistant will help you plot out instructions for deploying Exchange in your organization.

Please note, it’s limited in its current options to new installations. Right now, the deployment scenarios “Upgrade from Exchange 2007” and “Upgrade from Exchange 2010” are listed as Coming Soon. Hopefully they’ll arrive in time with CU1.

EDIT:  Exchange Server 2013 Cumulative Update 1 has been released, as of April 2nd. Released: Exchange Server 2013 RTM CU1 – Exchange Team Blog
However, the Exchange 2013 Deployment Assistant has not been updated as of today. Upgrade scenarios are not available (yet).

Next week I’ll have my annual field report from the Cloud Connect Expo in Santa Clara. Dozens of major vendors with new cloud services and products.  Are you attending? If so, look for me in a PlanetMagpie polo. I’d love to chat!


Unified Messaging in Exchange 2013: What's Changed?

Let’s talk a little about Unified Messaging.

Those of you who use Lync Server 2010 know that Unified Messaging is an Exchange Server role, designed to interact with Lync. It’s what allows users to access voicemails left via Lync calls in Outlook. It even provides a decently-accurate transcript of what the caller had to say (called Voice Mail Preview).

Exchange 2013’s version of Unified Messaging is more or less the same thing. What’s different is how it accomplishes its task.

Unified Messaging Now a Component, not a Separate Server

Exchange Server 2013 runs in a different fashion than Exchange 2010. 2010 had multiple server roles, each handling specific functions (Hub Transport, Client Access, Mailbox, UM) on dedicated servers. A lot like Lync, right?

For 2013, Exchange has slimmed down. Thanks to stronger CPUs and better server architectures, it no longer needs to divide its functions so much. All Exchange 2013 needs is two servers – Client Access and Mailbox.

The former Unified Messaging role is now a built-in component, split between these servers.

Exchange 2013 UM Builds on Past Versions

UM still provides each service its predecessor did – voicemail collection, Voice Mail Preview, transcription, voicemail messages sent to Outlook, call answering rules.

The changes are beneath the surface.

Voicemail Collection: In 2013, the Mailbox server doesn’t answer SIP requests from incoming calls. Client Access does. Mailbox just receives SIP from Client Access when warranted, and then connects to the gateway (or PBX) to take down a voicemail. This cuts down on delays and collection time.

Voice Mail Preview: One enhancement here I really like – better audio normalization. Ever received a voicemail where it sounded like the caller shouted one second, and whispered the next? Exchange 2013 UM fixes these ups & downs in pitch (or “normalizes”) before it sends the voicemail to your inbox.

Transcription: Improvements to speech recognition make for more accurate transcriptions. Plus, you can tell Exchange to improve its speech recognition further by analyzing voicemail messages.
(How? Use the Set-UMMailbox cmdlet. Set its VoiceMailAnalysisEnabled parameter to $true.)

Voicemail Messages in Outlook: Exchange 2013 has introduced a Confidence Score, which gives a number to indicate how accurate its transcription is. If it can’t transcribe the caller’s message well, you’ll see a low confidence score (and the preview may even be omitted).

Call Answering Rules: You don’t need to associate a dial plan to a UM server object anymore. You just associate the Exchange 2013 servers to the plans, and they handle the calls.

The Value: It’s Still Voicemail, Just Better

With respect to Lync, Unified Messaging in Exchange 2013 still fulfills the same role its 2010 predecessor did. Collection/transcription of voicemails, identify callers, and maintain a contact store.

The value is in better performance on fewer servers. Consolidating roles between two servers makes for an efficient approach. Client Access helps lower traffic to Mailbox, so it can do its jobs faster.

Which is great for sysadmins; a (hopefully) shorter setup time, and easier integration with Lync Server.

What do you think? Is Exchange Server 2013 a right-away upgrade for your office…or will you wait and see how it stacks up?