Wednesday, November 4, 2015

File Share Perfomance for Skype for Business

Once more first.
Really make always sure your environment is patched and up to date.

Just what we experienced during certain Skype for Business Updated, as well as support cases is:
- Migration is slow
- Join Conferencing experience is slow
- Address Book generation is slow
and more

This is, if the Fileshare is not fast enough. What does this mean:
You should ensure the IOPS as well as the network throughput is sufficient and not the bottleneck in your environment.
Do a measurement on the file servers, see what is happen if DFS replication is kicked in, check if this is share file server, whats happen if other app's access the shares and monitor the IOPS/ bandwidth.
Just this is not all, also just perfmon for CPU load, and Memory especially paging.

If you experience slow conference joins, it will be the issues, mostly.
(Sure the local SQL server also consumes performance on the Skype for Business Frontend Server)

Broadcast Meeting Web View and App View

(v 1.0, 4th Nov 2015)

Today I'm digging deeper into Skype for Business Broadcast Meeting.
As its not all about video, the presentation side is important. how to make PowerPoint visible to the audience.
Also it is easy to handle?
How is the user experience when a user joins via a webbrowser?

Simply said it is excellent.

If you need to understand how setting up a meeting, please follow my last blog article: 

Have a look and I explain what to do and how to use it.

If you join as an authenticated user and being part of the Presenter Team, the browser checks the Desktop App and will ask you for access permission.

As usual, if you click the "Monitor" button, it give you the option uploading a PowerPoint file and als manage the content. Once it is uploaded it is show in the preview windows, where you can also use the PowerPoint Tools e.g. the marker or others.

Next step is the Broadcast activation, meaning you need to start broadcasting to the participants. which you do by clicking the broadcast meeting button on the right.

Soon clicked, the broadcast is activated and streamed to the audience. From here you follow the same principals as you did with the common / classic Skype for Business Meeting or Lync Meeting.
Whats about Bing Pulse or Yammer?
Wenn this is managed outside the meeting right now. You need to login to Yammer and start the Social Media part from there. This is good and make it more understandable, that if you are hold a lagre meeting, please make sure do don't do it alone. You need support from multiple person. This is even different from a "normal common meeting".
The audience joining the meeting now see the following.
First if you join, the experience is different, no Meeting Lobby is here, you simply join based on the meeting join permission set earlier. (Maybe later a temporary picture can be presented here). 
As described in the upper chapter, once the presenter team started the meeting, meaning start the broadcast, the PowerPoint is streamed to the attendees. and the will see the presentation listen to audio and see the video.
Yammer as I had configured first during the meeting setup is presented now in the right frame. ere all action will be show. I had have Yammer group right now associated with my test account. But it is self explainable how this will work. 

Tuesday, November 3, 2015

Setup Broadcast Meetings in Skype for Business

(Version 1.0: 3rd Nov. 2015)

First I start with, broadcast meetings are in an very early stage and introduce only a handful of planned and great feature still coming. Therefore I ask you to read this article frequently seeing the updates will I can blog about.

Microsoft introduced Skype broadcast meeting as an individual service aside with Office 365. It requires a dedicated login under:

You can use Skype Broadcast Meetings in both scenarios:
- Office 365 only (Skype for Business is 100% in the cloud)
- Hybrid Setup

Required is:
- Azure Password sync or ADFS

The Broadcast meeting relays on the Azure Media Services and must be delivered online.

From here we are entering the main managing page for broadcast meeting:

As you see, the scheduled meetings are visible at this level. They will appear in the three column design. Simply if you need to schedule a new meeting, click the "New Meeting" option and start configuring it.

Here going define the meeting.

