Tag Archives: HDX Realtime

Deploying Skype for Business 2015-16 (Offloaded) from a Citrix HDX Optimised Virtual App or Desktop

The following content is a brief and unofficial prerequisites guide to setup, configure and test delivering Skype for Business 2015 as a Citrix virtual app or an app within a virtual desktop powered by Citrix XenApp or XenDesktop prior to deploying in a PoC, Pilot or Production environment by the author of this entry. The views, opinions and concepts expressed are those by the author of this entry only and do not necessarily conform to industry descriptions or best practises.

Shortened Names
SKYPE FOR BUSINESS – skype4b
XENAPP – xa
XENDESKTOP – xd
XENAPP/XENDESKTOP – xad
VIRTUAL DELIVERY AGENT – vda
HIGH DEFINITION EXPERIENCE – hdx
VIRTUAL DESKTOP – vd
VIRTUAL APPS – va
REALTIME MEDIA ENGINE – rtme
REALTIME CONNECTOR – rtc

Introduction
The following blog article provides a basic understanding of how to deploy Skype for Business 2015 with the HDX Optimisation Pack 2.0 within a Citrix XenApp, XenDesktop environment which offloads the audio and video to the users local end-point running Citrix Receiver and the HDX RealTime Media Engine on supported Windows, Mac or Linux OSes. This offloading capability is powered by latest v2 HDX Optimisation Pack 2.0 architecture which can be found at – https://www.citrix.com/blogs/2016/01/12/citrix-and-microsoft-unveil-v2-solution-for-skype-for-business/ joint worked on between Citrix and Microsoft.

Why Customers Virtualize Skype for Business with Citrix

Understanding the HDX Optimisation Pack 2.0 vs. a Non-Optimised Deployment
The following is an oversimplified diagram which is also not intended to be 100% accurate but should provide you with a better understanding of the differences between an non-optimised vs. optimised delivery of a Skype4B virtual app from a Citrix environment.

Non-Optimised  Optimised with the HDX Optimisation Pack 2.x.n

VM
running Windows OS
VDA
7.x.n
Skype4B
Client + Media Engine
Internet
End-point
+ Citrix Receiver

VM
running Windows OS

VDA 7.x.n
ICA/HDX Virtual Channel* 

 ↓
Skype4B
Client
HDX
RealTime Connector powered by HDX Optimisation Pack 2.x.n

Internet  ↑
 ↓

End-point
+ Citrix Receiver (Windows, Mac or Linux) *
HDX
RealTime Media Engine (RTME) powered by HDX Optimisation Pack 2.x.n

Pre-requisites & System Requirements
0. The following UDP Ports 16500-16509 required for HDX RealTime in addition to the following TCP ports 443, 1494, 2598 for ICA/HDX. Please be sure to reivew the firewall considerations and requirements for Lync/Skype edge servers at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-configure-firewall.html
1. You’ll require a Skype for Business 2015 server, Microsoft Skype for Business Online* or Microsoft Lync 2013 back-end server with the Skype for Business 2015 client. You you will also require one of the following supported operating systems (Desktops) Microsoft Windows 10, 8.1, 7 or (Servers) Microsoft Windows Server 2008 R2, Windows Server 2012 R2 and along with supported version of XenApp, XenDesktop which you can verify which versions are supported at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-system-requirements.html.
2. Download HDX Optimisation Pack 2.x.n – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-system-requirements.html
3. Upgrade your Citrix Receiver and install the HDX RealTime Media Engine 2.x.n – http://www.citrix.com/downloads/citrix-receiver/additional-client-software/hdx-realtime-media-engine-201.html. You can now also download the latest Citrix Receiver 4.4 and HDX RealTime Media Engine 2.0 for Windows in one installation package which can be downloaded at – https://www.citrix.com/downloads/citrix-receiver/additional-client-software/hdx-realtime-media-engine-20.html.
4. If you are going to be your testing from a thin client instead of a laptop, netbook or workstation then ensure that you review the latest Citrix Ready classification for Thin clients avaiable at – https://citrixready.citrix.com/info/thin-clients.html however I would recommend that you review the Thin Client whitepaper first and focus on page 4 which you can download and view at – https://citrixready.citrix.com/content/dam/ready/assets/thin-clients/thin-clients-features.pdf. If your looking for Skype for Business compatible hardware please ref to – http://partnersolutions.skypeforbusiness.com/solutionscatalog#/locale=en-us&categoryid=2&sortby=3&subcategoryid=3,5&filter=&manufacture=&version=&isQualified=&region=&language=&page=1&apptype=&tags=.
5. If your intending to deploy a test/poc Skype for Business 2015 environment then be sure to check out these technical diagrams avaiable at – https://technet.microsoft.com/en-us/library/dn594589.aspx which contains some great diagrams depicting traffic flows and ensuring Call Quality Methodology (CQM).
6. Skype for Business and Lync Delivery Feature Matrix – http://support.citrix.com/article/CTX200279.
7. Finding a suitable HDX Ready thin client please check out – https://citrixready.citrix.com/content/dam/ready/assets/thin-clients/thin-clients-features.pdf of use any smart device that supports Receiver with the RTME for Windows, Linux & Mac.

