With Telephony / Enterprise Voice enabled in a Skype for Business of Lync on-premises environment, one of the requested features could be Voicemail.
In full on-premises deployments this will require Unified Messaging to be installed, configured and enabled in the Exchange Server topology.
However, when your environment or customer makes use of Office 365 for Exchange functionalities as E-mail, Unified Messaging of Office 365 could be leveraged and your Lync or Skype for Business topology will be updated to a true “hybrid” situation!
This particular hybrid deployment is nothing new, as it is possible since Lync 2010 already; however, this blog posts reflects the changes and describes the situation as it is of now.
Requirements for this hybrid model are as follows:
- Lync 2010, Lync 2013 or Skype for Business on-premises environment;
- Edge Server deployed, where it is allowed in your company policy to create and make use of a new “public provider”;
- Fully functioning Office 365 Tenant, where to-be voicemail-enabled users need Exchange Online Plan 2, E3 or higher licenses;
- UPN, SIP and E-mail addresses to be similar and/or synced
No Azure AD Sync or Identity Management are required; though come in handy of course.
The deployment of this functionality will exist of three parts:
- Create UM Dial Plan in Office 365 Admin environment;
- Create or change Hosted Voicemail Policy in Skype for Business;
- Enable user(s) for Voicemail in both Office365 and Skype for Business.
Part 1: Unified Messaging Dial Plan
For a start, we will log on to the Office 365 Admin Portal, and browse to Admin > Exchange.
Here, at the bottom-right, at “unified messaging” choose ” UM dial plans”.
You probably see an empty list of dial plans. Create a new one by pressing the “+” sign” and fill in your details:
- Name is for identifying purposes only;
- Extension is required, if no extensions are used choose the amount of digits to be able to give everyone an individual extension;
- Dial Plan type is SIP URI;
- Audio Language is used for automated Voicemail prompts etc.
- Country/region code where you will use this dial plan for.
Save this dial plan, and adjust to your likings. For instance, when you want to enable your users to dial-in to listen to their voicemail (other than using Outlook or Skype for Business clients), you’ll have to specify the ” subscriber access” number:
(Pencil > configure > Outlook Voice Access)
When done, save and exit. Part 1 done!
Part 2: Federation and Hosted Voicemail Policy
Next step in the process is to make Skype for Business aware of Voicemail in Office 365.
For this we will need to create a new “Hosting Provider” and “Hosted Voicemail Policy”.
For the Hosted Voicemail policy, simply execute the following PowerShell command on any Skype for Business server and/or adjust it to your likings:
New-CsHostingProvider -Identity “Hosted UM” -Enabled $True -EnabledSharedAddressSpace $True –HostsOCSUsers $False -ProxyFqdn “exap.um.outlook.com” –IsLocal $False -VerificationLevel UseSourceVerification
Now we can choose: either create a new (user-scoped) Voicemail Policy or edit the Global policy; In this example, we adjust the Global Voicemail Policy. Then we don’t have to assign this policy to the individual users, as we will explain later on.
Let’s break down this command:
-Identity Global (to identify we’re adjusting the Global policy)
-Destination exap.um.outlook.com (this is the destination for Exchange UM in Office 365)
-Description “Hosted voice mail policy in Office 365” (any description to identity the policy)
-Organization “<org>.onmicrosoft.com” (this will need to reflect any authoritive domain in your Office 365 tenant. Usually the *.onmicrosoft.com domain is a good choice, check the admin portal > domains to identify your authoritive domains)
But…if you have chosen to enable Subscriber Access to voicemail, we’re not quite there yet – we will need to create a new Contact Object for this using the following command:
New-CsExUmContact -SipAddress sip:UMSA@<sip-domain> -RegistrarPool <FQDN Registrar Pool> -DisplayNumber <E.164 Number>
And, when using a “user-scoped” Voicemail policy, this will need to be assigned:
Grant-CsHostedVoicemailPolicy -policyname <policyname> -identity <identity>
Part 3: Enabling users for Voicemail
Last but not least we will now need to enable our users for Hosted Voicemail. This is done in two (or three) steps:
1. Enable the user in Exchange Online for Unified Messaging.
This can be done by going in Office 365 Admin Console to Admin > Exchange, Recipients.
Select the intended user and click “enable” at the “Phone and Voice Features” section at the right (user) pane:
Now select the one (and only) UM Mailbox Policy, and next:
Last but not least, choose the individual users settings. Make sure the Extension is similar as in Skype for Business or at least unique to other users. Also define a PIN for the user or let it generate one;
Note that the user will receive a welcome e-mail when pressing Finish. OR if you get an error on this stage, it could be because the intended user is not assigned a valid Office365 Plan (E3 or Online Plan 2 or higher, remember?).
2. Actually enable voicemail (forwarding to Office 365) in Skype for Business
Now we’re done at the Office 365 part, we will continue in PowerShell on the Skype for Business server.
When we have defined a “user scoped” Voicemail Policy, let’s first assign this:
Grant-CsHostedVoicemailPolicy -identity sip:<sip address> -policyname <policyname>
Run the following command to make S4B aware that we have enabled Office 365 UM for the intended user;
Set-CsUser -identity sip:<sip address> -HostedVoicemail $True
Repeat this for all users (or bulk script it) and you’re done!