The Time Zone is define here as the time zone your computer/ device is configured with.
- Title of the meeting
- Meeting time and duration (which actually doesn't matter)
- The Event Team, the team managing the meeting. e.g. starting the broadcast or handles the IM and Q&As and more
Note: The members must be a Office 365 enabled and license assigned user from your tenant.

Going further, the Attendee setup will be defined. Right now at this time, the three options are available. IF you configure e.g. a not valide user, it will show this and mark the user in red.
Here this user (marked red) is not part of the actual Office 365 tenant.

Access options:
- Anonymous: everyone who knows the "join link" can join this meeting.
- Secure: only defined users from our tenant can join
- All Company: here the users with in your tenant can join.

The Video recording, enables you the recording an later the publishing on Azure Media Services.
Right now you cannot truncate any of the video.

Configuring the advanced features:

A meeting can require more defined/ individual settings. If you need the Audience app having a different view and better a different Social Content Access (either BING or YAMMER) you will have to configure this here.
More than, the URLs you like to have presented to the Attendees is focusing on a Company Identity. You set the Troubleshooting/ Support URL and or the Customer join link.

As already said the APP used for managing social media can be defined as YAMMER or BING PULSE:
You can define it for up to 2 app's.

As you are familiar with YAMMER, I have provided the definition for the YAMMER APP. Just provide the Group information you have previously defined in SharePoint (Yammer). Letting your audience get in touch with you during the meeting.


After your configured the meeting, you can actively show the JOIN MEETING URL.
Just now copy this URL and setup manually a OUTLOOK meeting with the copied link, send it to the audience which should join your meeting.

 Joining the Broadcast Meeting:

I will only provide the important new and experiences users. How to join a Skype for Business meeting should be quite clear and didn't change here, especially the part of how to activate audio/ video in Skype for Business Client.
Once you click the link to join the meeting, you will see two different webpages, depending on the client (if you have desktop app) and if you are join a meeting in your organization or an external meeting.
Internal Meeting, same Org:

External Meeting, different Org:
You client will be connected to the meeting, if you have installed one. Else the web based client will be started.
As usual we active e.g. our own video:
(same applies for the PowerPoint Content)

Now we come to the point starting the video broadcast.
Therefore you need to RIGHT click your video:

Your video will now be set active:

Form there you have to click the "Start Broadcast" button with led you to finally broadcast it.

Here we are:
The broadcast is live and 10.000+ user can follow you

Tuesday, October 20, 2015

Skype for Business and SQL Server 2014 licensing

With Skype for Business Server 2015, the usability for SQL Server has advanced once more.

We have now a couple of possibilities. Today I'm going to discuss all of them and will advice the actual licensing strategy based on SQL Server 2104 in regards to Skype for Business Server 2015 recommendations.

The general licensing guides are available here:

One generic topic I have to discuss first. In many cases we are using Hyper Visor technologies, meaning the SQL servers are virtualized. Here one important consideration you should keep in mind.
If the SQL Server is virtual AND you use CPU CORE licensing, you can run as many virtual SQL on a single PHYSICAL host as you want. You only need to license the physical CPU of that host.
This applies to all physical hosts uses.
Say you have 3 VMWare/ Hyper-V physical servers, and you run three SQL server. You will position 1 and 2 on 2 physical hosts only (not on the third one), you only need to license 2, instead of 3 SQL servers

Why I mention this is, you need to unterstand that the licensing model and might be adjusted with the described scenarios if you run SQL virtualized. You might save costs if you position SQL servers optimized within a virtual environment.


Please consult the actual licensing guide if you license pro core. It is a difference between physical and virtual CPUs.
Additionally, there is FACTOR you need to consider the core license counts, based on the CPU type.
The minimum core license is:
physical CPU Core        -> min 2 CORE Licenses
virtual CPU Core (VM) -> min. 4 CORE Licenses

Licensing general terms based on Microsofts advanced licensing description:

 All SQL Server version provide high availability feature as clustering (only two-node), backup log shipping and  mirroring.
Always On (advanced HA feature) is only available in the Enterprise Edition. Additionally this includes support for multiple, active (readable) secondary servers, as well as for multi-site failover clustering.
in Skype for Business Server 2015, it is important to remember that a Multi-Site Pool Failover is not supported within a single Pool. Only Pool Paring is supported. Therefore I don't recognize any multi-site failover scenario for SQL in regards with Skype for Business.

Especially for Always On, but for other scenarios too, per active SQL server the equal number of passive SQL server is free of charge. You need to name the server, list it in your assessment sheets, but do not need to pay for those server a licensing fee.
Passive means in the licensing terms: TRULY PASSIVE.

Truly passive mean and do NOT allow for example the following services:
  • Reporting
  • Backup
  • Running procedures

In case of say a setup, were you run an Always On configuration and have one active and two passive node, e.g. in two different physical location. you need 2x SQL server licensed and 1x don't requires a license.
Even this is not a scenario wich you will consider with Skype for Business.

Core license:
You need to count the v-host with the most CPU in any case. Explaining, only the vCPU (virtual CPU) are counted.

Explaining a license shift:
In the even of a failure, where the passive, the secondary node becomes active, the assigned license is automatically (dynamically) moved to the secondly node. (Named: License Mobility with Server Farm SA Benefit) 

Remember at the end, you require an active Software Assurance contract for those setups:
Failover Servers: SA customers are allowed to run passive SQL Server 2014 instances on a separated OSE or server for high availability.

Finally we can have a look into the possible Skype for Business Backend Server recommendations.

1. Scenario - SINGLE SQL Server

Well this scenario is may be suitable for a Test LAb, but not for production.
Just for licensing, you only need to license:

2x SQL Server 2014 Std/Ent per Core or Server

2. Scenario - Clustered SQL Server

Still a common scenario, you should consider the availability for your storage. But say assuming your storage ist redundant, even maybe mirrored, this could be still a very suitable scenario.
As its the best description for a cluster, the failover clustering is not on the database level, it is on the server level. Meaning the SQL Server themselves are clustered.

2x SQL Server 2014 Std/Ent per core or server

3. Scenario - MIRROW SQL Server (without witness)

This is the first setup, where we do not have a server cluster itself, we mirror the database. Meaning we log ship the primary database to a secondary (only secondary) database.
The high availability is based on the database itself!

But in this setup, in the event of a server or database failure on the primary node, the database will NOT switch automatically. We have not witness and we have to initiate the switch manually.

1x SQL Server 2014 Std/Ent per core or server

4. Scenario - MIRROR SQL Server (recommended)

Here it come with an fully automated failover setup. The principals are still the same as describe in scenario 3, but we utilize a third server as witness. Therefore a systems can recognize a failure and identify a possible split brain issue.

1x SQL Server 2014 Std/Ent per core or server
1x SQL Server 2014 Express Edition (free of charge) 

5. Scenario - ALWAYS ON SQL Server

Why we don't need a witness (quorum) an SQL?
The Always On configuration relies on WSFC (Windows Server Failover Clustering) and here we must have a FileShareWitness configured. So the Witness is the Share not a dedicated Server an more.

1x SQL Server 2014 Enterprise per core or server

Monday, October 12, 2015

Wildcard Certificate Support in Skype for Business

Coming back to the most common question about certificates in Skype for Business and Lync Server.

Can we use Wildcard Certificates in Skype for Business or Lync Server?

Simple answer is: YESNO

First lets have a look into a certificate:

A Certificate has a Common Name (CN) and Subject Alternative Names (SAN)
A classic wildcard certificate is a certificate where the CN look like: CN=*

In Skype for Business the main reason for certificate use is TLS/MTLS data encryption and the other point it the server authentication/ validation. Skype for Business is using the Common Name CN for authentication/ validation trusts. Only if a server with in the Topology or for Federation purposes presents a valid certificate with its matching Common Name (CN) the entire traffic can be used with TLS/MTLS.

Therefor we understand a CN identified as FQDN of the Server or the Pool is RECOMMENDED!

A valid SAN Wildcard certificate could look like this:


A dedicated article to Skype for Business does not exits yet, you have to refer to: Environmental requirements for Skype for Business Server 2015. It will address the same issue in the same way as it was with Lync 2010 and Lync 2013.


Please carefully consider the use of a wildcard certificate. Even if you figure out the CN wildcard certificate is working, due to the feature required and named above it is NOT supported. Therefor make use of SAN wildcard only. Some other interface like the internal Edge NIC for example do never support a wildcard, also not if this is defined optional.

If you follow a simple advice, make use for wildcard certificates ONLY on the Reverse Proxy and NOT on the internal / Edge servers at anytime.

as reference:
Lync 2010:
Lync 2013:

Skype for Business Server 2015:

Exchange UM and UC Integration is not covered in this article yet. Please check with your Exchange department first if they support wildcard.

Wednesday, August 12, 2015

Skype for Business File Share: Failed to save permissions during Topology publishing

While your are installing and publishing a Skype for Business Server 2015 Topology, you have to create a File Share for all important services.

In this example the File Share is located on the same server which will later host the Skype for Business Standard Server. But in larger or other setup, where the File Share is located on SAN, DFS or File Cluster, you might experience the same issue.

File Share and Folder Prerequisites:

The share name can either a normal share as well as a administrative share$

Share Permission:


Folder (Security Settings):

SYSTEM and CREATOR: must be Windows Server defaultInstalling user: FULL CONTROLlocal Server Administrators: FULL CONTROL

Skype for Business Topology Builder:

Must be started with: "Run as administrator"

Example and problem description:

This example applies to a Windows Server 2012 R2, where we are installing in Single Domain Forest with an Domain Admin. The Domain Administrator Group was placed in the local Member Server Groups for Administrators.

Next step I personally do is setting the User Access Control UAC to NEVER, meaning switching it off entirely.

Next step after defining the Topology is going to publish it, either with the PoC's Standard Server or with the Primary Pool associated SQL Backend Store.
Doing so resulted in the describe issue below:

Role: FileStore:1
Acl: "Accesswrite" permission for "RTCHSUniversialServices" on \\fileshareServer\SkypeShare$
Acl: Committed permission changes for \\fileshareServer\SkypeShare$\WinFabDumpFiles.
ACLError: Access permission error.
Error: Failed to save permissions on \\fileshareServer\SkypeShare$

The funny part is, that most of the Directories where created successfully during this point.
Next important check are link with Lync 2013 the share permission, well EVERYONE is READ, and the local ADMINISTRATORS have FULL CONTROL, CHANGE and READ
Next to share permissions, we also have to check the file/ folder permission. Here the Admin we logged on with can normally stay in the permission for file7 folders, just as a test we removed the administrator from the tap.
This resulted in the normal issue with Windows Server 2012 and 2012 R2, where the Access Control prevents the user/ admin accessing this folder. Once you click the Continue button, the admin will be part of the permissions again.
Therefor I DID NOT ADD the ADMIN the permissions!
Than we executed the Topology publishing task again and ran in a very interesting issue:
Role: FileStore:1
InvalidFolder: Invalid Share.
Error: Caller does not have required permission to create directory \\fileshareServer\SkypeShare$\WinFabTraceFiles. Verify that your user account has administrative privileges and that you selected "Run as administrator" when your started Windows PowerShell.


 This is a very good hint, but remember we were Domain Admin, local Server Admin and had switched of the UAC.

Finally due to the hint I stared the Topology Builder with the option "Run as administrator"

As expected the Wizard finished without any issue or error.
Once I tried to access the folder for the Skype for Business File Share, the same warning popped up again and I granted access myself.
In the last picture, you can see the correct permission and also the correct groups were set to the file share and folders finally.

Thursday, July 30, 2015

Skype for Business Server 2015 prerequisites (pre role and with powershell script)

For any other pre Skype for Business 2015 versions, e.g. Lync Server 2013 and the different OS, please refer to the old blog article:

Skype for Business 2015 Server Software Prerequisites:

Since the installation of Skype for Business 2015 Server require a modern OS, only the Standard and Data Center version of Windows Server 2012 and 2012 R2 are entitled for an installation.
Both servers having the same prerequisites.
Recommendation for Windows Server 2008 R2 is only give for in-place upgrades.

Required HotFixes Windows Server

(please consider the KB 2858668, KB2982006 and KB2533623 for in-place upgrades and fresh installations)
Windows Server 2012, KB article 2858668. Download.
Windows Server 2012 R2, KB article 2982006. Download.
Windows Server 2008 R2 KB article 2533623. Download.
Not all HotFixes apply to the different rules, e.g. you only need the 2012 R2 KB2982006 on Skype for Business 2015 Server rules, where the IIS is installed, meaning like the Edge doesn't require this hotfix. 
Windows 2012/ 2012 R2

All Server Roles require:

Add-WindowsFeature RSAT-ADDS, NET-Framework-Core, NET-Framework-45-Core, NET-Framework-45-ASPNET,  Web-Net-Ext45, NET-WCF-HTTP-Activation45, Windows-Identity-Foundation, Telnet-Client -Source X:\sources\sxs

(-Source X:\sources\sxs, where X should be the drive/ or network location where your Windows Server 2012/2012R2 Server ISO/DVD is found)

The RAST is not required on EdgeServer, but you can install them without any negative impact

On all Frontend Standard and Enterprise Server:

  •   SilverLight (optional)

Add-WindowsFeature Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client -Source X:\sources\sxs


On all Director:

Add-WindowsFeature Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Asp-Net45, Web-Scripting-Tools, Web-Mgmt-Compat, Desktop-Experience, Telnet-Client -Source X:\sources\sxs

Video Interop Server:

No more additional prerequisites


No more additional prerequisites



No more additional prerequisites


We need Microsoft Message Queuing (Server and Services)
Add-WindowsFeature MSMQ-Services


Additional Information:

Do not install any Winsock Layered Service Providers (LSP) software, on any Front End Servers or stand-alone Mediation Servers. Installing this software could cause poor media traffic performance.
A LSP Software for example it:
Microsoft Internet Security and Acceleration (ISA) Server client software


Lync 2013 Survival Branch Server

(30.07.2015 SBA under Skype for Business 2015 are not yet available, instead we use the SBA Lync 2013)

In this section regarding the SBS (the equivalent "self-build" SBA:), I assume Windows Server 2012/ 2012 R2 is used:
As written, all server role have requirements in common, therefore to realize the SBA has its Registrar, Lync Frontend Service, the same overall requirements are valid too:

All Server Roles require:

  •  Windows PowerShell 3.0 (is installed by default)
  •  Microsoft .NET Framework 4.5 ( Additional Step's after Installation: Select WCF Activation if it isn’t already selected. Then select HTTP Activation, or include in PowerShell
    Add-WindowsFeature NET-WCF-HTTP-Activation45, Web-Asp-Net45
  •  Windows Identity Foundation 3.5 (activate via Server Manager)
    or add via PowerShell
Principally said, it is another Server where you can use the first Windows Feature command line at the top of this article.

Wednesday, July 8, 2015

DID (Direct Inward Dial), Pilot Numbers and Extentions in Skype for Business Enterprise Voice

Pilot Number = single phone number, e.g. caught by a hunt-group
A pilot number is the address, extension, or location of the hunt group inside the PBX or IP PBX. It’s generally a blank extension number or one extension number from a hunt group of extension numbers that doesn't have a person or telephone associated with it. For example, you might configure a hunt group on a PBX or IP PBX to contain extension numbers 4100, 4101, 4102, 4103, 4104, and 4105. The pilot number for the hunt group is configured as extension 4100. When a call is received on extension number 4100, the PBX or IP PBX looks for the next available extension number to determine where to deliver the call. In this example, the PBX or IP PBX will use its programmed search algorithm to look at extension numbers 4101, 4102, 4103, 4104, and 4105.

PILOT NUMBER: e.g +49 89 1234 0
Next we talk about the DID/DDI, this is the range assigned to the callee.

DID or DDI = Direct Inward Dialing number
The telco configures how many digits of the telephone number dialled by the caller is sent down to your PBX. Some connections, PRI or BRI, send all digits and some only the part that distincts the number from others, like the four last digits.
Any PSTN subscriber can contact an enterprise user inside or outside the corporate firewall by dialing a Direct Inward Dialing (DID) number associated with that enterprise user.
Direct Inward Dialing is used when your PBX telco connection allows direct dialling to extensions within a PBX, using physical lines (or channels on a PRI) on a shared basis.
So DID ("direct inward dialing") was invented as a way to re-use a limited number of physical phone lines to handle calls to different published numbers. In a business with DID, the phone company uses DID signalling to identify the number they are about to connect to the business's PBX. Historically, this was done by pulsing the last 3 or 4 digits of the number being dialed before connecting the number. The PBX would use these DID digits to switch the call to the right recipient.

PILOT NUMBER: e.g +49 89 1234 0
with a range of 1234-0000 until 1234-9999 possible.
A caller can now DIRECTLY dial to a target user, e.g +49 89 1234 1111

Extension = numbers extension behind the central number
Not like a phone number (like DID), more like an internal identifiy....
also used for internal dialing and AutoAttendants (e.g. Exchange AA)

If we work with extensions, we need for callees an INTERNAL number. The internal number in Skype for Business/ Lync should be in E.164 from, but can be also a shorter number, even a extension.
In PBX, the Auto Attendant can receive an external call, and proxy this call to the internal extension.

Important is, not to be confused with DIAL PLAN and EXTENSIONs!

If we have our Skype for Business real work scenario:
Exchange and Skype for Business is required. Exchange handles the Auto Attendant and will be used for the INTERNAL EXTENSION. Therefore the user needs to be UM enabled. Only than a external Pilotnumber can be assigned to Exchange Auto Attendant and the user can be called from external without a DID.

Difference between, EURO ISDN and NA ISDN
;ext=123 (EU)
x123 (NA)

E.164 maximum length is 15-digits

Recommended link for Lync normaizations between EU and NA formats and how to handle the AD assigend phonnumbers (not the Lync assigned! ones)

Tuesday, July 7, 2015

Skype for Business Mobile Client, feature set of Skype for Business for Windows Phone

Finally, this morning it was the day where I had the biggest smile.
The new Skype for Business Mobile Client was released. Amazingly the updates installed over night without actively doing anything.

The naming is not the mobile client, it is:
Skype for Business for Windows Phone, or iPhone and so on.

For me this is a good sign looking forward for all changes coming along with Skype for Business Server. What we can see is the focus on Enterprise Voice, Voice in unified Communication is essential and we need straight forward and simple to use user experiences. we need to have a client which works seamless with the desktop version and features.

Let me introduce you to some new feature in Skype for Business Mobile Client:

First look when the desktop tile is on the main screen:

Form here you can click your tile and will start the new welcome screen:
You are required to confirm the update and will proceed as normal.

Well on the first look it seems not to be different from the old Lync Client and only the Logo has changed.

But this would not what we expect!
First having a look into the About Page, checking the Version Number:
The Version yet is:
6.0.1430.0, called Skype for Business for Windows Phone.

We can see the view and join experience for meeting changed and is a little better to use and view.


What we need to recognize is the Call via Work (CvW) feature, but where this is hidden and what could be done here?

Next we need to have a look into the SETTINGS:
As we see the Call Forwarding settings have changed and can be controlled form the windows phone client / mobile client.
This is a important feature, but remember, if Call via Work is enabled for a user this configuration is greyed out!
Else, soon we operate natively in Skype for Business Enterprise Voice, the feature is helpful and makes our life more easy.
I also help making the Phone Client "quiet", by forwarding a call to another number/ user.
Since we need to have a Exchange Server with proper configured EWS (Exchange Web Service), we can now query the Outlook WORK HOURS! this is good for a very much controlled FORWARD configuration and helps making the systems more user friendly.

One new feature and finally it's there. We can use the FORWARD Option will all possible contacts, it is searching the:
- DEVICE (email and contacts)
- Skype for Business ADDRESS BOOK
Next look I'm looking more closer to the FORWARD CALL settings.
I can see the configured Mobile Number is in, this helps using a reliable network for phone call, since the mobile network is mostly more suitable for voice calls.
As said earlier, the entire Skype for Business Address Book can be searched. also the Contacts in S4B Phone Client. Here you can see the result of a Address Book and Call History test.
Michael has an account with one of our customers and he is in my conversation history, therefore he can becomes visible.
Remember same as with the Desktop Client, your CANNOT forward calls OUTSIDE your organization!
Showing the Device Contacts. I'm having all my contacts sync from 3 email accounts and here they are all! Perfect !!
Interestingly I found a good part of how we can configure the Skype for Business Mobile Policies. Especially here the Voice settings. This is not the same as the Wi-Fi required option for Voice/ Video, it is more related to the BEST USER EXPERIENCE.
If we are in an area of bad network coverage, we can set our best quality calling based on the three options:
VoIP always
All calls will be transmitted over the best data network choice. 1st WiFi, 2nd CELLULAR
VoIP over WiFi only
All call must use WiFi network, if the network isn't available outbound calls are NOT working. Inbound experience is different, here inbound calls are receive if the WiFi networks is not accessible via Cellular / phone, it will also change the call forwarding settings to simultaneous ringing to your mobile number.
All voice call must use the normal cellular network, you mobile plan. this feature activates the call forward to simultaneously ringing to your mobile phone.
Some might now ask, I thing we had something similar with Lync. No we hadn't, because this feature now exactly controls the behavior. Therefore e.g. your do not receive a Skype call and a cellular call at the same time on your mobile anymore!

Btw the starting behavior hasn't changed and the client is still slow!