Deploying the HDX Optimisation Pack 2.0 for Skype for Business 2015 for XenApp/XenDesktop
0. Initiate a video call using Skype for Business from your PC using Skype for Business as a published virtual app on its own or in a virtual desktop between yourself and another individual with Skype4B installed locally on their PC or Mac. Open task manager locally and on the XenApp server or virtual desktop and watch the CPU, memory and bandwidth consumption during your video call and remember to adjust screen size during the call between small, medium and full screen.
1. Install Skype for Business 2015 client within your virtual desktop (*server or desktop Windows OS).
2. Publish the Skype4B 2015 virtual app or the virtual desktop that contains app.
3. Connect to the virtual app or desktop and verify that you can open and login to your Skype4B and ensure that its functioning as normal obviously it’s not optimized but will still perform video/audio calls thanks to the HDX technologies.
4. Close Skype4B 2015 and now install the HDX RealTime Connector e.g HDX_RealTime_Connector_2.0_for_Skype_For_Business.msi downloaded from Citrix.com.
5. Disconnect from the virtual desktop*.
6. Close any ICA/HDX sessions and close Citrix Receiver
7 Next install the HDX RealTime media engine HDX_RealTime_MediaEngine_2.0_for_Windows.msi downloaded from Citrix.com.
8. Start Citrix Receiver and reconnect to your published virtual Skype4B app or virtual desktop with Skype for Business 2015 installed and you should see the HDX RealTime Connector stating “Optimised.
9. Re-initiate your video call to the same user as in step 1 above and you’ll notice the difference immediately as the video will be crisp and sharp and again open task manager and repeat the same process and you’ll see the CPU, memory and bandwidth are low on the back-end but locally on your end-point the CPU, Memory and bandwidth increases to medium as the audio and video is now been processed locally on your end-point thanks to the RTME.

Deploying the HDX Optimization Pack 2.1 for Skype4B 2016
Follow the all the steps above BUT for use with the Skype for Business 2016 you need to use the “Click-to-Run” installer and adjust the configuration.xml file for the installation to use “current” switch for the default installation behavior as Office 365 ProPlus default installation behaviour is to use “Deferred for Office 365 ProPlus. To learn how-to reconfigure the XML file in greater detail please refer to – https://technet.microsoft.com/en-us/library/jj219426.aspx for help.

The min supported Microsoft Skype for Business 2016 version is 16.0.7341.2032 or later for HDX Opt Pack 2.1 ref http://docs.citrix.com/en-us/hdx-optimization/2-1/hdx-realtime-optimization-pack-system-requirements.html using the O365 “Click-to-Run” installer, for an overview of the Click-to-Run method of Office 365 please refer to the following Technet article at – https://technet.microsoft.com/en-gb/library/jj219427.aspx.

Example of an HDX Offloaded Skype4B 2015 Video Call
The following picture depicts a Skype for Business 2015 video call HDX Offloaded using the HDX Optimization Pack 2.x.n between two Windows 10 virtual desktops hosted in different locations in the EU delivered to myself and a Citrite colleague in different locations within London. I myself was at partners customer event in the City using public Wi-fi that 200+ other people were connected to and using, he was at home in SW London connected to the internet over his home internet connection.

Suggested HDX Policy for Fallback
In the unlikely event the RTME fails you want a fallback scenario to preserve the UX as best you can so could implement “Selective use of a video codec (H.264) to compress graphics” – http://docs.citrix.com/en-us/xenapp-and-xendesktop/7-11/whats-new.html#par_anchortitle_59c9 by applying the following HDX policy “Use video codec for compression” with the following setting applied “For actively changing regions“. You can find out more about this NEW graphics mode in XenApp, XenDesktop 7.11 (Seven11) at – http://docs.citrix.com/en-us/xenapp-and-xendesktop/7-11/policies/reference/ica-policy-settings/graphics-policy-settings.html and scroll to or search for the web page for “Allows use of a video codec (H.264) to compress graphics“.

Troubleshooting Basic’s
1. Check the obvious ACL’s of your f/w(s) – http://docs.citrix.com/en-us/hdx-optimization/2-1/hdx-realtime-optimization-pack-configure-firewall.html and remember that external Lync/Skype for Business users connect to the Skyp4B/Lync Edge server which is critical component of Skype for Business/Lync Server infrastructure.
2. Resolving poor quaility video, sound issues, collection thin client logs for Dell Wyse terminals and much more – http://docs.citrix.com/en-us/hdx-optimization/2-1/hdx-realtime-optimization-pack-troubleshooting.html.

Deliverying Microsoft Skype for Business and Lync to XenApp and XenDesktop Users
https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/delivering-microsoft-lync-to-xenapp-and-xendesktop-users.pdf

Microsoft on the Optimization Pack v2 Architecture
I’d suggest watching the following broadcast on YouTube entitled “SfB Video Broadcast: Ep 9. VDI” from the Skype for Business team providing a Microsoft perspective on the offloading capabilities for Skype4B with the Citrix Optimisation Pack 2.0. As a final thought discovery more about Skype4B at there YouTube channel which is accessiable at https://www.youtube.com/channel/UCfL-WUXlvFjLsUs4UCpPrsA.

Office 365 client update channel releases – Version 1608 (Build 7341.2032)
“Citrix support: Support for Citrix-based Virtual Desktop Infrastructure (VDI) environments, along with Citrix HDX Real Time Optimization Pack 2.1.” from – https://technet.microsoft.com/en-us/office/mt465751?f=255&MSPPError=-2147217396

HDX RealTime Optimization Pack 2.0 for Skype for Business with XenApp/XenDesktop

The following content is a brief and unofficial prerequisites guide to setup, configure and test HDX RealTime Optimization Pack 2.0 with XAD 7.7+ prior to deploying in a PoC, Pilot or Production environment by the author of this entry. The views, opinions and concepts expressed are those by the author of this entry only and do not necessary conform to industry descriptions or best practises.

Shortened Names
XENAPP XENDESKTOP – xad
REALTIME MEDIA ENGINE – rtme
REALTIME CONNECTOR – rtc
USER INTERFACE – ui
UNIFIED COMMUNICATION – uc
HIGH DEFEINTION EXPERIENCE – hdx
SKYPE FOR BUSINESS – skype4b

What is HDX RealTime?
It’s a component of the Citrix HDX technology stack aimed at enhancing the UX for UC e.g Lync, Skype for Business. To better understand implementing Unified Communications with XenApp and XenDesktop check out- https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/unified-communications-with-xendesktop-solutions-overview.pdf for an introduction overview. If you aren’t familiar with HDX technologies then perhaps its best to review the HDX introduction whitepaper entitled “HDX technologies for optimizing the virtualization experience” available at – https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/citrix-hdx-technologies.pdf prior to proceeding with the implementing of the HDX RealTime Optimization Pack within your Citrix environment.

