Chapter 4
Desktop Clients

Client applications tend to be one of the most important aspects of a deployment, and they can cause the most pain if they are not fully understood. Skype for Business includes several significant changes from the previous release, updating the main desktop client with a new look and feel and branding similar to the Skype consumer client.

Understanding the features the various clients have to offer, how they should be configured, and how they interoperate with each other and previous versions ensures that the correct clients are deployed to the correct people at the correct phase of the Lync deployment project.

In this chapter, you will learn to

  • Understand usage scenarios for each client
  • Understand changes in Group Chat
  • Understand how clients discover and communicate with various server roles, such as the Director, Front End, Persistent Chat, and the various Media Conferencing Units (MCUs) for conferencing

User Clients

With Skype for Business, this chapter will focus on two main clients.

  • Skype for Business, which is the Windows desktop client
  • Skype for Business Web App, which is the significantly redesigned Web App found first in Lync Server 2010; it now supports IP audio and video

Skype for Business on mobile devices (including iPad) is covered in Chapter 5, “Mobile Devices,” and the Lync Attendee and Attendant clients have not been updated since Lync Server 2010. Furthermore, use of the Lync Attendee 2010 client is no longer recommended because Skype for Business Web App is now the preferred meeting experience client.

Skype for Business

Skype for Business 2016 is the updated version of the Lync 2013 client and provides access to all the functionality of Lync Server 2013; indeed, the first iteration is simply an upgrade patch. Like Lync 2013, the latest client can be used against a legacy infrastructure, meaning Skype for Business can also be used against a Lync Server 2010 (or 2013) pool, allowing you to deploy the latest client (which is included as part of Microsoft Office 2016) without having to migrate everybody to Skype for Business Server 2015 first.

Feature Overview

The client is a full-featured client for Skype for Business Server 2015. The user interface has been redesigned with a new look and feel, and it retains features such as Persistent Chat (previously a separate client with Lync Server 2010), tabbed conversations, video preview, and multiparty video. At a high level, the client provides the following features:

Contacts Similar to Lync, the contact list displays the name, presence, photo, and communication modalities available for users.

Contact Photos Lync 2010 allowed you to set your photo using a specific URL, which requires unauthenticated access to the URL (in other words, no proxy prompts). Skype for Business continues to honor this URL but does not allow you to set it—only linking to Active Directory—or Exchange/SharePoint-hosted photos. It has continued support for HD photos (introduced in Lync 2013), although this feature requires Exchange Server 2013 (more about this in the section “High-Resolution Photos” later in this chapter). This is particularly useful when you’re in a conference and are not sharing video because instead of showing an up-scaled version of the low-resolution photo in Lync 2010, you can now display an HD-quality photo. Photos are capped at about 300Kb and are shared across Office (for example, Outlook, Outlook Web App, Lync, and so on). A small version of the photo is also written to the thumbnailPhoto attribute in Active Directory for backward compatibility with Lync 2010.

New Contacts View Skype for Business includes a New Contacts view to allow you to easily see who has added you to their contacts list recently.

Presence Skype for Business supports many presence states, some of which can be manually defined and others of which are automatically set based on the current state, such as Off Work and Presenting, which are triggered automatically when setting up an out-of-office notification or sharing PowerPoint slides.

Instant Messaging Instant messaging is supported between users in the same organization as well as in other organizations running Skype for Business Server, Lync Server, or Office Communications Server via federation.

XMPP While not different to the end user, Extensible Messaging and Presence Protocol (XMPP) is natively supported. You can add an XMPP user to your contacts list and engage in IM/presence conversations with them the same way you could before, but this no longer requires the separate Office Communications Server 2007 R2 XMPP Gateway role. This functionality is built into the Edge and Front End server roles.

Tabbed Conversations One change from previous clients is the support for tabbed conversations. This allows the user to have all IM conversations appear in a single window, with tabs representing each conversation for easy switching. This feature also extends to Persistent Chat, which is now natively supported in the client (see the section “Persistent Chat” later in this chapter for more information).

Voice The preferred voice codec has changed to SILK, which is a “native” Skype codec allowing for better-quality voice.

Video Lync 2013 represented a major investment in video, which Skype for Business continues. At a technical level, the video codec used is the standard-based H.264 AVC/SVC codec rather than RTVideo. Additionally, a number of user interface changes are apparent in the client.

Multiview Video Instead of being based on the active and last active speaker, multiview video is preferred for more natural integrations, showing you the video stream of the five most active users in the conference, with support for up to 75 users being promoted from the ‘seated’ row to the ‘standing’ row.

HD in Conference HD video of up to 720p for conferences as well as 1080p for room-based systems is used.

Collaboration Skype for Business has been significantly redesigned to improve feature use and incorporate new features related to collaboration.

PowerPoint Viewing Lync 2010 relied on the Microsoft Office PowerPoint viewer, embedded in the Lync client, to render PPT slides with animations and transitions. This limited PowerPoint sharing to platforms where the PowerPoint viewer was available. In Lync 2013, the Office Web Apps companion server role was introduced to render PowerPoint slides. For more details, see the section “Conferencing Clients” later in this chapter.

Application and Desktop Sharing Although the client provides the option to “share a program” vs. “share the desktop,” both are treated in the same way. The only difference is partial-screen vs. full-screen sharing.

Desktop Sharing For sharing-only sessions, the video stream is encoded using video codecs rather than using RDP (assuming both endpoints are running the latest Skype for Business client), resulting in a significant drop in the bandwidth used. For sharing sessions that transfer control, RDP is used.

DRM Following customer feedback, Lync 2013 introduced support for digital rights management (DRM) in a desktop sharing session. If a user opens a DRM-protected document, it will appear blacked out in a desktop sharing session.

Web App Application and desktop sharing are supported in Web App. This requires a browser plug-in, which can be installed in user mode. See the later “Web App” section.

Whiteboard Skype for Business supports sending whiteboard images directly to OneNote. Additionally, touch is supported for whiteboards when viewed on Windows 7 or higher as well as Smart Board devices.

Recording Lync 2013 removed the intermediate file format used for recording in Lync 2010 and instead records natively into MP4 format. Additionally, Skype for Business supports active speaker recording, which will record the video or photo of the active speaker, unlike Lync 2010, which would record one person for the whole meeting if they were the only person sharing video. Recordings are also in HD format.

