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

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”;

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:

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:

Set-CsHostedVoicemailPolicy

-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)

-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)

Job’s done!

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:

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: