Citrix XenDesktop 4 with HDX RealTime allows users to communicate using the voice chat and video chat features of Microsoft Office Communicator.
There are three scenarios where HDX RealTime is used with Office Communicator:
1. Voice chat using Voice-over-IP. This feature of Office Communicator is much like using a telephone; it enables users to chat in real-time using a headset connected to their computer or thin client.
2. Video conferencing as an observer (voice-only participant). A user may choose to join in a video conference as a voice-only participant. The user can view the video conference and participate in the conversation but does not use a webcam.
3. Video chat using a webcam.
This document describes how to get the best results from both products in these scenarios. It is split into two sections; the first deals with any configuration changes needed to the XenDesktop 4 environment while the second looks at Microsoft Office Communicator itself.
For additional information on using XenDesktop and XenApp to deliver Office Communicator, see Microsoft Office Communications Server 2007 Application Delivery Best Practices, CTX118216 – Microsoft Office Communications Server 2007 Application Delivery Best Practices.
XenDesktop 4 Environment Configuration
The following configuration guidelines for XenDesktop can improve the user experience when using voice chat and/or video chat with Office Communicator:
• If using a webcam, Office Communicator must execute on the Virtual Desktop Agent (VDA) platform in order to use isochronous USB redirection. Running Office Communicator directly on the VDA platform also ensures the best audio quality for voice chat. If Office Communicator is hosted on XenApp and delivered into the virtual desktop through ICA, a webcam cannot be used and audio quality is determined by the legacy audio codec technology in XenApp 5 rather than the new audio codec technology in XenDesktop 4. (The next release of XenApp will include this new audio codec technology.) So, Office Communicator must be installed in the desktop image or (best practice) streamed to the XenDesktop virtual desktop. Further, Office Communicator and Outlook must co-reside so that user presence information can be exchanged between them. Therefore, Outlook must also be installed in the desktop image or (best practice) streamed to the XenDesktop virtual desktop.
Note: XenApp for Windows Server 2008 R2 supports webcam use with Office Communicator and introduces new video compression technology, but double hop delivery of webcam traffic to the XenApp Terminal Services platform is not supported by XenDesktop 4.
• To reduce the CPU load on the VDA platform (server) that results from viewing a video chat session, you can reduce the video display frame rate by setting the following registry entry: HKEY_LOCAL_MACHINE\Software\Citrix\PortICA\Thinwire MaxFramesPerSecond
The default is 24 frames per second (fps), but you can reduce that to 20 or even 15 fps and still get a good video viewing experience. Note that this parameter applies to all server-rendered video, such as QuickTime and Silverlight movies, not to just video conferencing.
• The quality of video viewing is also impacted by the compression level used by Progressive Display. Progressive Display controls the quality of images that are dynamically changing, such as video. You can adjust the level of compression applied to dynamic images to find the optimal balance between video quality and bandwidth consumption. Higher compression degrades video quality but generates less data to be sent over the wire. This not only reduces network bandwidth consumption but can also reduce CPU load; although more CPU is used while compressing the images, the reduction in data to be transmitted actually tends to reduce overall CPU consumption. Downstream video traffic typically consumes about 1 megabit per second of network bandwidth with XenDesktop 4.
• Assign two virtual CPUs to each virtual machine. Real-time voice and video are data intensive and by configuring two vCPUs the thread switching latency is reduced. Note that having two vCPUs does not necessarily mean doubling the number of physical CPUs because physical CPUs can be shared across sessions. If you prefer not to assign two vCPUs to the virtual desktop, you may alternatively reduce CPU load by turning off the Citrix Gateway Protocol (CGP).
• If using a USB telephone on the LAN, then isochronous USB redirection is recommended because both signaling and audio are involved.
• If using a headset, it is generally best to send the audio over the ICA Audio virtual channel (Bidirectional Audio) instead of using USB redirection. This approach minimizes bandwidth consumption. Even if the webcam being used has a built-in microphone, it is generally best to use a headset with a microphone to avoid picking up ambient noise and generating echo in the audio. Citrix recommends using a good quality headset with noise and echo cancellation. If you use the microphone in the webcam, note that there are two types of webcams; ones where the audio device is part of the webcam device and others where the audio device (USB logical arrangement) appears separately. Generally speaking, separate plug-in webcams have the audio and video USB functions combined, but laptop or integrated devices are often (but not always) separate devices. If the audio functionality is a separate USB device you can redirect the audio separately using Bidirectional Audio.
• Configure Bidirectional Audio to use the Optimized-for-Speech audio codec (also known as Medium Quality). This codec is supported by the 11.2 online plug-in for Windows and the 11.100 Receiver for Linux (February 2010 release). The bandwidth consumption with this codec is 34 kilobits per second (17 kilobits per second in each direction). This is a low latency codec that is ideal for voice communications.
• Give the Audio virtual channel higher priority than Thinwire. This is important to minimize latency in the audio path.
• Webcam usage requires a Local Area Network connection from the user to the VDA platform, that is: high bandwidth, low latency. It is accomplished using isochronous USB remoting, a new feature in XenDesktop 4.
Note: Webcam support for remote Office Communicator users is offered by Avistar, a Citrix Technology Partner. The Avistar C3 Integrator for Citrix uses client-side media processing to enable webcam usage over WAN/Internet connections and to maximize server scalability by offloading real-time processing to the user’s Windows device.
• The webcam requires a driver on the user device (as well as in the virtual desktop) to successfully establish USB redirection.
• Voice chat can be used over both LAN and WAN connections. On a WAN connection, audio quality depends on the latency, packet loss and jitter on the connection. Citrix Branch Repeater should be used on connections to branch offices because it supports QoS for the ICA protocol, allowing the Audio virtual channel to be given priority. An enhancement is available from Citrix Technical Support as a private Hotfix (reference 226905) which mitigates delays because of network congestion; it is planned to be included in a public VDA update. With this configuration, audio quality using the Optimized-for-Speech audio codec was subjectively evaluated by our Test engineers as Excellent on a WAN with 5 percent jitter, up to 1.0 percent packet loss (twice the industry standard recommendation for VoIP) and 150 milliseconds roundtrip latency (intercontinental/transoceanic).
• Use the HDX Experience Monitor (Tech Preview) to validate your HDX configuration.
• If users log on to Office Communicator when logging into their VDI instance, then there is an impact on CPU usage of about 30 percent for 10 minutes which then reduces to approximately 2 percent.
• XenServer 5.5 includes improvements to real-time audio especially regarding latency. It is highly recommended that this version of XenServer be used in XenDesktop deployments where any kind of video or VoIP solution is being implemented. Microsoft Hyper-V and VMware vSphere are also supported by XenDesktop 4.