File Transfer File transfer is unchanged.

Persistent Chat Another large area of investment in Lync 2013 is the integration of Persistent Chat, formerly Group Chat, into both the server architecture (although it is still a separate pool, it is defined and managed through standard tools now, such as Topology Builder and Lync Server Management Shell) and the client user interface.

Built-in Persistent Chat Since Lync 2013, there is no longer a separate Persistent Chat client, as was the case in Lync 2010. The Skype for Business desktop client is a truly unified client, providing IM and presence, audio, video, conferencing and collaboration, desktop and application sharing, and Persistent Chat in a single user interface. See the section “Persistent Chat” later in this chapter for more details.

Notable Changes Since Lync 2010

As Skype for Business is mainly an update (patch!) to Lync 2013, there are significant similarities; however, there are still some changes from Lync 2010 that should be highlighted for those migrating from this older environment.

Integration with Office Setup Skype for Business and the Online Meeting add-in for Skype for Business, which supports meeting management from within Microsoft Outlook, are both included with Office 2016. In addition to including the client as part of Office 2016, this change allows administrators to customize and control the installation using the Office Customization Tool (OCT), Config.xml, and set up command-line options.

Group Policy Deployment Lync 2013 introduced the Lync ADMX and ADML administrative templates that are provided with Office Group Policy administrative templates.

Outlook Scheduling Add-in Updates Administrators can now customize the organization’s meeting invitations by adding a custom logo, a support URL, a legal disclaimer URL, and custom footer text. These can be enabled and customized using Skype for Business Server Control Panel or Skype for Business Server Management Shell, specifically the CsMeetingConfiguration cmdlets. Additionally, new controls allow the meeting organizer to schedule conferences that have attendee audio and video muted by default.

Virtual Desktop Infrastructure (VDI) Plug-in Skype for Business supports all modalities, including audio and video, when deployed in a Virtual Desktop Infrastructure (VDI) environment, with some caveats. Users can connect an audio or video device (for example, a USB headset) to the local computer (for example, a thin client). The user can connect to the virtual machine, sign in to Skype for Business running inside the virtual machine, and participate in real-time audio and video as though the client is running locally. This is achieved by using the Lync VDI plug-in (yes, it’s still the Lync VDI plug-in!), a stand-alone application that installs on the local computer and allows the use of local audio and video devices. The plug-in does not require Skype for Business to be installed on the local computer. Skype for Business, running inside the virtual machine, will prompt the user to enter their credentials to establish a connection to the VDI plug-in. The caveats are as follows:

  • The virtual machine must be running Windows 7 or Windows Server 2008 R2 with the latest service pack, or higher.
  • The user’s local computer (for example, thin client) must be running Windows Embedded Standard 7 with SP1, Windows 7 with SP1, or higher.
  • If Remote Desktop Services is used, the Lync VDI plug-in platform architecture (32-bit or 64-bit) must match the local computer’s operating system platform architecture.
  • On the local computer (for example, thin client), the remote desktop client settings must be configured so that audio plays on the local computer. Remote recording must be disabled.

In addition to the caveats listed here, there are a number of limitations of the Lync 2013 VDI plug-in. There is limited support for call delegation and Response Group Agent anonymization, and there is no support for integrated audio and video device tuning, multiview video, recording of conversations, joining meetings anonymously (for example, joining a meeting hosted by an organization that does not federate with your company), pairing a Phone Edition device, call continuity in the event of a network outage, or customized ringtones and music on hold (MOH).

Sign-in Changes

Lync 2010 introduced certificate-based authentication using TLS-DSK. Clicking Save Password when signing in results in the Lync Server issuing you a certificate, which is then saved in the Personal certificate store on the individual computer, as shown in Figure 4.1. This certificate is then used to authenticate future sign-in requests, allowing Lync to sign in without communicating with an Active Directory domain controller, which is useful in branch-office scenarios during a WAN outage. Certificate authentication is also faster than Kerberos or NTLM authentication.

Screenshot shows a console window displaying certificate information in a row where each column represents details such as issued to, issued by, expiration date, intended purposes and friendly name.

Figure 4.1 The user certificate in the Personal certificate store

Skype for Business continues the support for TLS-DSK authentication but with a couple of changes in the client. First, when you check the Save Password check box when signing in for the first time, you are now clearly prompted to indicate whether you want to save your sign-in information for use in the future, as shown in Figure 4.2.

Image described by surrounding text.

Figure 4.2 User being prompted about saving sign-in credentials

Second, the option to delete sign-in information, effectively asking Skype for Business to forget you, is now displayed at the sign-in screen, as shown in Figure 4.3. Clicking this will provide a prompt asking you to confirm. Clicking Yes will remove the Skype for Business certificate from the user’s certificate store. It will also remove a number of files (listed here) from the AppData folder, located in %userprofile%appdatalocalmicrosoftoffice<office version>lync<sipuri>:

  • ABS.cache
  • CoreContact.cache
  • EndpointConfiguration.cache
  • EwsFolder.cache
  • MfuGroup.cache
Screenshot shows a Skype sign in window with text box for sign-in address and links provided for learn more and delete my sign-in info along with a button for sing in.

Figure 4.3 The link allowing you to ask Skype for Business to forget your sign-in details

Installation Changes

While it is possible to obtain a separate stand-alone installer for Skype for Business (from the Microsoft Volume License website), the preferred option is to deploy Skype for Business as part of Office. There are two methods of doing this.

Office 2016 Windows Installer This is the traditional Windows Installer package that contains multiple MSI files.

Office 2016 Click-to-Run Primarily intended for Office 365 customers, this is an installation method that streams Office 2016 setup files from the Office 365 portal or another installation source. Administrators can download the Office 2016 Click-to-Run application and language source files to an on-premises location. You can find more details about Click-to-Run in the Office 2016 Resource Kit.

Note: Click-to-Run is the Microsoft preferred installation method because it includes a level of self-notification and updating (where permitted), allowing for better control of patch levels. This applies across all products, not just Skype for Business.

Dependency on Exchange Server 2013

A number of features in Skype for Business rely on the user’s mailbox being hosted on Exchange Server 2013. These features are Unified Contact Store, high-resolution photos, and Exchange archiving, and each is introduced here and covered in more detail in Chapter 22, “Exchange, SharePoint, and Office Web Applications Server.”

Unified Contact Store

