A highlight of today’s Technical Keynote at our Citrix Summit partner conference in Las Vegas was the unveiling by Brad Anderson, Microsoft Corporate VP, and our own Bill Burley, Citrix Corporate VP and Acting GM, of a year-long collaboration between our companies that has now culminated in the 2.0 release of the XenApp/XenDesktop HDX RealTime Optimization Pack for Microsoft Skype® for Business.
Learning from field experience with two “v1” solutions for optimized delivery of Skype for Business (formerly Lync) in a virtualized workspace environment, Microsoft and Citrix got together in January 2015 to brainstorm on how to better meet the needs of our mutual customers and quickly focused on the following joint goals:
- Comprehensive functionality, including audio-video and telephony features, when the Skype for Business client is hosted on Citrix XenApp or XenDesktop
- Fully native user experience
- Uncompromised quality of voice and video
- Maximum XenApp/XenDesktop server scalability
- Support for a broad range of devices and OS
- Joint story from both vendors on roadmap and support
The basic architectural concept of “optimized” delivery, namely offloading of media processing to the user device whenever possible, had been proven by the two first-generation solutions, but each of those solutions had strengths and weaknesses. Could our architects come up with a “v2” architecture that would bring together the best of both earlier solutions while eliminating their shortcomings?
Optimized and Generic delivery
To recap (and update) the key points from my July 2012 post on softphone delivery and the whitepaper “Unified Communications with XenApp and XenDesktop: Solution Overview”, Citrix supports two complementary approaches for delivering UC apps, “optimized” and “generic”, just as we do for video playback / multimedia streaming.
The goal of optimized delivery is to off-load the XenApp/XenDesktop server whenever possible, especially for video processing, since that is CPU intensive. Generic HDX RealTime technologies (see CTX133024 and CTX132764) provide a fallback when client-side media processing is not possible. If you’re expecting high video call volumes, I strongly recommend choosing a UC solution that has been optimized for workspace virtualization.
If you imagine the layers of software that make up a typical softphone or UC app, you can think of optimized delivery as taking the media engine layer out from the bottom of the app and moving it onto the user device.
When you do that, the inter-process communication that would have happened between the media engine and the software layer above now takes place over an ICA virtual channel. But only command-and-control information needs to go over this virtual channel; media traffic goes out-of-band, usually over UDP/RTP.
In the case of a two-party call, the media traffic can flow directly (“peer-to-peer”) between the participants, and in the case of a multi-party conference call it flows between each user and the conference bridge (MCU).
Since this approach avoids “hairpinning” (also known as “tromboning”) through the XenApp/XenDesktop server, it maximizes server scalability (keeping IT costs down), adds no latency to the audio-video path, and eliminates redundant bandwidth consumption. Transcoding and repacketization are often avoided, too, although the UC vendor’s conference bridge may need to perform these functions to normalize the media streams if the endpoints use different audio/video parameters (codec, frame rate, resolution, companding algorithm, etc.)
Developing an optimized solution requires restructuring the softphone/UC app or leveraging APIs provided by the vendor, whereas Generic HDX RealTime technologies will work with just about any softphone/UC app. Optimized delivery solutions are currently available for Microsoft Skype for Business / Lync, Cisco Jabber, Vidyo and Avaya one-X, and additional softphone/UC app integration is in the works. For non-optimized apps like GoToMeeting, Google Hangouts or CounterPath Bria, we recommend either the Generic HDX RealTime technologies or, for Windows device users, Local App Access (a Platinum Edition feature) which enables a locally executing Windows app to be blended into the user’s virtual desktop.
Various Generic HDX RealTime technologies help to maintain a good user experience if there is no media engine available on the endpoint. These include:
- Optimized-for-speech codec technology, featuring fast encode and low bandwidth utilization
- Adaptive H.264 video in Thinwire display remoting (video quality and frame rate self-adjust to the network)
- Webcam Video Compression in the Citrix Receivers for Windows, Linux and Mac, offering excellent bandwidth efficiency and network latency tolerance
- Jitter buffering in the Citrix Receiver for Windows to ensure smooth audio even when network latency is variable, and Echo Cancellation when using a microphone and speakers
- Audio device plug-n-play (devices can be plugged in mid-session)
- Audio device routing (for example, ringtone can be directed to speakers but voice to a headset)
- Multi-stream ICA transport for full QoS support (up to 4 TCP channels and 2 UDP channels)
- UDP/RTP audio for superior performance on lossy and congested network connections
- DSCP packet tagging for RTP packets (Layer 3) and WMM tagging for Wi-Fi
Check the Citrix Receiver feature matrix for details, but the quick summary is that generic support for real-time audio and webcam video is currently available for Windows, Linux, Mac OS X and ChromeOS, plus Dell support Generic HDX RealTime for Wyse ThinOS (WTOS).
NetScaler can also play an important role when delivering audio-video streams over ICA, with features such as:
- NetScaler CloudBridge support for QoS and multi-stream ICA, including UDP, and optional packet duplication for superior audio-video quality
- NetScaler Gateway support for UDP/RTP and DTLS
So, now that you understand the basics, let’s focus on Skype for Business.
Learning from first-generation optimized solutions
Until the recent release of HDX RealTime Optimization Pack 2.0, Citrix has supported two alternative optimized solutions for delivering Skype for Business or its predecessor, Lync, from XenApp/XenDesktop. Why were two solutions needed (until now)? Each solution had different strengths and weaknesses.
Microsoft’s VDI Plug-in solution packages the Skype for Business / Lync client as a plug-in to the Citrix Receiver for Windows. The Microsoft VDI Plug-in has had the advantage of providing a native UI experience to the user.
But it was qualified only for XenDesktop VDI (although tested successfully by Citrix with XenApp) and it supported only Windows devices (with some exceptions, notably Windows Thin PC). It could be used only with a full virtual desktop (no support for published app delivery of the Skype for Business / Lync client). It required an on-premises Skype for Business Server or Lync Server infrastructure (no support for Office 365, i.e. Skype for Business Online).
And smart card support was not available. (Additional limitations are published on TechNet.) Citrix will continue to support the Microsoft VDI Plug-in solution according to its lifecycle. For more information, see CTX138408.
The Citrix HDX RealTime Optimization Pack was needed to support customers with Mac and Linux devices, in addition to Windows. It has fully supported both XenApp and XenDesktop. And it has been compatible with both full virtual desktops and published app delivery. Also, it has offered broader infrastructure compatibility (Skype for Business Server 2015, Office 365, Lync Server 2013 and Lync Server 2010) than the Microsoft VDI Plug-in.
But the key drawback of the first generation HDX RealTime Optimization Pack has been that it was necessary to introduce some UI differences compared to the native Lync client UI due to limitations of the Microsoft APIs (in particular, the Lync API) that were available at the time.
Although these UI changes were well designed and not difficult to get used to, everyone prefers an unmodified, native UI experience. And the UI differences included several feature limitations, notably support for Call Delegation, Response / Team Call Groups, and voicemail integration. Citrix continues to support version 1.8 of the HDX RealTime Optimization Pack, primarily to meet the needs of customers still using Lync Server 2010 (although it reaches Mainstream Support End in April according to its published lifecycle).
Both solutions required authentication by two components, the virtualized Skype for Business client in the data center and the Receiver plug-in on the user device. This led to occasional issues where a user would be prompted to re-enter his credentials.
The challenge in front of the joint team was to bring the best of both solutions together into a new and improved “v2” architecture while eliminating their weaknesses. This new architecture came together during the first quarter of 2015 and was subsequently reviewed under NDA and validated with various large mutual customers.
The “v2” solution
The “v2” architecture now available leverages Citrix’s field-hardened multi-OS HDX RealTime Media Engine as the Receiver plug-in.
This component is currently available for Windows, Mac and Linux x86 devices, with equivalent functionality. (This week, Dell announced support for version 1.8 of the HDX RealTime Media Engine on Wyse ThinOS, with support for RTME 2.0 on the horizon.) The RTME provides a functional equivalent to the Skype for Business media stack, supporting all calling/conferencing scenarios, such as audio and video calling, hold, transfer, call forking and redirection, and active speaker conferencing. It supports up to 720p30 transmit and receive resolutions. And it is, of course, compatible with the Skype for Business protocols for networking, media encryption (SRTP/AES), firewall traversal (STUN/TURN/ICE) and bandwidth management.
But the HDX media engine no longer has to handle authentication or SIP signaling; those functions are now performed exclusively by the Skype for Business client. The Skype client authenticates to the backend infrastructure over SIP using the context of the user’s authentication to the Windows operating system on XenApp/XenDesktop, enabling single sign-on. These simplifications improve robustness and the user experience (for example, initialization occurs more quickly and there is never a need to re-prompt the user for credentials).
The RTME is a self-contained package with a much smaller footprint than the VDI Plug-in; it consumes about 120 MB of storage space on the user device.
HDX RealTime Optimization Pack 2.0 delivers a truly native Skype for Business UI experience. And it adds numerous features to what was previously available in version 1.8, such as:
- Call Delegation
- Response Groups and Team Call Groups
- Voicemail integration
- Automatic Join Meeting audio
- Web Proxy support
- Support for Click-to-Run
- Status icons (Connecting, Connected, etc.)
- Active speaker identification
This is all possible thanks to a much-improved API added to the Skype for Business 2015 client in the December Product Update (client version 15.0.4779.1001), for use in native UI mode. These essential enhancements were introduced by Microsoft quietly while our collaboration on HDX RealTime Optimization Pack 2.0 was still under NDA.
The resulting architecture looks like this:
(This simplified diagram does not show the Microsoft Edge Server used to support remote access.)
If there is no HDX media engine on the user device, the RealTime Optimization Pack supports optional fallback to server-side media processing (Generic HDX RealTime). Fallback can be disabled if it is preferred to deny audio-video service to users without an HDX media engine rather than impose additional CPU load on the XenApp/XenDesktop server.
No need to upgrade to the latest server releases
There are many great reasons to consider upgrading to the latest XenApp/XenDesktop 7.7 release or to Skype for Business Server 2015, but this feature does not require you to do so. HDX RealTime Optimization Pack 2.0 is compatible with XenApp 6.x/7.x and XenDesktop 7.x, and with Lync Server 2013 (as well as Skype for Business Server 2015 and Skype for Business Online).
And no additional software needs to be installed on the Skype for Business or Lync Server. This solution works with existing infrastructure (minimum Lync Server 2013 February 2015 Cumulative Update).
Receiver and RTME compatibility
The HDX RealTime Media Engine is available as a plug-in to the following Citrix Receiver versions:
- Windows Receiver 4.x (32-bit)
- Linux Receiver 13.x (32-bit, x86 only)
- Mac Receiver 12.x (32-bit)
On a 64-bit Linux OS, the current solution is to use the 32-bit Linux Receiver.
To make life easier for BYOD and at-home workers, we’ve created a bundled package of Windows Receiver 4.4 and HDX RealTime Media Engine 2.0 – single download, single install – available shortly.
You can expect more news about the HDX RealTime Media Engine during 2016.
Between the Citrix Ready Program and Microsoft’s Skype for Business Certification Program, we’ve been building up a broad ecosystem of partners including vendors of thin clients, USB audio devices and webcams. Many of these partners were given early access to HDX RealTime Optimization Pack 2.0 and will soon be posting their products on the Citrix Ready Marketplace. We recommend HDX Premium thin clients for use with Skype for Business desktop video.
Stay tuned for lots of exciting device innovation during 2016.
Joint Citrix-Microsoft support
HDX RealTime Optimization Pack 2.0 is more than just a technology solution. Citrix and Microsoft provide a joint support model for this solution. And each vendor can open trouble tickets with the other vendor as needed.
Optional fallback to server-side media processing if there is no HDX RTME on the user device is based solely on Citrix technologies, supported by Citrix.
You’ll find information about the technical support of Skype for Business in CTX132979.
Where do we go from here?
I wish I could tell you more, but in a public forum like this blog Citrix policy prevents me from being specific about our plans for the future. But I’m happy to say that the Citrix-Microsoft partnership is not ending with the HDX RealTime Optimization Pack 2.0 release. Both companies are committed to continued collaboration and joint roadmap planning. We are already actively working together on plans for the next release.
How to learn more
Be sure to check out the online documentation to learn more about HDX RealTime Optimization Pack 2.0, as well as the other references cited in this blog post. Additional Knowledge Center articles will be added or updated in the weeks ahead. But of course the best way to get familiar with the HDX RealTime Optimization Pack is to try it out for yourself. XenApp/XenDesktop Enterprise/Platinum edition customers under active SA or Software Maintenance can login to our Downloads page.
If you’re new to Citrix, you can locate a Citrix reseller partner in your area who will be happy to assist you. In addition to the technical support available from Citrix partners and our own Tech Support department, you can freely leverage our Support Forum to ask questions or obtain assistance. Comments on this blog are very welcome, too, but be aware that I cannot answer roadmap questions here.
Enjoy our new release!
Director of Product Management, HDX