Following on from my Exchange 2013 OWA and Lync IM integration guide I thought I’d turn my attention to the Exchange 2013 UM service and Lync integrated voicemail. For my previous blog post see here
Exchange 2013 has split the UM service across both the Front End and Back End roles. In the following blog I have the roles split – but if you have the roles co-located you still need
to perform each step.
Whilst the Back End officially has the UM role as part of it’s colocation of all role services (Mailbox, Client Access, Hub Transport and Unified Messaging), the Front End actually has a UM service called the UM Call Router Service. This is effectively a proxy for UM calls to the Back End servers. For a full breakdown of Exchange 2013 Unified Messaging take a look at the TechNet article “What’s New for Unified Messaging in Exchange 2013” located here
On top of the new UM service and the breakout of services between the Front End and Back End servers, some of the commands have also changed from Exchange 2010.
Running Get-UmServer on Exchange 2013 no longer works
Firstly note that Get-UMServer has been depreciated. It has been superceeded by Get-UMService
and there is a new set of commands for the UM Call Router service. In fact take a look at the updated parameters and new cmdlets here
So as promised here’s a guide on setting it up from start to finish on setting this absolutely wonderful feature between Lync and Exchange up.
1. Create a Dial Plan. This can be created in the EAC (Exchange Admin Center) but is performed in Powershell here. Note: it still appears to be a requirement to have your Exchange UM Dialplan names matching any Lync Dialplans you have created.
New-UMDialPlan –Name ‘Name’ – URIType SipName –Numberofdigitsinextension ‘x’ –countryorregioncode ‘xx’ –AccessTelephoneNumbers +00123456789
2. We assign UM servers using the ‘Set-UMservice’ cmdlet
Set-UMService –identity ‘SERVER’ –DialPlans ‘Plan Name’
Perform this for the rest of your Back End servers that require to be in this Dial Plan. If you have created the Dial Plan in EAC and not used Powershell as I have, you will have to click on the Servers in the EAC and then specify Unified Messaging to add them to a Dial Plan.
We now need to set the UM Service Startup mode to either ‘dual’ or ‘tls’. This can be performed in the EAC or Powershell. We need to ensure each Back End Server has a certificate that can be used to secure the service. Please see my last blog post here
for setting this up.
In Powershell set the startup mode using Set-UMService
Set-UmService –Identity ‘SERVER’ –UMStartUpMode ‘dual _or_ tls’
Again note the need for the certificate. Perform this action on all required Back End servers. As a side note I did say you can do this within EAC. Login and go to:
Servers | Your Server | Unified Messaging | Set the ‘UM startup mode’:
We now need to ensure the certificate for the UM service has been assigned to the UM service.
Enable-ExchangeCertificate –thumbprint ‘thumbprint’ –services UM
Repeat this for all Back End servers. If you do not set the certificate for UM then the UM service will be in a constant state of restarting when proceeding to the next step.
We need to know restart the UM service, again do this for all Back End servers that we have configured in steps 3 and 4. You can restart the Microsoft Exchange Unified Messaging service in Services under Server Manager or use Powershell. Note if using Powershell you will have to be running a ‘run as Administrator’ session or this will not work.
We also need to assign certificates to the UM Call Router service that is on the Front Ends.
Enable-ExchangeCertificate –Server ‘SERVER’ –thumbprint ‘thumbprint’ –services umcallrouter
This one threw me originally as I kept trying to enable it for UM – and that kept failing, until I realised through the help of the ECP that it has been renamed for the FE role. Be aware that you can assign the cert for a Front End for the UM Call Router Service in the ECP.
Restart the service, again you can use Restart-Service, however the service name on the FE is msExchangeUMCR. So:
Finally we need to add the Front Ends to the Dial Plan also. This is done using the Set-UMCallRouterSettings
cmdlet – different to how we have done it above for the Back Ends.
Set-UMCallRouterSettings –server ‘SERVER’ –DialPlans ‘DialPlan’
Ensure this process is completed for all Front Ends.
It is absolutely imperitive that you add Front Ends that hold the UM Call Router service to the Dial Plans otherwise UM will not work. This is the proxy service that routes the calls to the Back Ends.
Also be aware that there is absolutely no way to do this in the ECP that I could see, so this must be performed in Powershell.
We now need to run exchucutil.ps1 which is in the scripts directory in the Exchange 2013 install path. Run it from a Back End server.
Run it within the Exchange Management Shell .\ExchUCUtil.ps1
it should complete successfully.
We now need to run OCSUMUtil.exe, this is in the script support folder on a Lync server within “\Common Files\Microsoft Lync Server 2010\”
Once it has loaded click on the Dial Plans and then click on ‘Add’, this will create a contact as shown:
Ensure the number is correct and matches the number you entered for the Exchange UM Dial Plan in step 1. Repeat this process for each Dial Plan you want to merge
. Also be aware that should you ever add new Dial Plans or UM Servers repeat steps 9 and 10 to configure them with Lync.
That’s it! Configuration is completed and voicemail integration between Lync 2010 and Exchange 2013 UM should be working.
As you can see it is wildy different in setting up UM on both the Front End and Back End servers, but the process does share some similarities with Exchange 2010. We still need to set the UM service to dual mode or TLS and assign a certificate, the Unified Messaging role has to be a member of a Dial Plan and we still need to run ExchUCUtil.ps1 and OcsUMUtil.exe
In a further blog post coming this week I’ll move on to adding Language Packs for Exchange 2013 Unified Messaging. In the mean time you can download them here
Oliver Moazzezi - MVP Exchange Server