Unlike in previous versions, in Skype for Business, Exchange Server is the Unified Contact Store across Office. This is enabled by policy when Exchange Server 2013 is deployed in the environment. Unified Contact Store can be enabled only when both Skype for Business Server 2015 and Exchange Server 2013 are deployed in the environment. Communication between Skype for Business and Exchange is handled by Exchange Web Services (EWS). Lync 2010 can leverage the Unified Contact Store in read-only mode, but only Skype for Business 2016 and Lync 2013 clients can modify the contact list once Unified Contact Store is enabled by policy for a given user. The benefits of this are that it provides a single repository of contact data—Exchange, which is utilized across Office as well as Windows Phone.

High-Resolution Photos

Lync 2010 supported contact photos that could be stored either in Active Directory or as a user-specified URL, referencing a public website. Whether the photo was stored or not depended on the photo’s source. If the photo was from Active Directory, it would be stored in the thumbnailPhoto attribute and replicated to other domain controllers in the environment. If the photo was from a user-specified URL, the photo was not stored in the environment. Instead, the URL was stored and communicated to other presence watchers via the user’s presence document.

The size of photos stored in Active Directory was limited by the size of the thumbnailPhoto attribute in Active Directory, which needed to remain relatively small so as not to negatively impact replication traffic.

Skype for Business supports the ability to use photos with resolutions ranging from 48×48 up to 648×648 pixels, provided your mailbox is hosted on Exchange Server 2013. This is because the photos are now stored in Exchange as one of three typical resolutions.

  • 48×48, which is also used for the thumbnailPhoto attribute in Active Directory
  • 96×96, which is the format Outlook 2013, Outlook Web App, Skype for Business, and Skype for Business Web App will use in various places
  • 648×648, which is the format used by Skype for Business and Skype for Business Web App in specific scenarios, such as when you’re the active speaker in a conference and you’re not sharing your video

As mentioned, a change in Lync 2013 is that the ability to specify a photo from a URL has been removed from the client. If a user still has a photo from a user-specified URL stored in their presence document, Skype for Business will honor it. However, as soon as a high-resolution photo is stored in the user’s Exchange Server 2013 mailbox, this replaces the URL and also triggers the 48×48 version of the photo being stored in Active Directory for backward compatibility. Additionally, because the photos are now stored in the Exchange mailbox rather than being a URL referenced in the presence document, photos will no longer be displayed to federated users. This was always the case in Lync 2010 for photos stored in the thumbnailPhoto attribute in Active Directory. Users can change their photos via Outlook Web App. One thing to keep in mind is that changing the photo in Active Directory does not trigger an upscaled version of that photo to replace the one stored in the Exchange Server 2013 mailbox. Because of Skype for Business’s use of photos in places such as multiparty conversations, it is recommended that users have a photo to replace the default icon and display name that Skype for Business will use instead.

Archiving

The final feature where Skype for Business has a reliance on Exchange Server 2013 is archiving. When this is enabled, archive data is written to the Exchange Server 2013 mailbox instead of the Skype for Business archiving database (in SQL). This does not mean you can enable archiving in Skype for Business only once everybody is on Exchange Server 2013; users who do not have an Exchange Server 2013 mailbox can continue to use the archiving database store (SQL) instead. However, the benefit of using the Exchange integrated archiving feature is that it results in a single archive repository—the Exchange Server mailbox—and makes legal hold and compliance easier to administer.

Multiparty Video

In Lync 2010, active speaker switching was used to switch the video stream between whoever was speaking. It was not possible to see the video streams of other participants in the meeting, with the exception of using a room-based system or a RoundTable device for video panorama, but that relied on all participants being in the same physical location.

Skype for Business 2015 supports multiparty video, allowing the video stream (or high-resolution picture if no video is shared) to be displayed for five speakers, plus yourself, in the standing row, with support for up to 75 participants in total, with the others making up the seated row.

In Figure 4.4, you can see three users who are taking part in a meeting. The screenshot shows Keith’s view of the conversation, indicated by the fact that his is the smallest of the three tiles in the window.

Screenshot shows profile images of three contacts along with buttons for video call, mute, end call and IM.

Figure 4.4 A multiparty call showing the user experience

Video Preview

Another feature in Skype for Business is the video preview. This allows you to hover your cursor over the video icon in the client and display a “peek,” showing you what your video looks like to others, before you actually start sharing it. If you’re happy with what you see (within reason), you can click Start My Video to start sharing your video. In Figure 4.5 and then Figure 4.6, you can see Keith’s video replacing the photo currently displayed on Keith’s tile in the conversation window.

Screenshot shows profile images of three contacts along with buttons for video call, mute, end call and IM. A popup screen showing user video preview is opened above video call button.

Figure 4.5 Viewing a video preview

Screenshot shows images of three contacts along with buttons for video call, mute, end call and IM.

Figure 4.6 Video now shown in the call

Figure 4.6 actually shows this conversation window from another participant—Linda in this case. She sees the video of Keith as one of the (up to) five people in his standing row. Rob is represented by a high-resolution photo, if available, or, as in Figure 4.7, the default tile if no photo is uploaded for Darcy.

Screenshot shows default images of three contacts along with buttons for video call, mute, end call and IM.

Figure 4.7 Default tile view

Smart Framing

Video framing and smart sizing ensure that the video feed automatically centers the participant in the frame. When in a Skype for Business Meeting, the client will expand the video tile for a particular user if two people are in the frame. It will expand to include the second person so both are centered properly. It automatically shrinks if the second person leaves.

Web App

Skype for Business Web App is a browser-based meeting client that allows users to join meetings. Clicking the Join Skype Meeting link in a meeting invite will cause Skype for Business Web App to start, assuming either one of the following is true:

  • The computer you are using does not have Skype for Business (or Lync 2013) client installed.
  • You’re using an Apple Mac.

The Skype for Business Web App provides a rich meeting experience across different platforms. It does not provide IM and presence or contacts lists outside a Skype for Business Meeting, however.

In Lync 2010, if you did not have the full Lync client installed and wanted to join a meeting with computer audio and video, you needed to download and install the Lync 2010 Attendee client. In Skype for Business 2015, the Web App supports computer audio and video, meaning the Attendee client is no longer required. Furthermore, Lync 2010 Attendee is not supported against a Skype for Business 2015 pool.