What’s New
1: Native Skype for Business 2015 UI supported.
2: Authentication and SIP signalling handled exclusively by the Skype for Business client
3: Fallback mode is controlled by a registry entry at the following location “Key: HKLM\Software\Citrix\HDXRTConnector or HKCU\Software\Citrix\HDXRTConnector Value: DWORD DisableFallback” but please ref to – http://docs.citrix.com/en-us/hdx-optimization/2-0/about.html for what value needs to be inserted and be sure to read the Registry WaRniNg notification.
3: Improved audio-video quality (resilience to packet loss, echo cancelation)
4: Call and video call buttons added to the contact card
5: Automatically join meeting audio controls
6: Adheres to the Skype for Business Server settings surrounding making audio, video calls from endpoints.
7: Web proxy support with limitation as described at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-about.html#par_richtext_3
8: ….*

A full and detailed list* is available at – http://docs.citrix.com/en-us/hdx-optimization/2-0/about.html and a technical key features overview is available at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-about.html#par_richtext_1 covering support codecs, resolutions, webcams and limitations within this release.

Example of an Offloaded Skype for Business 2015 Published Citrix Virtual Desktop
The below is an example of the HDX Optimization Pack 2.0 implemented with Skype for Business 2015 client using and the latest Citrix Receiver and HDX RealTime media engine on my end-point which is a Dell Latitude E6420 running Windows 8.1. My initial test results within my IaaS home lab have been very good and I’m currently doing more testing with a few colleagues and will update this blog update as when/how time permitting with the feedback and results.

An Introduction & System Requirements (Basic’s)
The Citrix HDX RealTime Optimization Pack consists of client and server component’s and requires the following system requirements between Citrix
Receiver for Windows 4.x; Receiver for Mac 12.x; Receiver for Linux 13.x; Skype for Business 2015 Server, Business Online or Lync 2013 Server; XenDesktop 7, 7.5, 7.6 Feature Pack 1, Feature Pack 2, and Feature Pack 3. XenDesktop 7.7; ◦XenApp 6.0, 6.5, 6.5 Feature Pack 1, and 6.5 Feature Pack 2 and Feature Pack 3 , XenApp 7.5, 7.6 Feature Pack 1, Feature Pack 2, and Feature Pack 3, XenApp 7.7 with a full detailed list and overview available at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-system-requirements.html.

Why Use The Citrix HDX RealTime Optimization Pack for Lync Performance Comparison

What XAD Licensing
Please refer to the XAD features list – https://www.citrix.com/go/products/xendesktop/feature-matrix.html to identity what XAD edition is required in order to utilise the HDX Optimization Pack.

Client Side
The Citrix HDX RealTime Media Engine is a component that integrates within the Citrix Receiver thus providing a wide range of support device types (Windows, Mac and Linux) and offloading capabilities thus improving the UX for end-users while also improving bandwidth consumption and the density of XenApp (RDS) workloads.

Server Side
The Citrix HDX RealTime Connector (RTC) is installed alongside the Microsoft Skype for Business within a virtual desktop which allows for communication (signalling) through an Citrix ICA virtual channel between the virtual desktop and the users end-point running Citrix Receiver (RTME).

Skype for Business and Lync Delivery Feature Matrix
http://support.citrix.com/article/CTX200279

Download, Installation & Troubleshooting Overview
You can download from – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-download.html for both XenApp and XenDesktop. You can find a Basic installation overview of your chosen end-point(s) at – http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-install.html and you can utilise the following deployment guide entitled “Delivering Microsoft Skype for Business and Lync to XenApp and XenDesktop Users” available at – https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/delivering-microsoft-lync-to-xenapp-and-xendesktop-users.pdf.

If you have any issues POST your deployment initially first verify that the RealTime Connector connectivity status which should state Connected indicating that there is a connection over the ICA virtual channel and that both client and server side components match. For a more in-depth view and images alongs with other useful troubleshooting info please check out –
http://docs.citrix.com/en-us/hdx-optimization/2-0/hdx-realtime-optimization-pack-troubleshooting.html
and if not appears to help be sure to read the limitations node in eDocs and the feature matrix as described earlier in this blog article.

Skype for Business Broadcast Series
I’d suggested that you begin with watching the SfB Video Broadcast: Ep 9. VDI archive from the Skype for Business YouTUBE channel at – https://www.youtube.com/channel/UCfL-WUXlvFjLsUs4UCpPrsA before watching the rest of the broadcast recordings in the archive if your looking to understand more about deploying Skype for Business on XenApp, XenDesktop with the HDX Optimisation Pack 2.0.