Last June, XenDesktop 3 Feature Pack 1 unveiled our new “Spectrum” audio subsystem, offering broad compatibility with softphones and the voice chat features of unified communications applications. With XenDesktop 4 and our 11.2 online plug-in for Windows we went the next step, introducing new audio codec technology from project Ulysses that delivers brilliant voice clarity with minimal bandwidth consumption. So, what does it all mean? What can you do with this technology and how far can you stretch it? And how should you configure XenDesktop 4 for optimal VoIP performance?
Our goal for XenDesktop 4 was to provide the best solution in the desktop virtualization market for delivering VoIP applications to LAN-connected users while providing an architecture to expand to WAN scenarios. That goal was fully met, and once the release was out the door our Engineering team had some cycles to explore just how far we could stretch the technology beyond the LAN environment. Simulating more strenuous WAN conditions, we were able to measure the performance for users accessing their virtual desktop under a range of bandwidth, jitter, latency, packet loss and network congestion scenarios. That’s where it got really exciting, because the results surpassed my expectations.
But before we get into all of that, perhaps I should start with a recap of the different ways in which a softphone application can be delivered from XenDesktop 4.
Even before the Spectrum audio subsystem was introduced, softphones could be delivered in “control mode” where the application controls a physical telephone set, be it your office phone, mobile phone, home phone or whatever. Vendors such as Avaya and ShoreTel offer this capability. From the softphone application, users can transfer calls and use speed dial, call history, account codes and other features normally available only on a proprietary office phone. Customers tell me that this approach has made it practical for them to support at-home workers and thereby reduce the cost of office space. For traveling workers, it means they can use any phone and get the same IP-PBX features they enjoy when in the office.
In addition to supporting control mode, XenDesktop enables what I’ve dubbed “softphone-only mode”. In softphone-only mode, you don’t need a physical telephone. You just need to a headset. The voice traffic between the hosted softphone application and the user device is sent over ICA. So you might call it “VoIP-over-ICA”.
Project Ulysses explored a variety of audio codec technologies and we introduced two of them with XenDesktop 4. For HDX RealTime, we selected a codec that is specially optimized for voice-over-IP. It sounds great, and it uses only 34 Kbps of bandwidth (17 Kbps in each direction) on the ICA pipe. Note that this codec is used only between the hosted softphone and the user. Between the softphone and the IP-PBX or the other party on the call, the application uses whatever codec is configured or negotiated (G.729 and G.711 are two common examples).
But there’s more to VoIP than just audio encoding and decoding. One obvious challenge is that VoIP is real-time. A telephone conversation becomes awkward if too much delay builds up in the audio stream. So it is important not to have too much buffering in the audio path.
So far, we’ve successfully tested XenDesktop 4 with Cisco IP Communicator, Avaya IP Softphone, Avaya one-X Communicator, Microsoft Office Communicator, X-Lite and Skype. We do not foresee any compatibility issues with other softphones; if you discover any, please let us know.
To deliver a softphone or unified communications application with XenDesktop 4, I recommend changing some of the product’s default settings to tune it for optimal VoIP performance. Based on what I’ve gathered from our Engineering team and from the field so far, my recommendations are:
• Use Bidirectional Audio (leveraging the XenDesktop audio driver) rather than raw isochronous USB remoting, since this will consume less bandwidth
• Choose the Optimized-for-Speech (Medium quality) audio codec setting rather than the default High Definition setting to minimize bandwidth consumption and latency (encoding time)
• Use the 11.2 online plug-in for Windows or the upcoming 11.100 release of our Linux Receiver (these versions include the new audio codec technology)
• Use good quality headsets with noise and echo cancellation
• Raise the priority of the Audio virtual channel to optimize real-time performance
Early feedback from the field has been very exciting. I recently received an email with these comments: “The quality was fantastic. You couldn’t tell that the person on the other end wasn’t talking on a normal landline.”
So what about users on a WAN connection? How far can you stretch this technology if you want to deliver VoIP apps to branch office or at-home workers? With a minor “hotfix” enhancement that adjusts for possible network congestion by preventing a build-up of latency in the audio path, we’re seeing very satisfying results on WAN connections. For example, at 5% jitter the audio quality is excellent with as much as 1% packet loss and 200ms of roundtrip network latency, and it remains good even well beyond that.
If you’re delivering voice chat to remote users, here are a few additional tips:
• Be sure to evaluate the performance under real world network conditions
• To ensure adequate processing power for real-time traffic on a hypervisor, you may need to either allocate two virtual CPUs or disable the Citrix Gateway Protocol (CGP)
• Obtain the private hotfix for network congestion from Citrix Technical Support (it will soon be incorporated into a public VDA update)
• Use Citrix Repeater and Branch Repeater between the data center and the remote office for Quality-of-Service (QoS)
And then send me an email to let me know how it’s working out. I’ll work with our team to compile all the best tips and tricks more formally in a tech note for the Citrix Knowledge Base.
On the topic of unified communications, look for a blog post from me on webcam support in the near future. But now I’d better finish preparing for our ServTech conference in Dallas, where I’ll be training our Americas Sales Engineering team on the latest HDX innovations.
Citrix Product Strategist, HDX