Skype for Business Web App is also preferred over Lync 2010 when joining a meeting hosted on a Skype for Business pool because the Web App will support features in Skype for Business, such as multiparty video and additional conference controls that are not supported when joining from Lync 2010. This is an important change in people’s perception that web-based clients are second-class citizens to the full Windows application client. This may have been the case in Lync 2010, where Lync Web App was restricted to Windows because of its use of Silverlight and did not support computer audio and video, but this is no longer true.

Audio and Video in the Browser

The major change required to help achieve voice and video in the browser is that Skype for Business Web App is based on HTML5 and JavaScript instead of Silverlight, meaning it can be used on Windows, Mac, and other platforms that support these web standards.

It should be noted that audio, video, and desktop sharing require a client plug-in. The good news is that this plug-in can be installed in user mode rather than requiring administrative permissions. You can still join a meeting without the plug-in and will still be able to participate in IM and PowerPoint viewing.

Prior to joining the meeting from Skype for Business Web App, the user will be prompted to install the plug-in. This is the default option, and the user must clear the check box if they do not want to install the browser plug-in. In Figure 4.8, we are joining the meeting from Skype for Business Web App on Windows 10, using the Google Chrome Browser. Notice that Skype for Business Web App will open in a new window.

Screenshot shows Google chrome browser window displaying Skype for Business WebApp with Join the meeting button.

Figure 4.8 Joining a meeting with Skype for Business Web App on Google Chrome Browser

You will see the same behavior when using Skype for Business Web App with Internet Explorer or on a Mac. The user will be prompted to provide a name or to authenticate with their username and password.

When using Google Chrome and launching using the Join the Meeting button, you will get a prompt asking how to handle a new type of link, sfb-16.0: (shown in Figure 4.9). You should think of this as the Skype for Business equivalent of http:.

Screenshot shows external protocol request window with a message, checkbox for remember my choice for all links of this type and buttons provided for launch application and do nothing.

Figure 4.9 Launching the new protocol link

When Skype for Business Web App has launched, the web page will reflect this, as shown in Figure 4.10.

Screenshot shows a notification window with a dropdown for selecting language, Skype logo along with title Skype for Business on left, a question asked to the user about joining meeting and a link to launch Skype for Business WebApp.

Figure 4.10 Skype for Business Wep App launched notification

Other Audio Options When Joining with a Browser

Of course, like with the desktop client, it is possible to have other options for audio. When joining via the web browser, the user has three options to choose from and can be prompted upon joining a conference, as shown in Figure 4.11.

Screenshot shows a window providing the user with options such as using my computer, have the meeting call me, I will dial in to the meeting with a join button.

Figure 4.11 The meeting join options without a plug-in

The options are as follows:

Using My Computer This will use the default audio settings. In testing, this is the actual computer audio settings, which may be different from the default communications settings.

Have The Meeting Call Me This will initiate a call to the number you specify in the box. In Lync Server 2010, this required the organizer to be Enterprise Voice enabled (or it required a potentially unsafe and definitely unsupported workaround by adding a static route to the Mediation server, allowing Lync Server 2010 to place calls to any number). In Skype for Business Server, it is possible for the administrator to assign a voice policy to users not enabled for Enterprise Voice, so dial-out conferencing is still possible without introducing the risk of toll fraud.

I Will Dial In To The Meeting This will close the prompt. The user will manually dial in using another phone (mobile, PSTN) using the dial-in conferencing numbers provided in the meeting invite. If the organizer is hosted on Office 365, dial-in conferencing numbers will be provided only if the tenant has configured audio conferencing provider (ACP) integration.

Skype for Business Web App Experience

Once the user is joined to the meeting via Skype for Business Web App, the experience is so similar in terms of feature parity with the desktop client that it’s difficult to tell the two apart. It is worth highlighting that this experience is not just restricted to Windows, however. Figure 4.12 shows Paul, Les, and Rob in a Skype Meeting, with Paul using a Windows Phone device, Les on iOS, and Rob via a browser.

Screenshot shows profile images of three contacts along with buttons for video call, mute, end call and IM.

Figure 4.12 Paul, Les, and Rob in a Skype Meeting with Rob on the Google Chrome browser

Rob, connected via Google Chrome, is showing the presenting capability provided via the browser interface. In Figure 4.13, you can see the video preview capability; it’s on par with the desktop client.

Screenshot shows profile images of three contacts along with buttons for video call, mute, end call and IM. A popup screen showing user video preview is opened above video call button.

Figure 4.13 Rob previewing his video

Signaling

For all signaling, Skype for Business Web App communicates via HTTPS to the Unified Communications Web API (UCWA), which acts as a web relay and in turn communicates with the Focus (the component responsible for managing the conferences) and all MCUs using C3P/HTTP.

Skype for Business Web App does not support connecting to a RoundTable (for example, Polycom CX5000) device, although it does support viewing the video panorama stream.

Windows Store App

With Lync 2013, Microsoft provided a Windows Store app client designed specifically for Windows 8 and Windows RT and is optimized for touchscreen devices. However, unlike other clients (such as mobile), this has not been updated for Skype for Business, and while it will continue to work in the same way a Lync 2013 client would against a Skype for Business Server pool, further development of this particular client is unlikely to occur.

As a result, it’s not being covered in this book. Connectivity-wise, please see Chapter 5 for details on how it will connect to a pool, as the call flows are identical to mobile clients.

Skype for Business 2016 Basic

Skype for Business 2016 Basic provides IM, audio, and video plus the ability to join a Skype Meeting. It is a cut-down version of the Skype for Business 2016 client; however, it provides the same core functionality. It is primarily intended as a downloadable client for customers with an Office 365 subscription that does not include the full client, although it can also be used against an on-premises deployment of Skype for Business Server 2015. It is provided as a free download to customers with Office 365 Plan P1, E1, or E2 as well as customers with Lync/Skype Online Plan 1, 2, or 3.

