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 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 Enterprise Voice On Premise – Exchange 2010 Sp3 Hybrid with The New Office 365 tenant (Wave 15)
First of all open up a PS shell on your Lync 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 occured between all Lync servers make sure they all say true before moving on)
- Get-cshostingprovider -localstore to show the following
- Set-CsAccessEdgeConfiguration -UseDnsSrvRouting -AllowFederatedUsers 1 -EnablePartnerDiscovery 0
- 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 15 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:
Then on premise Lync 2013 you need to create the Exchange UM Contact for O365 within Lync 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”
Then finally on your on premise Exchange 2010 SP3 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 spilt UM in cloud and mailbox on premise and vice versa.
Within Lync 2013 PowerShell
- Grant-cshostedvoicemailpolicy –identity “accountname” –policyname CloudUM
- Run get cs-user –identity “accountname” and check that hostedvoicemail is set to true if not run the following command.
- Set-csuser –identity “youraccount” –hostedvoicemail $true
Finally force dirsync and then if the account in 365 doesn’t show unified messaging enable set then set it within the Exchange console in 365.