Citrix: What to know about HDX RealTime Optimization Pack for Microsoft Lync

At Citrix Synergy 2011 in Barcelona we had a special session on new features that would be released, one of the features was HDX RealTime Optimization Pack for Microsoft Lync. Stefan Pieters and Martijn Bosschaart showed us a demo set with two XenDesktop sessions, on the session without the Optimization pack installed we saw the only vCPU spike up to 100% and the video/audio quality wasn’t really good but best practice is to use two vCPU’s instead of just one vCPU. The second XenDesktop session had the Optimization pack installed and we could see no spikes in vCPU usage but video/audio quality was impressive!

With the release of XenApp 6.5 Feature Pack 1 and XenDesktop 5.6 Feature Pack 1 Citrix offers the HDX RealTime Optimization Pack for Microsoft Lync, from the eDocs:

Citrix® HDX™ RealTime Optimization Pack for Microsoft® Lync™ offers clear, crisp high-definition video calls in conjunction with Microsoft Lync. Users can seamlessly participate in audio-video or audio-only calls to and from other HDX RealTime users and other standards-based video desktop and conference room systems.

Citrix HDX RealTime Connector for Microsoft Lync runs in both the Citrix XenDesktop virtual desktop and in the Citrix XenApp virtual application environments

 

Looking at the infrastructure it needs a couple components on both the client side and the server side:

Citrix HDX RealTime Optimization Pack for Microsoft Lync provides a highly scalable solution for delivering real-time audio-video conferencing through Microsoft Lync in XenDesktop and XenApp environments. HDX RealTime Optimization Pack leverages your existing Lync infrastructure and inter-operates with other Lync endpoints running natively on devices.

HDX RealTime Optimization Pack for Microsoft Lync consists of both client and server components:

  • The client component, called Citrix HDX RealTime Media Engine, is integrated with the Citrix Receiver on the endpoint device and performs all signaling and media processing directly on the user device itself, offloading the server for maximum scalability, minimizing network bandwidth consumption and ensuring optimal audio-video quality.
  • The server-side (and virtual desktop) component, Citrix HDX RealTime Connector for Microsoft Lync, is a connector to the Microsoft Lync client that drives the RealTime Media Engine on the endpoint. Connector runs in the virtual server environment alongside Microsoft Lync and communicates signaling information over a Citrix ICA virtual channel to the RealTime Media Engine running on the user device

 

The technology  behind the HDX RealTime Optimization pack is build on Avistar technology, it’s primary goal is to avoid hair-pinning.  Hair-pinning explained:

In voice over IP, hairpinning is a process in which a phone set connects to a private branch exchange (PBX) and then back out to another phone set in order to carry out a call. The entire communication takes place over a path that is longer — sometimes much longer — than the shortest possible circuit between the two endpoints.

All conventional telephone systems, both analog and digital, use hairpinning connections. However, in VoIP, hairpinning can often be avoided and two endpoints can be connected directly after the call has been initiated. This form of direct communication following call setup is called shuffling. In VoIP networks, hairpin connections are considered inefficient and high-end systems support shuffling.

So using this technology the high overview design would look like:

 

hdxlync1

 

By applying HF for XA/XD you’ll see that clients won’t use hairpinning but will setup a p2p connection between the clients after the connection setup and by setting up this connection data doesn’t go trough all hops twice but stays on the LAN and in a direct connection thus optimizing user experience and lowering the total amount of used bandwidth.

The following two tabs change content below.

Kees Baggerman

Kees Baggerman is a Staff Solutions Architect for End User Computing at Nutanix. Kees has driven numerous Microsoft and Citrix, and RES infrastructures functional/technical designs, migrations, implementations engagements over the years.

5 comments

  1. Mike says:

    Hi Kees,

    Have you every had an issue with the Lync 2010 Media Engine crashing when full optimized on thin clients while placing a call to voice mail (Exchange Server)? I am a voice engineer, not a Citrix engineer, but in our environment, we have seen calls ring approx. 10 times and then an error pops up on the screen Lync Media Engine crash. In the logs it does not show a route to the Exchange server, but if calling unoptimized it goes to voice mail as normal. Also if calling from a Lync 2013 client registered to a Lync 2010 sever, it works fine.

    I also see in the logs that the original call setup in the SDP is the Avistar as the user agent and Remote_SIP_User_Agent, but then it seems after that it is the Lync client (UCCAPI 4.0) as the user agent and Remote_SIP_User_Agent, then the Lync Media Engine Crashes after 10 rings, never getting to the voice mail server.

    I don’t have a lot of info right now, since I primarily work on the VoIP side of the house, but I am trying to help out the Citrix engineer that is trying to resolve this issue.

    • k.baggerman says:

      Which version of the HDX Media Engine are you using? I’ve heard from one of my colleagues that he had to upgrade to 1.4 because they were experiencing the same issues.

      • Mike says:

        We are using 1.1, but from a telephony stand point it looks like the call was initiated from the HDX media engine and then the Lync server sends an invite to the Lync client (UCCPI 4.0) instead of the HDX media engine/client. The remote_SIP_User-agent starts off as the HDX and then the next 3 or 4 invites goes to remot _SIP_User-agent is UCCAPI 4.0

        In our lab, when optimized the remote_SIP_User-agent seems to always be the HDX and not the UCCAPI 4.0. Again, I am not a Citrix engineer, I am just looking at the logs.

        • Mike says:

          We are also using SIP over TLS, which I know can complicate things a bit. Again, just to recap:

          unoptimized calls work fine and reach voice mail as it should

          From a thick client calls work fine and reach voice mail as it should

          When calling an offline Lync user the call goes to voice mail as it should

          When calling up optimized (thin client) the calls works, but when it is suppose to go to voice mail, it rings 10 times in all and has a Lync Media Engine failure.

          • k.baggerman says:

            Mike, I would start with a test with HDX Media Engine 1.4. Like I said, we’ve seen similar issues being solved by simply upgrading.

Leave a Reply