As the name implies, not all the features available in Skype for Business are available in the Skype for Business 2015 Basic client. The following advanced features require the full desktop client or Skype for Business Web App:

  • Advanced call features, specifically call forwarding, team calls, and delegates. You cannot initiate a call to a response group, and Enhanced 911 is not supported. Additionally, you cannot connect to voicemail or make calls on behalf of another user (for example, a Manager/Delegate scenario). You also cannot handle calls on behalf of another user. PC-to-PC calling is supported, however.
  • Gallery View in Skype Meetings is not available.
  • OneNote and SharePoint integration (for example, Skill Search) is not available.
  • You cannot use the VDI plug-in with Skype for Business 2016 Basic. This feature is not supported in Office 365.

    Here are some other things to note about Skype for Business 2016 Basic when used with Office 365:

  • Conversation history is available only if you’re also using Exchange Server and Outlook.
  • At the time of writing, you can’t interact with customers who are using an IM service other than Skype for Business/Lync/OCS Server.
  • Setting up meetings without Outlook requires the Skype for Business Web Scheduler.
  • Dial-in conferencing requires that your Office 365 subscription be configured to integrate with an audio conferencing provider (ACP). If, when you send a meeting invite, the invitation does not include a dial-in number, then ACP integration is not deployed.
  • Persistent Chat is not available in Office 365, so the chat room functionality will not be displayed in the Skype for Business 2016 Basic client.
  • Telephony integration (for example, Remote Call Control) is not supported in Office 365, so these features are disabled in the Skype for Business 2016 Basic client.
  • Finally, the ability to make and receive calls to and from standard PSTN phone numbers (instead of using PC-to-PC computer audio) is available only with Lync/Skype Online Plan 3 when configured with a PC-to-phone service provider.

Client Configuration

As introduced with Lync 2010, in Skype for Business the majority of client configuration takes place in server-side policies, applied via in-band provisioning, instead of Group Policy. Some client bootstrapping policies are still available in Group Policy, however. These are typically settings that need to apply before a user signs in to the client, and as they are usually generic and apply to the whole environment, they can be set at a higher level using Group Policy in Active Directory. Details are covered in this section.

Server policies provide administrators with greater control and more flexibility over the settings they need to configure. Additionally, the settings can be applied more granularly because they can be scoped to global, site, and user levels in the server environment.

Group Policy Settings: Client Bootstrapping

In previous versions of Lync and Office Communicator, a stand-alone Communicator.adm administrative template was available for configuring client Group Policy settings. As Skype for Business is included as part of Office 2016, new administrative templates (*.admx and *.adml) are included with the Office Group Policy Administrative template, which is available here:

www.microsoft.com/en-us/download/details.aspx?id=49030

You can find details of the client bootstrapping policies in the Skype for Business Help file. Of interest in Skype for Business 2016 is the Disable Automatic Upload Of Sign-In Failure Logs setting.

This setting automatically uploads sign-in failure logs to Skype for Business Server for analysis. No logs are uploaded if sign-in is successful, however. This setting is applied differently depending on whether you are trying to connect to an on-premises or online version of Skype for Business. For Skype Online, sign-in failure logs are automatically uploaded. For Skype for Business on-premises, a confirmation window is displayed that prompts the user to upload the logs, as shown in Figure 4.14.

Screenshot shows a window asking for confirmation from user to upload logs with yes and no buttons.

Figure 4.14 The user being prompted to upload logs

Client Policies: In-Band Provisioning

Client policies can be created, modified, and deleted by the administrator using Skype for Business Server Management Shell. They are passed to the client during sign-in. The Skype for Business client will request in-band provisioning settings in a SIP SERVICE message. The settings are returned in a SIP 200 OK message. Using a tool such as Snooper from the Skype for Business Server Debugging Tools, it is possible to read the XML body of the SIP conversation and observe the settings that were actually passed to the client.

Skype for Business provides a number of new client management parameters that can be used by the client. You can find a full list in the help file, but the following four configured via CsClientPolicy, are explained here:

EnableMediaRedirection When set to true, this setting allows audio and video streams to be separated from other network traffic. This allows client devices to do the encoding and decoding of audio and video locally, resulting in lower bandwidth usage. This setting is required for the Lync 2013 VDI plug-in to work.

TracingLevel When set to true, this setting allows the tracing level in Skype for Business to be configured by the administrator. Tracing can be off, light, or on.

Off Tracing is disabled, and the user cannot change the setting.

Light Tracing is enabled, and minimal tracing is performed. The user cannot change this setting.

On Verbose tracing is performed. The user cannot change this setting.

Additionally, some of the policies available in Lync Server 2010 have been deprecated.

EnableSQMData This parameter has been removed from CsClientPolicy and is instead controlled by the shared Group Policy setting for Software Quality Management, which is part of the Office Group Policy template. It relates to the following key in the Windows registry and can be either enabled (1) so the user can clear the check box or disabled (0), which prevents the user from modifying the check box:

HKEY_CURRENT_USERSoftwarePoliciesMicrosoftOfficeCommonQMEnable

AllowExchangeContactStore This parameter has been removed. Instead, when you deploy and publish the topology, Unified Contact Store is enabled for all users by default. This means users’ contacts are stored in their Exchange Server 2013 mailboxes. You can change this functionality using Set-CsUserServicesPolicy if you want to enable/disable Unified Contact Store for all users or by site, by tenant (Office 365), or by individual users or groups.

MAPIPollInterval This parameter is no longer used. In Lync 2010, this parameter specified how frequently the client retrieved MAPI data from Exchange public folders.

Discovery and Connection

Having learned about the different clients, it is important to know how they connect to Skype for Business so that you can troubleshoot any issues in this area. The following sections cover not only how the client discovers the server to connect to but also how it connects.

Discovery

Cumulative Update for Lync Server 2010: November 2011 (CU4) added support for Lync Mobility. One of the features this cumulative update included is the Autodiscover Service, which is used by mobile clients to locate the server.

Skype for Business desktop clients now also use this service for connectivity.

Since Lync 2013, the Autodiscover service is favored over DNS SRV records as a method of resolving the SIP registrar—the Front End, Director, or Edge—for all clients. The desktop client will fail back to using DNS SRV if the Autodiscover method fails; however, the Lync Windows Store app and mobile clients will not.

All clients will attempt to use the Autodiscover service as their preferred method of discovering their SIP registrar. The discovery and connection process is outlined here:

  1. The client will attempt to resolve lyncdiscoverinternal.<sipdomain>. This DNS (A) Host record would typically be available only on the internal DNS server(s), so the inability to resolve it suggests that the client is external (or LyncDiscover has not been configured!).
  2. If the previous attempt is unsuccessful, the client will attempt to resolve lyncdiscover.<sipdomain> instead.

