Today at the Office 365 Summit, Microsoft gave us a sneak peak at some of the new and improved features that Skype for Business will bring to enterprises. The question burning in my mind before this event was is this just a rebranding exercise, or is Skype for Business a brand new, developed from the ground up application? The answer in short is; Lync 2013 Rebranded, with a few (although cool) additions and many bug and failure fixes.
Throughout the course of this document I will try and explain what the differences are, what is new and what Microsoft are and aren’t saying. I will start with a few headliners, the answers to some of the most asked questions surrounding this launch.
When will Skype for Business be released?
Microsoft are very tight lipped about the exact date of launch, their speakers have an NDA over their heads and all they will say at this time is first half of 2015. This narrows it down to be within the next 3 months since we are nearly in March. Call it intuition if you like, but I would expect Lync Online to convert to Skype for Business sometime next month, while on premise release will be launched immediately following Microsoft Ignite in Chicago in May.
How do we upgrade to Skype for Business?
I will go more in depth with this later, but in short there are 4 ways in which you can upgrade Lync to Skype for Business. The biggest feature anticipated is the in-place upgrade path for Lync 2013 deployments without the need for additional hardware. Microsoft have put a lot of emphasis on this and is something they are particularly proud of.
So what’s new in Skype for Business?
There are a few new features in Skype for Business, some are really cool, some end users will not understand or even realise it. The biggest new features include video calls between Skype for Business clients and Skype consumer clients are now possible. Skype for Business now supports legacy video tele conferencing systems and also the main change is the Client and administration UI. This looks similar to the Lync 2013 client, but with Skype consumer colour schemes and icons. Oh and animated emoticons are back!! Other cool features under the bonnet are 2 new PowerShell commandlets that only Lync administrators will love and understand as well as a new, simplified patching procedure.
Will the Client Update be pushed out as an Office update?
The client update will not be a MS Office Update. The Skype for Business Client will be a complete new client that is installed to an endpoint. The installation of this client will remove the Lync 2013 client from the endpoint.
Can Skype for Business Enterprise Voice to PSTN via Skype service?
The answer to this at the moment is no. You will still need a local voice border device to process calls to and from the PSTN. Microsoft have a lot of legal and compliance issues to solve before they can offer PSTN breakouts via Skype. However, they do say they are closer to achieving this than they have ever been and to expect this functionality “soon”. How soon is soon, only they know. The details passed to us are to expect this late 2015 with limited functionality. Microsoft are working on a way of supplying a billing solution and a process that will allow you to port your numbers across to their service. What is not clear is how or even if they will support situations like blocking toll bypass, or countries that do not allow SIP.
Will Lync Phone Edition devices get software update for Skype for Business?
At the moment Microsoft are saying no and plan to use the Lync 2013 Phone Edition software for all Lync to Skype for Business upgrades until further notice.
Microsoft dedicated a whole breakout session towards upgrading from Lync to Skype for Business. During this session 4 scenarios were described that would allow business to move to Skype for Business with almost no downtime. The biggest benefit of the upgrade process is that for all Lync 2013 only topologies, the upgrade process is in-place. This means it is an install over process rather than the traditional side by side upgrade / migration process traditionally adopted.
During the upgrade process you will need to covert the Lync topology into a Skype for Business topology. This is done in the new Skype for Business topology builder by simply selecting your front end servers and choosing to upgrade to Skype for Business server. Once these have been moved in the topology builder the initial publishing of the topology can take many hours. Microsoft say that this is largely dependent of the amount of front end servers in a pool and the amount of users the pool supports. They say that this publishing process can take upwards of 2 hours to complete. During this time, it may seem like the topology builder has crashed, or not doing anything, but the advice is to leave it well alone until it finishes. The actual software patch is relatively quick, or so we have been promised but there are no figures provided by Microsoft.
Upgrading a Standard Edition server to Skype for Business will also upgrade SQL Express on the front-end server to 2014. However, as a pre-requisite this server must be running SQL Express 2012 SP1. The SQL upgrade will require a reboot and while the Standard Edition server is upgrading no users will have access to Lync services, unless you have a backup pool.
All the Microsoft talk on Skype for Business has been surrounding the front-end server role. For edge servers, Microsoft are recommending to keep Lync 2013 edge servers rather than upgrading them. This means that either Skype for Business is getting launched without its own edge service, or there are no improvements to edge functionality that warrant updating them.
The upgrade paths are similar to normal Microsoft releases in that they offer N -1 support. This means that if your topology is uniquely Lync 2013 then you can upgrade in-place to Skype for Business. If you run Lync 2010 and 2013 coexistence then you must first complete the 2010 to 2013 migration and decommission your 2010 Lync servers before thinking of upgrading to Skype for Business. Once you have all your users on 2013, you can use the in-place upgrade process.
If you run a unique Lync 2010 topology then you are able to migrate to Skype for Business using the normal side by side migration strategy adopted in previous versions.
Case 1: Move directly from Lync 2013 to Skype for Business
For enterprise deployments this can be achieved with minimal downtime, but you need multiple pools. The upgrade assumes that the second pool has enough capacity to support users from the first pool as well as the users it is currently supporting. If this is not the case, you will need to add additional front-end capacity to the second pool or install a third pool temporarily. The other option of course is to perform an offline upgrade. The following picture describes the upgrade procedure for this case
Case 2: Upgrade from Lync 2010 to Skype for Business
In this scenario you have a Lync 2010 topology with no OCS or 2013 coexistence. This upgrade requires you to have additional investment in new servers (virtual or physical) in order to stand up Skype for Business and Lync 2010 side by side.
Case 3: Lync 2010 + 2013 to Skype for Business
In this scenario you must first migrate all users to Lync 2013 and then perform an in-place upgrade to Skype for Business. With Microsoft not supporting tri-state you must first remove all 2010 servers from your topology before performing the in-place upgrade to Skype for Business.
Case 4: Lync 2013 to Skype for Business (Offline Mode)
This scenario is an in-place upgrade of Lync 2013 to Skype for Business with user downtime. This is for topologies that have no access to additional pools or servers to move users across while their pool is upgraded. This method will mean that there will be no Lync services available until all nodes in the pool have been upgraded.
Dos and Don’ts during upgrade
- You must upgrade all front-end servers in a pool. Coexistence long term is not recommended or supported.
- Once upgrade has started do not use invoke-CsPoolFailover commandlets
- Don’t start services in mixed mode (i.e. keep all front-end servers offline until last node updated).
- Do not un-pair pools before upgrade begins.
After the upgrade of the front-end server has been complete, you must update the SQL stores in the normal way by running the Install-CSDatabase –ConfiguredDatabases –SQLServerFqdn <servername> commandlet like normal upgrades / patches.
Skype for Business will automatically upgrade Standard Edition servers to use SQL Express 2014. Enterprise deployments can still use SQL Server 2008 R2 SP2 but this has to be Enterprise Edition.
SQL Mirroring is now deprecated. This means no future development on this technology and Microsoft prefer the use of SQL AlwaysOn available in SQL 2012. Having said that SQL Mirroring can still be used in this topology, but future waves will not have this functionality.
Skype for Business requires the use of Window Server Fabric v2 (update via MS Updates) in order to provide it’s enhanced HA capabilities within the front-end pool. Windows Server 2008 R2 is still going to be a supported OS for Skype for Business. However this will be the last iteration on this OS.
As always Microsoft have a list of pre-requisites each topology needs to meet in order to upgrade. These are:
- Install CU5+ latest hotfix to Lync 2013 topology
- PowerShell RTM version (6.2.9200.0) or later
- Have at least SQL server 2012 SP1 installed
- Kb2533623 Windows Server 2008 R2
- Kb2858668 Windows Server 2012
- KB2982006 Windows Server 2012 R2
Active Directory Schema Updates
Most administrators will be pleased to know that there is no extension of the AD schema for Skype for Business.
The in-place upgrade process is a simple 5 stage deployment
This commandlet does what it says.
This commandlet will allow you to drain a front-end node within a pool and mark it as unavailable in the pool.
Starts all services on offline node and reactivates it back into the pool.
The Skype for Business installation now includes an option to download updates from Microsoft Update Services prior to installing and will be applied as the final stage of installation
This from a technical perspective falls into the remit of a SQL experts rather than Lync Professinals. However, we need to be aware that while Skype for Business supports SQL AlwaysOn there are a few limiting factors
All SQL members must be in the same subnet. Cross subnet is not supported
- Supports only Synchronous commit mode
- Does not support read-only secondary replicas
- No offsite replica support (Azure)
The patching process for Skype for Business has changed dramatically. Less decision points are made by the upgrade procedure that should allow for smoother and faster patching. Patches will be release through Windows Update Services or the continued Update package installer will still be released.
Below is a diagram of the Lync 2013 Patching decision points
And now Skype for Business Patching decision points
How is this better? Microsoft boast that this cuts the time for patching a 12 node pool down from 8 – 12 hours to 2 – 3 hours. More reliable Checks for readiness across the pool within the cmdlet before failover. Leverages windows fabric v2 deactivate/activate node APIs ensuring more dependable operation (moving replicas in/out, not move replicas into node going down) Since scope is always one frontend, avoids situations where multiple front ends could be down within a pool (reason servers don’t start) Will not allow fail over of a server if there are existing replica issues in the pool. Enforces min server requirements implicitly (if other servers are down). Microsoft have also introduced a progress indicator to give a graphical representation on the update process.
Upgrade UI experience
The following images show the Upgrade UI experience for Skype for Business
Skype for Business Deployment Scenarios
Skype for Business can be deployed in 3 modes
- On Premise
There is a 4th in that Skype for Business can still be deployed in a resource forest but in this scenario Microsoft are trying to distance themselves from. So much so they are actively discouraging a resource forest deployment of any sort. The reason for this is because in a resource forest deployment you cannot connect Skype for Business Online with Skype for Business On-premise in this scenario. Microsoft’s end goal for Skype for Business is to get every deployment up to a hybrid configuration. The Microsoft speakers actively promoted a hybrid setup as the preferred choice citing that users will not be able to participate in some new features without being in a hybrid deployment. When this was questioned, Microsoft diverted the answer. This probably means they do not know at this stage what the features will be, or their agenda is to eventually retire on premise only deployments and therefore onboard everyone into Skype for Business Online easier.
There are 2 new server roles for Skype for Business. These are:
- VIS – Video Interoperability Server
- MQD – Media Quality Dashboard
VIS is a new server role that is installed on a separate server (unsure if this can be collocated at present) that will act as a video gateway between Skype for Business and legacy VTCs (Video Tele Conferencing devices). More on VIS later.
MQD is a new role that leverages SQL reporting services much like CDR Recording and Archiving but provides a graphical representation of the Media quality being experienced by Skype for Business users. MQD is a very secret addition to Skype for Business in that Microsoft will not answer many questions on it at present.
Skype for Business Online
Skype for Business Online will offer much the same experience as Lync Online currently offers. At present there is still no enterprise voice system, but Microsoft are promising advancement on this area “soon” and are committed to bringing this functionality to the online only deployment scenario. Skype for Business multitenant online solution can only reside in one physical Office 365 datacentre. You are not able to span your Skype for Business tenant across datacentres or continents. Therefore placement of your online deployment is critical for video and voice quality. Long distances between Skype for Business tenant and the endpoints will lead to poor experiences.
Skype for Business still does not provide any QoS or Call Admission Control features, but Microsoft are saying they are making advancements in this area, but do not expect any announcement on the inclusion of these any time soon.
Skype for Business Online can coexist with Skype for Business on premise in a single AD forest only. You are unable to connect multiple on premise user forests with a single Skype for Business Online tenant. This is the reason why Microsoft are discouraging resource forest deployments moving forward.
Skype for Business Online Deployment Scenario
Skype for Business On-Premise
Skype for Business on premise offering is pretty much identical to that of Lync 2013. Skype for Business on premise supports the following scenarios
- Skype for Business in a single AD forest
- Skype for Business in a resource forest scenario + one user forest
- Skype for Business in a resource forest scenario + multiple user forest*
- Skype for Business on premises + Exchange on premises
- Skype for Business on premises + Exchange online
* – Please refer to Skype for Business Online for Caveats
The Skype for Business on premise topology is almost identical to that of Lync 2013
In order to deploy Skype for Business in a resource forest with separate user domains, like Lync 2013, you are going to require a FIM server to manage identities. Bear in mind that while this is fully supported by Microsoft for the Skype for Business 2015 release, it may not be in subsequent releases or updates.This diagram seems to suggest that the new VIS role can be collocated on the front-end pool servers, however, it is a separate server(s) in their own pool.
Skype for Business Split Domain
In Lync 2013 you could deploy a split domain scenario whereby you could install on premise Lync and Lync Online on Office 365 separately under the same SIP domain namespace. In Skype for Business this is still the case but with the following caveats
- Only works with Office 365 Multitenant
- Doesn’t work between on premises and Office 365-D
- Doesn’t work between on premises and service provider clouds
- Doesn’t work between service provider clouds
- Split domain can be used as a migration path from online to on premises
Skype for Business Hybrid
Skype for Business Hybrid topology is something Microsoft want users and enterprises to adopt moving forward. Microsoft are citing that users will not be able to take advantages of new features without a hybrid scenario deployed in their environment. However, it is unclear what these features are at the moment. If Skype for Business is following the same track as Office 365, then it is likely that in the next few waves we will see a shift in development between what is offered on the Office 365 platform and what is released for on-premise. This is because it is far easier and cheaper for Microsoft to develop new features for a standard platform that they control than independent topologies of varying configuration and complexity. This roadmap follows Microsoft’s mentality of Cloud first, others next.As discussed above, Skype for Business Hybrid mode is only available with single forest on-premise deployments and Office 365 multi-tenant. Exchange Unified Messaging is supported both ways, in that it can either be deployed online or on premise. However, if deployed on-premise then users who are enabled for Skype for Business Online must have their mailboxes homed on Exchange Online and not Exchange on-premise.Microsoft have invested heavily in providing new meeting capabilities in Skype for Business. The improvements are mainly in 2 key areas
- Meeting Quality
- Lync Room System
One of the major draw backs of Lync 2013 meetings were they expired after they were scheduled. This meant that missed meetings had to be rescheduled and generated again by the organiser. Microsoft designed this action as they thought it was the right thing to do. However, end users en-masse describe this an unwanted feature and wished that missed scheduled meetings would stay alive.
Microsoft have listened to this feedback and now have updated the Outlook Skype for Business (Lync) plugin in December 2014 to address this. If meetings are missed the Outlook plugin now regenerates the meeting, keeping it alive for up to 1 year.
Other advancements in the meeting experience include minimal retry or refresh buttons during failover or failure of meeting dependencies. The meeting service now has automatic and silent retry capabilities on failure to limit the visibility of these to meeting delegates.
Improvements with the PowerPoint sharing experience whereby meeting delegates are not aware of an imminent PowerPoint presentation until the deck has been fully uploaded and ready for sharing, Should sharing fail, there is built in retry intervals and also improvements to failure messages to the organiser that will direct them to a resolution more effectively. PowerPoint is shared to the presenter first, and then to delegates.
From the server side of the PowerPoint presentations, i.e. Office Web Apps server, if you have a centralised deployment of OWAS you are now protected against domain controller outages in the OWAS domain. In Lync 2013, if this scenario happened, Lync’s PowerPoint sharing capabilities would stop, whereas in Skype for Business these will continue to be provided.
Screen sharing frame rates have been improved and increased from 2 frames per second to 8 frames per second. This will allow the presenter to share standard definition video over the meeting to delegates. However, there is a bandwidth cost for this and Microsoft recommend a connection speed of greater than 10MBps. In Windows 8.1 the Lync client could suffer from memory leaks, this has been improved by up to 20% but has not been completed resolved. Microsoft have also made bandwidth savings in P2P sharing that can reduce consumed bandwidth by 10 times that of Lync 2013.
Fixes in Screen Sharing in Skype for Business are:
- Fixes for client crashes in key scenarios (E.g., Excel spreadsheet sharing with pivot tables)
- Auto-rejoin for viewers
- Improves reliability for viewers by ~50%, e.g., due to temporarily bad network conditions
- Update Pseudo TLS: Crypto Suite
- Expected to improve setup reliability up to 10%
- Full TLS implementation (was anyway but now better!)
- Expected to improve setup reliability up to 20%
Skype for Business Online ONLY feature additions
“Meet Now” for groups. On Office 365 you have the ability to create unified groups of users working on the same project or work stream. Microsoft have leveraged this capability and added a Meet Now functionality that will allow all group members to participate in Audio and Video conferencing. This is available ONLY to Skype for Business Online users.
Lync Room System Updates
I must admit my experience with LRS is non-existent, as I’ve yet to work or install one, so I am not sure of its current capabilities. However Skype for Business has added a control panel for LRS systems to administrators can quickly identify problems with an LRS. Microsoft have added a “Room PC View” button that enables organisers to connect high performance computing systems (such as CAD) to the LRS and present the PC screen in the meeting. Other improvements include a dial pad redesign so this is clearer to find and add dual content capability.
Lync Room System Control Panel Example:
There is also a new management pack for System Center Operations Manager (SCOM) for Skype for Business.
On the Horizon
There are going to be 2 new devices that will have Skype for Business meeting capabilities bringing new and imaginative ways in which to collaborate in the future. The tech to watch in this space are:
Microsoft Surface Hub – http://www.microsoft.com/microsoft-surface-hub/en-us
Microsoft HoloLens – http://www.microsoft.com/microsoft-hololens/en-us
Skype for Business has a new server role called VIS. VIS stands for Video Interoperability Server and is used as a media gateway that will enable Skype for Business users to have video rich calls with users on existing legacy Video Tele Conferencing systems (VTC’s) within an organisation. Microsoft have received demand from enterprises that have invested heavily in VTCs in the past and would still like to leverage their capabilities for the foreseeable future.
VIS acts as a media gateway that sits in between the Skype for Business user and the VTC user. The Skype for Business user terminates at the VIS server and the VTC user also terminates the other side of the VIS server. The VIS server then establishes the media stream between the 2 devices and the video call begins.
With that said, VIS does not offer any transcoding capabilities. Therefore both Skype for Business user and the VTC user must support H.264. The Skype for Business client natively supports H.264, the Lync 2013 client will support it with a patch, but the Lync 2010 client will not support it.
The other major caveat or consideration is that a VTC user will be able to call a Skype for Business user, but not the other way around. Microsoft appear to be shy on whether this will arrive in later updates, but my guess is that they have added this feature to appease large enterprise for a short time, whilst they upgrade to Skype for Business throughout the business. Therefore, this is probably the level of advancement we are going to get from this new role.
Microsoft say they have tested with Cisco CUCM, but will not say which other VTC systems also work. What they do say is that if the system works exactly like CUCM, it will work, if not then…..maybe.
VIS is available on both on-premise and online deployments of Skype for Business. The VIS server connects to the legacy VTC by using a normal SIP trunk based on H.323 signalling.
It seems that Microsoft will be using SILK as the codec of choice for all federated calls, however they will continue to offer G.711 and G.722 legacy support.
It is important to note that drag and drop is not supported between Skype for Business and legacy VTC users.
High Level VIS architecture
VIS acts as a B2BUA in its interactions with the Signaling Gateway (e.g., CUCM); It has a Signaling Gateway side and a Skype for Business proxy side. VIS functions like a Mediation Server but for audio and video. On its Signaling Gateway side, VIS implements the necessary SIP interactions to correctly interact with the Video Gateway via a video SIP trunk. On the Skype for Business (proxy) side, VIS acts as a Skype for Business trusted server (much like the Mediation Server) supporting Skype for Business simulcast video. Calls must be initiated from the Signaling Gateway to Skype for Business at this time. VIS sends up to 3 simulcast video streams on its Skype for Business proxy side derived from a single video stream received from the VTC. VIS is deployed in a standalone pool (no co-location).
Skype for Business now supports video calls to consumer Skype users. This does not extend to conferences or screen sharing. Microsoft hint that this may be the case in future releases, but for the V2 release these will be disabled. Video calls can be made from a Skype for Business client or Lync 2013 client but cannot users cannot use Lync Phone Edition devices with cameras to participate in Skype for Business to Skype consumer video calling.
All calls between Skype for Business Edge servers and Skype consumer will be using the new SILK codec rather than RTAudio for video. However, legacy codecs are still supported but these will be for audio calls only.
Other additions include a Skype consumer directory plugin for the edge server. This will enable Skype for Business users to search the Skype consumer directory for users by name, city and country.
Connectivity Call Flow between Skype for Business and Skype Consumer
In line with the new Call Quality Dashboard more advancements in ensuring media quality in LAN environments have been made. The CQD in Skype for Business leverages the power of SQL Analysis Services (SSAS) to improve BI within Skype for Business. The CQD will give you live statistics on the overall and in depth performance of Skype for Business server and also from the end user experience. A new popup message has been included in the Skype for Business client that will ask the user for their feedback. This is directly ported into the BI model of CQD to allow administrators to compare data from the servers against what the user actually thinks of the service they received during a call or conference. This analysis will provide administrators to active seek to resolve potential bottlenecks and issues more effectively within their LAN. Microsoft’s main aim for this investment is to ensure as much as possible end user satisfaction and lessen the burden on administration teams.
Network impairments can have a multitude of sources, from bad microphones, to end user having a common cold whereby the codecs cannot understand what they are saying. Some sources can be fixed, others cannot. Microsoft maintain that most issues with Skype for Business are caused by network impairments.
The most common suspects of impairments are jitter, latency and packet loss. Microsoft measure these in MOS (Mean Opinion Score). The MOS is scored from 1 to 5, with 1 being bad and 5 being perfect. Microsoft admit that the scoring is flawed in that their codecs maximum MOS value is 4.72, but they do say if you achieve a MOS score of 4, this is considered good.
Below is a table that explains Microsoft’s expectations on optimal, acceptable and unacceptable network performance
Microsoft’s recommendation for unmanaged networks is to move ISP to a managed network. If you are experiencing anything less than optimal experiences on a managed network then this should be resolved by the ISP.
Whilst Microsoft say that these values are what you should aim for, they do realise that in some cases these values cannot be achieved. Therefore, have set goals to achieve the following
The key point to take away from this is that the values are not set in stone. For instance network latency of 100ms between a call placed in the UK that terminates in Australia is considered good, but a call placed in Manchester to London that has a latency of 100ms is considered bad. Each situation needs to be considered carefully within its own context.
Microsoft have released a diagram and table to describe what they feel is good network QoS. They say that audio traffic should be tagged with high priority (EF – Expedited Forwarding), video high priority but can accept some packet loss (AF – Assured Forwarding) and the rest can be sent via normal traffic routes as these are TCP and can be resubmitted accordingly.
Microsoft also recommend the best form of QoS is a mixture of DSCP and Port QoS Strategies. This means that Skype for Business will tag audio and video packets for wither EF or AF headers and leave signalling, app sharing, content sharing packets unmarked. While the networks team can configure QoS on the relevant network ports.
Microsoft recommendations for QoS marking is as follows
With mobile and wireless connections, Microsoft admit that the mobile client cannot be relied upon to deliver consistent good quality voice calls over WAN and especially cellular data channels. Microsoft have an expected failure rate of calls made between local clients and mobile client and mobile to mobile clients where call experiences will be poor and have laid out these expectations in the below table
Microsoft are also working with networking vendors to produce software defined network configurations (SDNs) whereby the network has the ability to change configuration in order to maximise its support for good quality experiences. This has been developed on open standard and network providers such as nectar and aruba have signed up to this method. Cisco on the other hand haven’t and are going down another route. The end goal here is to have a managed network that has built in Skype for Business profile that can be pushed out to all managed switches at a click of a button bringing instant QoS and instant good quality multimedia experiences to the end user.
Server Core Enhancements
Before we start, let’s talk about “core server” components of Skype for Business Server.
Core server covers the area of:
- And Compliance
Core server includes platform and APIs, such as UCWA, UCMA, UCAP, UCJA, that Microsoft use to develop Skype for Business clients and enables extensibility to allow partners to develop apps/solutions against Skype for Business Server.
Chat and Presence is the primary app that consumes the services provided through the core server and platform of Skype for Business server.
In terms of chat and presence, Microsoft has made several improvements to increase the reliability and end user experience.
As people tend to be more mobile today, moving from one place to another, connecting to different access points or different connectivity type (WiFi to 4G, 4G to wired), Skype for Business client will have reduce the traffic consumed for presence and sign-ins, and will have to deal with numerous re-sign ins.
Microsoft have optimized Skype for Business to reduce presence and sign-in traffic. We also cache more data on the client side and don’t require a complete refresh of data during re-sign in thus allowing reduced traffic use during a re-sign in of a user.
To help us improve the quality, reliability, and performance of Skype for Business, Microsoft have made several improvements to how telemetry works in Skype for Business. Most of the changes are usually in the form of additional CDR data and additional performance counters. They use this data both for better understanding the end user experience the client is seeing as well as to better understand how the server is behaving under certain conditions such as failover, sign-in, etc.
Since Microsoft has put a lot of attention on mobile experience in this release, there are several improvements made in the core server components to give better end user experience when using Skype for Business.
The following are the problems that that impacts mobile experience:
- Long delay when sending IMs to mobile user (e.g. spinning donut)
- Lost incoming IMs on mobile (e.g. Messages not being accepted and getting lost)
To address those problems, Microsoft have incorporated the Auto Accept logic to the core server. This logic is previously used in desktop client to accept IM on best available endpoint, and now the same logic is implemented on the server side, with Skype for Business mobile app as the primary consumer. This is implemented server side as this fits to the model for mobile clients in general whereby all the heavy lifting is done on the server to reduce the CPU and network utilization on the mobile client.
- No conversation history in Lync Mobile app (e.g. Conversation started on desktop client, and continued on mobile client would not have conversation history). To address this problem, Microsoft have introduced a uniform server-based conversation history that can serve all endpoints, from mobile, desktop to web clients.
As Skype for Business client continues to consume services from both Skype for Business Server and Exchange, to address SSO requirements to support both Lync Online and Exchange Online connectivity, Microsoft have adopted Azure AD Authentication Library (ADAL) in Skype for Business Server. This also opens the path to enabling multi-factor authentication that expands beyond desktop client, as mobile client is now supported for multi-factor authentication.
Azure AD Authentication Library
So what is ADAL?
It’s a .NET library for the implementation of OAuth 2.0 protocol that provides a single, uniform, passive authentication across O365 applications for SSO.
While ADAL is primarily targeted towards Azure AD and O365 services (namely Lync Online and Exchange Online) that consume Azure AD, it also supports on-premises Active Directory by using AD FS for Windows Server 2012 R2.
ADAL implementation replaces the passive authentication used in Lync 2013, and can be enabled just to support mobile clients if desired.
The added benefits of using ADAL is the ability to extend multi-factor authentication to mobile and web clients, whereby it was limited only to desktop client in the previous version. For on-premises implementation, MFA is dependent on ADFS for Windows Server 2012 R2, and to be able to distinguish internal or external clients, Windows Server 2012 R2 Web Application Proxy (WAP) service is required.
Improved Conversation History
Enabling full IM conversation history in mobile clients is one of the key improvements made to the Skype for Business core server through the introduction of server-side conversation history.
Whilst the primary intention was to target mobile clients, the implementation supports both mobile and desktop clients.
Server-side conversation history captures chat conversation history and calls history.
The entry point to server-side conversation history from the clients is UCWA—so basically when this feature is enabled for desktop clients, the consumer of UCWA is no longer limited to mobile clients.
The server-side conversation history leverage LYSS (Lync Storage Services) to process [refer to the flow diagram on the side] and then store conversation histories directly to Exchange using EWS—thus removing the dependency on the client to submit conversation history directly to Exchange via EWS.
Please note that for server-side conversation history to work, Exchange 2013 and above is required.
In terms of deployment, server-side conversation history is deployed on Front End server and it doesn’t require any new server roles, and there is a distinct policy for mobile and desktop clients to enable or disable the feature.
Server side conversation history flow:
Conferencing, as one of the app that consumes core server components, Microsoft have made several improvements to increase the reliability of conferencing services.
In Lync Server 2013, it would do asynchronous writes for conference state and rely on Windows Fabric to keep state consistent between Front Ends in a pool. This is not always reliable and in certain cases, data would be lost.
With Skype for Business Server, Microsoft are changing the way it works to be much more like Lync Server 2010. When a meeting is created or some other detail of a meeting is changed, conference state is written to the backend database synchronously before proceeding. This ensures there is always a consistent and accurate copy of the meeting information in the backend to increase service recoverability. If the Front End should fail for any reason, one of the replicas can pick up where things left off without data loss.
Conference state replication among replication partners between paired pool is being prioritised to reduce the likelihood of data loss in the event one side of a paired pool fails catastrophically.
All of these improvements enable data loss protection of conference directory data.
Expired conferences are handled better in Skype for Business by increasing the default time before they are automatically expired/purged conferences.
Based on the investigation of meeting join telemetry, most of the meeting join failures are caused by users trying to join a meeting after it has expired and been deleted. Some known reasons are:
- Copy adhoc meeting URL and share it using email
- Copy meeting URLs between different appointments
- Schedule using Outlook add-in to get URL, but discard the appointment.
By increasing the time it takes to expire meetings, most of the situations mentioned before are covered.
Microsoft are improving telemetry in Skype for Business, whereby the additional CDR data and performance counters can help better understand the end user experience as well as to better understand how the server is behaving under certain conditions such as meeting join, etc.
Windows Fabric Improvements
Similar to Lync Server 2013, Skype for Business Server continues to leverage Windows Fabric to provide failover management of Front End servers in a pool—including election of primary and secondary nodes.
Windows Fabric is also responsible for the replication of data between the nodes that allows presence updates and contact management to be processed locally on each Front End server—while maintaining the ability to quickly recover when a Front End server in a pool fails.
Windows Fabric v2 provides major changes that benefit Skype for Business Server, such as DeActivate API that enables simplified patching and various other load balancing, performance improvements, and bug fixes, that increase the overall manageability and reliability of Skype for Business Server.
Cold Pool Starts can now be done using one PowerShell Commandlet Start-CsPool. Below are the requirements and process this commandlet performs
Remote Call Control
RCC is a feature that was introduced back in LCS 2005 SP1 that allows Lync endpoints to control desktop phones connected to the PBX.
RCC is limited to desktop client—and to be fair, this feature is only useful when a computer is tied to the desk.
However, with users starting to be more and more mobile these days, the tie-in between workstation and desk phone do not work anymore, and that’s why we’re recommending customers to use Enterprise Voice. As a result RCC is now deprecated in Skype for Business Server 2015.
Call via Work
Call via Work is the replacement to RCC with Enterprise Voice-enablement as a prerequisite. The intent is for organisations to be able to keep their existing desk phone investments while taking advantage of Enterprise Voice, by allowing users to keep on making or receiving phone calls using their desk phones while in the office, and use Skype for Business while away from desk.
Call via Work is an implementation of a feature that was previously introduced in Lync 2010 mobile app.
When making a phone call using Call via Work, Skype for Business client will “tell” the server to dial the desk phone number the caller, and then connects with the far-end destination.
When calls are made from Skype for Business client, presence will be updated accordingly, and naturally, while using the desk phone, mid-call control (such as mute/unmute) can be performed on the desk phone itself.
How Call via Work works:
Call via Work does not have any inbound capabilities, nor is it available in Skype for Business Online. Call via Work will work with any supported PSTN breakout but you may experience difficulties with numbering support.
External call via Call via Work explained:
Outbound call to internal user explained:
Call via Work inbound Call
Call via Work feature is tied to simulring feature, and when enabled, incoming calls will be automatically simulring to client and the configured PBX phone.
Since with Call via Work Skype for Business user will be configured with the same DID# as the desk phone, this leads to the potential of RNL (reverse name lookup) to catch this and prevent simulring to the PBX phone. This is mitigated by Call via Work using ms-skipRnl header to allow calls to go through PBX phone.
Note that there’s no interaction with Skype for Business if the call is initiated from the desk phone—thus no conversation window will be shown, and presence will not be updated.
Inbound Call from PSTN
Note that there’s no interaction with Skype for Business if the call is initiated from the desk phone—thus no conversation window will be shown, and presence will not be updated.
Meeting Join Presence Statuses with Call via Work
The following table explains the different presence statuses experienced when joining meetings using Call via Work
End-user enablement of Call via Work feature is roamed between MPOP endpoints, and therefore if it’s enabled, the feature will be enabled wherever the user signed-in to.
To enable Call via Work, a policy must be created and assigned to a user—at minimum CallViaWorkEnabled parameter must be set to $True.
In terms of the destination call back number, administrator can pre-define the phone number using AdminCallBackNumber parameter, and also disallow users from making changes to the callback number by setting the UseAdminCallbackNumber parameter to $True.
Note that Call Forwarding has been renamed Call Handling. The Call via Work is handled by the Outgoing calls option.
Response Groups (RGS)
In Skype for Business Server, the Response Group Service has been enhanced to improve its scalability, doubling from the scalability in Lync Server 2013.
RGS now supports 800 agent group, 400 IVR group, and 2400 agents per pool. No other advancements on this service in this release.
New SILK codec – Eventually all will be SILK
In an effort to consolidate the codec used between Skype consumer and Skype for Business and to improve call quality, SILK codec has been introduced starting with Lync 2013, supporting peer to peer calls between desktop client and mobile client.
SILK will be the default codec for all Skype for Business and Skype P2P session, with RTA being retained in Skype for Business for backward compatibility.
It is not supported on machines with single-core CPU.
SILK is supported on desktop clients (traditional and modern) and mobile clients (Android, iPhone/iPad, Windows Phone).
It’s not supported on VDI Plug-in, Lync Web App, Attendant and Lync Phone Edition.
Traditional codecs are available as fall-back scenarios, but Microsoft are keen to use SILK across all Skype for Business media streams.
I am sure more features will become apparent when it is released. Thank you for reading.
Image Sources: Microsoft