Update – 30/04/2018 – Minor changes
UPDATE – 13/01/16 – Further updates and some tasks removed. Also note this does not contain any information for configuring Cloud PBX using UM in O365.
UPDATE – 10/06/15 I have also tested this configuration with Skype for Business and Exchange 2013 SP1 RU5 Hybrid with the current Office 365 wave.
I recently was working with a customer who had Exchange 2010 SP3 on premise but wanted to move all the functionality onto Office 365 whilst keeping Lync 2013/SfB 2015 on premise as this was the companies telephony system. No sweat I thought, well this blog is a list of my findings and how to actually get it configured. We will start with Voicemail and then discuss Auto attendant later on.
Lync 2013/SfB 2015 Enterprise Voice On Premise – Exchange 2010 Sp3/ 2013 CU11 Hybrid with The New Office 365 tenant (Wave 16)
First of all open up a PS shell on your Lync/SfB FE on premise then run:
- Set-csaccessedgeconfiguration –allowfederatedusers $true
- New-CsHostingProvider -Identity “Exchange Online” -Enabled $True -EnabledSharedAddressSpace $True -HostsOCSUsers $False -ProxyFqdn “exap.um.outlook.com” -IsLocal $False -VerificationLevel UseSourceVerification
- Get-csmanagementstorereplicationstatus ( to ensure replication has occurred between all Lync/SfB servers make sure they all say true before moving on)
- Get-cshostingprovider -localstore to show the following
- Set-CsAccessEdgeConfiguration -UseDnsSrvRouting -AllowFederatedUsers $true -EnablePartnerDiscovery $true
- New-CsHostedVoicemailPolicy -identity CloudUM -Destination exap.um.outlook.com -Description “Office 365 Voicemail” -Organization “tenantname.onmicrosoft.com” (Ensure you use the tenant name and NOT your on premise domain otherwise the traffic will not route and this will not work)
Log onto the O365 Wave 16 tenant
Go to Unified Messaging > UM Dial Plans > New
Then Edit the Dial Plan > Configure
For this you should try and match the company’s on premise configuration so that it matches but below is an example:
Under the Outlook Voice Access numbers also add the number without the E164 format and any shorter version such as 3/4/5 digits.
Then on premise Lync 2013/ SfB 2015 you need to create the Exchange UM Contact for O365 within Lync/SfB Powershell
- new-csexumcontact -displaynumber +44203XXXXX –sipaddress SIP:EX_UM_365_SA@yourdomain.com -registrarpool yourpool01.youcompany.com -ou “OU=User,DC=yourcompany,dc=com”
- Grant-cshostedvoicemailpolicy –identity “post the GUID that has been created” –policyname CloudUM
Then switch to Exchange Online Powershell
- Set-UMmailboxpolicy -identity “Policy Name in O365” -SourceForestPolicy “On Premise UM Policy Name”
Then finally on your on premise Exchange 2010 SP3/ Exchange 2013/2016 server (Note this is only if Unified Messaging is already configured on premise so that when you migrate a UM mailbox it doesn’t fail otherwise if you don’t run this step the remote move request will fail)
- Set-UMmailboxpolicy -identity “On Premise UM Policy” -SourceForestPolicy “Policy Name in O365”
The Very last step is to configure the user. Now if you are setting up UM brand new then carry out the following steps but if you are migrating a user then ONLY carry this out after the user has migrated to Office 365 or you have suspended the move before completion. As otherwise UM will route to the cloud and until the mailboxes exists the voicemail message will never be delivered to the end user. As you cannot have a split UM in cloud and mailbox on premise and vice versa.
Within Lync 2013/ SfB 2015 PowerShell
- Grant-cshostedvoicemailpolicy –identity “accountname” –policyname CloudUM
- Run get-csuser –identity “accountname” and check that hostedvoicemail is set to true if not run the following command.
- Set-csuser –identity “youraccount” –hostedvoicemail $true