If neither of the LyncDiscover records works, then the client will fail back to using DNS (SRV) and (A) records, which will be resolved in parallel and tried in the following order, in the same way as in Lync 2010:

  1. Internal DNS SRV using TLS, specifically _sipinternaltls._tcp.<sipdomain>
  2. Internal DNS SRV using TCP, specifically _sipinternal._tcp.<sipdomain>
  3. External DNS SRV using TLS, specifically _sip._tls.<sipdomain>

Lync Windows Store app and mobile clients will not fail back, and the sign-in will be unsuccessful.

Connection

Once the client has successfully resolved one of the preceding DNS SRV records, it will attempt to connect. The DNS SRV record informs the client of the fully qualified domain name (FQDN) and the port number the SIP registrar is listening on. This will be TCP/5061 for internal connections and TCP/443 for external connections. The client will issue a SIP REGISTER message to begin the sign-in process.

The DNS (A) records returned to the client depend on whether DNS load balancing or hardware load balancing is being used in the environment. If hardware load balancing is being used, the client will be returned a single IP address—this is the virtual IP (VIP) of the hardware load balancer. If DNS load balancing is being used, which is the preference, then the client will be returned the IP address of each server in the pool. The ordering of the IP addresses changes in a round-robin fashion and is not important because the chances are that the client will still require redirecting, which happens via a SIP 301 Redirect once it successfully registers. This is because all endpoints for a single user must be registered on the same SIP registrar.

Once the client has successfully registered, it will receive a SIP 200 OK message, which will trigger the creation of the EndpointConfiguration.cache file. The client will use this local file to avoid having to do the autodiscover or DNS lookup again.

Persistent Chat Client

Persistent Chat, formerly Group Chat, is an optional role in Skype for Business Server. If your topology includes Persistent Chat, you can use the desktop client to access chat rooms, without the need for a separate client.

Skype for Business communicates with the Persistent Chat service using a combination of Session Initiation Protocol (SIP) for registration and the Extensible Chat Communication Over SIP (XCCOS) protocol for chat.

Sign-in

The following sequence describes the sign-in process in detail:

  1. Skype for Business sends a SIP SUBSCRIBE message to retrieve in-band provisioning from the server. This document includes a number of client settings in XML format, one of which indicates if Persistent Chat is enabled or disabled for the user, as shown in Figure 4.15. If it is enabled, in-band provisioning also provides the list of SIP URIs for the Persistent Chat pool.
    Image described by caption.

    Figure 4.15 The SIP messages showing whether Persistent Chat is enabled for the user and the Persistent Chat SIP URIs

  2. The settings requested in the SIP SUBSCRIBE message are provided in the accompanying SIP 200 OK message.
  3. Skype for Business will then send a SIP INVITE message to the SIP URI of the Persistent Chat server that was obtained in step 1, as shown in Figure 4.16. The INVITE should be followed by a 200 OK and associated ACK, which means that Skype for Business has established a SIP session with the Persistent Chat server.

    Image described by caption.

    Figure 4.16 Sending the SIP INVITE message to the Persistent Chat server

    For the remainder of this SIP dialogue, the client and the Persistent Chat server will communicate via SIP INFO messages, which contain either chat messages or commands requesting that the server take action.

    For comparison, this is similar to how conferencing works in Skype for Business. Conferencing uses the Centralized Conference Control Protocol (C3P) for signaling between the client and server. The C3P messages are embedded in the body of SIP messages. Persistent Chat works in the same way, utilizing the XCCOS protocol to send signaling commands to, and receive responses from, the Persistent Chat server. These XCCOS messages are embedded inside SIP INFO messages.

  4. Once a SIP session has been established between Skype for Business and the Persistent Chat server, the client will send a SIP INFO message that contains the XCCOS getserverinfo command, as shown in Figure 4.17.
    Image described by caption.

    Figure 4.17 The SIP INFO message that contains the XCCOS getserverinfo command

  5. The Persistent Chat server replies with a new SIP INFO message containing information about the Persistent Chat service configuration, as shown in Figure 4.18.

    Image described by caption.

    Figure 4.18 The SIP INFO messaging containing configuration info about Persistent Chat

    In Figure 4.18, you see that the server response code was "200", which is SUCCESS_OK, and you see the requested information from the Persistent Chat server. For example, you can see that Search Limit is "999" and Message Size Limit and Story Size Limit are both "8000". You also see the database and server version numbers and the display name of the Persistent Chat server, which in this example is Persistent Chat.

  6. The client sends a SIP INFO message containing a single XCCOS bjoin command, containing only the domain name, as shown in Figure 4.19.
    Image described by caption.

    Figure 4.19 The SIP INFO message containing the single domain bjoin command

  7. The client sends a SIP INFO message containing the XCCOS getassociations command, as shown in Figure 4.20.
    Image described by caption.

    Figure 4.20 Sending the SIP INFO message containing the XCCOS getassociations command

  8. This causes the Persistent Chat server to respond with a new SIP INFO message providing a list of rooms of which the user is a member, as shown in Figure 4.21. Skype for Business repeats this process to obtain a list of rooms for which the user is a manager.

    Image described by caption.

    Figure 4.21 Skype for Business responding with the rooms of which the user is a member

    In Figure 4.21, you can see that David Skype is a member of the Persistent Chat room called Chat room 1, with a description of “This is a test room.” An additional SIP INFO message, not shown for brevity, provides the same information because David Skype is both a member and a manager of Chat room 1.

  9. The client obtains the list of followed rooms from the presence document, whereby each followed room is represented by a roomSetting category. All followed rooms are joined by a single SIP INFO message that contains the XCCOS bjoin command, which contains the list of room URIs. The list of followed rooms is stored on the server, meaning any client on any computer has the same list of rooms for the specified URI. Additionally, the client will cache a list of open rooms (if this option is enabled by the user) in the local computer registry. The Skype for Business client will join each of these rooms at sign-in by sending a SIP INFO message containing the XCCOS bjoin command for each opened room. This will differ between the computers the user may use because the information is stored in the local registry.
  10. For each room joined, a SIP INFO message containing the XCCOS bcontext command is sent. The Persistent Chat server replies with a new SIP INFO message containing the most recent chat message in the room.
  11. Finally, a SIP INFO message containing the XCCOS getinv command (short for “get invitation”) is sent to request any new room invitations that the client has not yet seen. The Persistent Chat server responds with a list of rooms in a separate SIP INFO message.

Persistent Chat Client Experience

When configured in the topology and enabled via policy, clients will show an additional icon in the row of tabs in the desktop client, as shown in Figure 4.22.

Screenshot shows a Skype window with chat tab opened and a list of chat groups is displayed along with a searchfield.

Figure 4.22 The Persistent Chat tab

The Persistent Chat tab includes the following additional views:

Followed This displays all the rooms that the user is following. It is also where the ego feed and topic feeds will be displayed—in bold—when there is new content requiring attention.

Member Of This displays all the rooms that the current user is configured as a member of. Following a room is optional and results in notifications being displayed for the room in the client. Membership of a room is not optional; if you’re configured as a member of a Persistent Chat room, that membership will be reflected in the client here.

New This displays a menu with the options shown in Figure 4.23.

Screenshot shows a Skype window with chat tab opened. A popup box with options such as follow a room, create a chat room, create a new topic feed, search room history and chat room options is shown.

Figure 4.23 Options for creating a new room

One of the New menu items that you will see is Chat Room Options. This displays global options for chat rooms. These can be changed here to affect all chat rooms or can be changed on a per-room basis as rooms are created or as you choose to follow a room or receive topic feeds about the room.

Creating a Chat Room

Another option on the New menu shown in Figure 4.23 is Create A Chat Room. End users (rather than administrators) will typically create chat rooms, and the user will see this menu option regardless of whether they have permission to create a chat room. Clicking Create A Chat Room will open Internet Explorer and, if necessary, after you provide credentials, will display the Persistent Chat Management website, shown in Figure 4.24.

Screenshot shows an internet explorer browser window displaying a webpage with create a new room button, an already created chat room under the title My rooms and a link for sign out.

Figure 4.24 The Persistent Chat Management website

Users create rooms by clicking Create A New Room. They can also modify rooms they have already created here. In this example, Linda Lync does not have permission to create rooms, so when she clicks Create A New Room, she’ll receive the error shown in Figure 4.25.

Screenshot shows MY Room page with create a new room button and error message which reads “You have no permission to create yet. Please contact you administrator.

Figure 4.25 The error shown when you don’t have permissions to create a room

When David Skype, who does have permission, is logged in, clicking Create A New Room will display the page shown in Figure 4.26.

Screenshot shows a create a room page with fields to be filled for room name, description, managers, members along with one line instructions below each field, radio buttons for setting privacy options, dropdown menu for add-in and create button.

Figure 4.26 The Create A Room page

From here, David Skype can specify the following details:

Room Name This uniquely identifies the room.

Description This is an optional description to tell people what the room is for.

Privacy This can be one of three settings:

Open Anybody can find the room and read the contents.

Closed Anybody can find the room and see the room’s membership, but only members can read posts in the room. This is the default.

Secret Only members can find the room, view membership, and read posts.

Add-In This allows a web application add-in to be configured for your room.

Managers This is automatically populated with David Skype as the creator of this room. He can add other users by typing their names or SIP URIs. Users entered here have management capability of the room.

Members This is automatically populated with David Skype as the creator of this room. He can add other users by typing their names or SIP URIs. Users added here can access the room to read or post but not manage it.

Invitations By default, the invitation setting is inherited from the category that applies to this room on the Persistent Chat server. The other option is to not send invitations to members.

At this point, David Skype will see the newly created room on his My Rooms page, as shown in Figure 4.27.

Screenshot shows My room page with create a new room button, an already created chat rooms one and two under the title My rooms and a success message which reads Room chat room two has been created.

Figure 4.27 My Rooms page now that Chat Room 2 has been created

The Persistent Chat tab in David Skype’s client now shows a number next to the icon, indicating there is unread content. Clicking the Persistent Chat tab shows Chat Room 2 in bold to identify that this room is new. The same will happen on Linda Lync’s and Keith Skype’s clients because they were added as members and invitations were enabled for the category of room that was just created.

Conferencing Clients

Chapter 6, “Devices,” will cover conference room–style clients in more detail. Here you’ll look at the desktop aspects of conferencing.

The following clients can be used as conferencing clients in Skype for Business:

Skype for Business 2016 The full, unified Windows desktop client is preferred for meetings.

Skype for Business Web App The web-based browser version of the client can be used in meetings.

Lync Windows 8 Store App The Windows 8 store app can be used to join audio and video and view PowerPoint slides being presented in a meeting.

As mentioned earlier in this chapter, Skype for Business Web App now supports audio and video natively in the browser through the use of a browser plug-in, which can be installed in user mode rather than in administrator mode. Because of this change, Skype for Business Web App is now considered a first-class meeting client and is actually preferred rather than continuing to use the Lync 2010 desktop application in a coexistence scenario because it supports new features such as multiparty video and conference controls, as described in the following sections.

Join Launcher

The Join Launcher—the component responsible for accepting requests to the Meet simple URL and processing theme—has been updated in Skype for Business to provide support for additional conferencing on operating systems, including Windows Phone, Android devices, Apple iOS devices, Windows 10, and Internet Explorer 11.

Chapter 5 covers Skype for Business Web App in more detail.

One notable point worth highlighting here is the in-page web feedback for errors (shown in Figure 4.28). The page will include details of the error message to allow for feedback to your organization’s support team.

Screenshot shows a Launcher page displaying a error message and a short description.

Figure 4.28 Error feedback on the Join Launcher page

Video Spotlight

Presenters can configure a conference, using either the desktop client or Web App, so that only the video stream from a selected participant is seen by others in the meeting. When configured, this also applies to video captured and provided by conferencing devices for panoramic video (for example, RoundTable). This is useful in a classroom-like scenario, where a single speaker should be the focus of the participants’ attention.

Live Meeting MCU

For anyone migrating from a Lync Server 2010 environment, one change on the server side that affects the client application used for meetings is the removal of the Web Conferencing Compatibility Service MCU from the Front End server. This MCU simulated the Live Meeting MCU from the Office Communications Server time frame and made it possible for a user migrated from OCS 2007 R2 to Lync Server 2010 to continue to participate in meetings using the Live Meeting client.

Live Meeting would connect to the Web Conferencing Compatibility Service MCU on the Front End, which would simulate being a Live Meeting server, tricking the client into thinking it was connected to Live Meeting instead of Lync Server 2010.

Lync Server 2013 removed this MCU, meaning Live Meeting is no longer a supported meeting client when running against a user who is hosted on Skype for Business Server (or Lync Server 2013). If users will not have the Skype for Business desktop client installed immediately following migration, they can use Lync Web App to join the meeting instead.

Office Web Apps and PowerPoint Slides

As mentioned earlier, PowerPoint slides are rendered via the Office Web Applications server, making this more standards based to support a wider number of platforms, including Windows, Windows RT, Windows Phone, iOS, and Android.

When you upload a PowerPoint presentation to a meeting using Skype for Business, the file is uploaded to the Data MCU on the Front End server. The Data MCU returns a broadcast URL representing the file you just uploaded, causing Skype for Business to start an embedded browser frame inside the client. The URL returned to the client is actually the URL of the Office Web Apps server, which will retrieve the file from the Data MCU using the Web Open Platform Interface (WOPI) protocol and will then render the slides into web-based presentable data. Every second, the embedded browser frame will ping the Office Web App server using Asynchronous JavaScript and XML (Ajax) to confirm which slide it should be viewing. This information is then returned to the client’s embedded browser frame, moving the presentation along.

Skype for Business for Mac

There is no new Mac client with this release, and Skype for Business is currently available only for Windows (Microsoft has stated Skype for Business for Mac will be released in 2016—probably around the same time as this book!).

However, Skype for Business Server supports the following legacy Mac clients (when running on Mac OS 10.5.8 or later on an Intel processor), in addition to Skype for Business Web App:

  • Microsoft Lync for Mac 2011
  • Microsoft Communicator for Mac 2011

Virtualized Clients

Skype for Business supports the use of virtualized clients, also known as thin clients. This is the scenario whereby a local device is running a very cut-down version of Windows, or also possibly an older version with fewer resources, and is “streaming” applications, either directly or as a complete desktop stream from a server (or, more typically, a server farm).

From a pure physics perspective, in this scenario the Skype for Business client is actually running on the server in the datacenter. This means that audio from the local machine (caller) must traverse a network connection before being encoded and sent to the callee, who might also be using a virtualized client.

In a worst-case scenario, both the caller and callee may be in the same location, and the datacenter could be hundreds of miles away, meaning the audio (and/or video) would have made a wasted journey to and from the datacenter!

One step to help this would be to deploy IP Phone devices and make the call from them, which is not always practical (or cost effective), because the audio would then be local from the device to the other device.

A solution to this is the Lync VDI plug-in (yep, still called Lync). Figure 4.29 shows the conceptual working of the Lync VDI plug-in.

Diagram shows Lync Vdi plug-in architecture displaying laptops, curves, dashed and solid line, users and CPUs to represent network, VDI Local host and virtual desktops.

Figure 4.29 Lync VDI plug-in architecture

By using the Lync VDI plug-in as a media endpoint, the media can remain local to the device, therefore reducing the delays via the data center and resulting in a better quality call experience.

There are some specific requirements to deploying the Lync VDI plug-in.

  • The user must be home on Lync 2013 or higher.
  • The local device must be Windows 7 SP1 or higher (including Windows Embedded versions).
  • The Lync VDI plug-in “bitness” must match the operating system. If a 32-bit operating system is in use, the plug-in must be the 32-bit plug-in.
  • The CsClientPolicy must have EnableMediaRedirection set to $True.

    Certain features are not available when configured with the Lync VDI plug-in.

  • Audio/video device tuning
  • Multiview video
  • Recording of conversations
  • Anonymous join to remote meetings
  • Integration of VDI and Phone Edition device
  • Call continuity in event of network issues
  • Use with Office 365

The Lync VDI plug-in can be downloaded from the Microsoft Download Center.

32-bit: www.microsoft.com/en-us/download/details.aspx?id=35457

64-bit: www.microsoft.com/en-us/download/details.aspx?id=35454

Legacy Clients

Skype for Business Server 2015 supports a number of previous versions signing in against a pool. Table 4.1 shows which legacy clients are supported against which type of Skype for Business Server pool.

Table 4.1 Which Clients Can Connect to Which Server Versions

Client Skype for Business Server 2015 Lync Server 2013 Lync Server 2010
Skype for Business 2016 Supported Supported Supported
Skype for Business Web App Supported Not Supported Not Supported
Lync 2013 Supported Supported Supported
Lync Web App (2013) Not Supported Supported Not Supported
Lync 2010 Supported Supported Supported
Lync 2010 Attendant Supported Supported Supported
Lync 2010 Group Chat Supported Supported Supported
Lync Web App (2010) Not Supported Not Supported Supported
Lync 2010 Attendee Not Supported Not Supported Supported

It is worth highlighting that the Lync 2010 Attendee client is not supported against a Skype for Business 2015 or Lync Server 2013 pool. This is because the new Skype for Business Web App supports IP audio and video, making it a fully featured client.

Finally, the minimum supported operating system for the Skype for Business clients is Windows 7; none of the clients are supported on Windows XP.

The Bottom Line

Understand usage scenarios for each client. Each of the clients discussed in this chapter is designed for a specific usage scenario. For example, Skype for Business 2016 allows IM and presence (among other things) with other users.

Master It You have been engaged by a graphic design company to design and deploy Skype for Business. The company already has Lync Server 2010 and will be migrating to Skype for Business Server 2015 over the next six months. The company has 300 employees who are split almost 50/50 between Apple Mac computers and Windows PCs running Lync 2010. All users need to be able to participate in meetings with partners and customers during this coexistence phase.

Understand changes in Group Chat. In Skype for Business, Group Chat has been built into the main product and is now called Persistent Chat.

Master It You are working with a large financial services company that is in the process of migrating from Lync Server 2010 to Skype for Business. The company’s employees are heavy users of Group Chat in Lync Server 2010. What benefit does Skype for Business Server and Skype for Business client introduce in this area?

Understand how clients discover and communicate with various server roles, such as the Director, Front End, Persistent Chat, and the various Media Control Units (MCUs) for conferencing. Manually configuring clients for connecting to the infrastructure can be a massive overhead, so the clients each have a method to automatically determine where and how to connect.

Master It You are planning the migration from Lync Server 2010 to Skype for Business Server 2015. What additional DNS records are required to be created to address the preferred connectivity methods from the Skype for Business client?

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.21.169.61