Technical overview

Warning

Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of the Registry Editor can be solved. Use the Registry Editor at your own risk. Be sure to back up the registry before you edit it.

The RealTime Optimization Pack offers clear, crisp high-definition audio and video calls with Microsoft Skype for Business in an optimized architecture. Users can seamlessly participate in audio-video or audio-only calls to and from other:

  • Skype for Business users
  • Microsoft Lync users
  • Standards-based video desktop and conference room multipoint control unit (MCU) systems
  • Standalone IP phones compatible with Skype for Business

All audio and video processing is offloaded from the Server to the end-user device or terminal. Doing so optimizes the quality of the call with minimal impact on the server scalability.

Key features

The Optimization Pack provides Citrix Virtual Apps and Desktops customers the following key features:

  • Optimizes Skype for Business audio and video calls on Windows, Mac, Chrome OS, and Linux devices by redirecting media processing to the user device. Our partner, Dell, supports Wyse ThinOS.
  • Co-developed with Microsoft, who developed and maintains the native Skype for Business client user interface. The advantage is that there is no UI hooking by the Citrix software. Users see the familiar native Skype for Business interface.
  • Compatible with Skype for Business Server 2019, Skype for Business Server 2015, Lync Server 2013, and Skype for Business Online (Office 365).
  • Enables call initiation from the Skype for Business dialpad, dial-in bar, contacts list, Conversation window, and Outlook or other Office application.
  • Supports all Skype for Business calling and conferencing scenarios. That includes audio and video calling, hold, transfer, call forking and redirection, active speaker conferencing, and simulcast video.
  • Compatible with Skype for Business protocols for networking, media encryption (SRTP/AES), firewall traversal (STUN/TURN/ICE), and bandwidth management.
  • Forwards device location information to the Skype for Business client, to support Emergency Services (for example, E911) and Location Based Routing (LBR).
  • Call Admission Control on the Skype for Business server improves the media quality in enterprise networks. It does so by tracking media bandwidth usage and denying calls that would overload the network by using too much bandwidth.
  • Call Admission Control works in all network configurations supported by Microsoft. That is, multiple regions, sites, links, routes, policies, and so forth. It works for both on-premises and remote endpoints. On remote endpoints, as with native Skype for Business clients running remotely, only internal portions of the media path are subject to the Call Admission Control bandwidth policies.
  • Support for Skype for Business calls when the Edge Server is not reachable. In these cases, the Optimization Pack goes into fallback mode and audio and video processing occurs on the server.
  • Supports these audio codecs: SILK, G.771, G.722, G.722.1, G.722c, and RT-Audio. We don’t support the G.722 Stereo and the Siren low bandwidth codec. This support enables voice communications over a wide range of network environments, including the public internet and mobile networks.
  • Field-proven compatibility with a broad range of audio devices, conferencing bridges, gateways, and server and network-based recording solutions. For recommended products, see Citrix Ready Marketplace.
  • Simulcast video transmission (multiple concurrent video streams) to optimize the video quality on conference calls and Skype Meetings.
  • Uses hardware H.264 encoding on Windows devices that support AMD Video Coding Engine (VCE) or Intel Quick Sync, subject to compatibility. We recommend using the latest driver versions.
  • Supports RT-Video, H.264 UC, H.264 Scalable Video Coding (SVC), and H.264 Advanced Video Coding (AVC). Video call rates range from 128 kb/s to 2048 kb/s. All video is encoded at up to 30 fps (depending on the webcam used) and transmitted over RTP/UDP (preferred) or TCP.
  • Uses the hardware acceleration capabilities of USB Video Class (UVC) 1.1/1.5 H.264 hardware-encoding webcams with Windows and Linux devices (not including the Citrix Ready workspace hub).
  • The Optimization Pack takes advantage of the H.264 hardware encoding functionality of the Logitech C930e and C925e cameras on conference calls that use simulcast video. The hardware-encoding capability of these cameras is available when used with Windows and Linux devices.
  • H.264 hardware encoding and decoding on Linux supporting the AMD Video Coding Engine (VCE). The Hardware decoding on Linux is disabled by default. The current AMD driver OMX decoder in Linux, decodes video streams with high latency (up to 500 ms). You can enable the hardware decoding using the registry:

    HKEY_CURRENT_USER\Software\Citrix\HDXRTConnector\MediaEngine\

    Name: DisableLinuxAMDH264HardwareDecoding

    Type: DWORD

    Data:

    0 – enabled

    1 or no value – disable

  • Supports a wide range of video resolutions, from 320x180 to 1920x1080, at up to 30 frames per second.
  • Supports most webcams, including built-in webcams on Windows devices and built-in webcams (FaceTime cameras) on Mac devices.
  • Improves audio and video quality over lossy connections by enabling forward error correction (FEC).
  • In fallback mode, generic HDX RealTime (the Optimized-for-Speech codec) handles Echo Cancellation. Therefore, the RealTime Optimization Pack Echo Cancellation feature is automatically disabled and this option is grayed out under Settings in the Optimization Pack notification area icon.
  • When enabled by administrators, all audio and video calls made with the Optimization Pack inform the Skype for Business server infrastructure about the bandwidth usage. The calls follow all bandwidth policy constraints, including:
    • Limits audio and video bandwidth as required by the policies.
    • Downgrades video calls to audio only if the bandwidth for video is not available. A generic message displays.
    • Reroutes the call through the internet when the bandwidth on the corporate network is not available. A generic message displays.
    • Reroutes the call to voicemail when the bandwidth is not available anywhere. A generic message displays.
    • Reports the Call Admission Control bandwidth constraints to the Quality-of-Experience monitoring database.
  • Supports Quality of Service (QoS) by observing the audio and video port ranges configured on the Skype for Business server (see https://docs.microsoft.com/en-us/lyncserver/lync-server-2013-configuring-port-ranges-for-your-microsoft-lync-clients?redirectedfrom=MSDN and https://docs.microsoft.com/en-us/powershell/module/skype/Set-CsConferencingConfiguration?redirectedfrom=MSDN&view=skype-ps).
  • Supports Differentiated Services Code Point (DSCP) marking for media packets. For Windows, distribute the QoS policies to the endpoints. For Linux, Chrome OS, and macOS X, there are Optimization Pack registry settings that must be applied in the user profile on the server. For more information, see Citrix Knowledge Base article https://support.citrix.com/article/CTX215691.
  • Optimizes the Quality-of-Experience (QoE) through various techniques, including:
    • Adaptive jitter buffer
    • Packet loss concealment
    • Call rate adaptation
  • The Quality of Experience reports specifies the RealTime Optimization Pack mode (optimized or non-optimized).The endpoint operating system entry is added with a prefix, which specifies the optimized versus non-optimized state of the call.
    • Optimized – HDXRTME: <OSversion>

      Example in a report: HDXRTME: Windows 10 Pro,Windows 10 Pro,No Service Pack WOW64

    • Unoptimized – HDXRTC: <OSversion>

      Example in a report: HDXRTC: Windows 7 Enterprise,Windows 7,SP1 WOW64

  • Supports Intel-based Chromebook devices that can run Android apps (ARC++), used with the minimum version of the Citrix Workspace app 1809 for Android. Both the Workspace app and the RealTime Media Engine are released through the Play Store. For a list of supported Chromebooks and Chromeboxes (only listed as a stable channel), see Chrome OS Systems Supporting Android Apps. For Chromebook limitations, see Limitations.

    Chromebook video

  • If there is no RealTime Media Engine present on the user device, provides fallback to server-side media processing (Generic RealTime).
  • The RealTime Media Engine uses the Citrix Workspace app for Windows auto-update capability and policy controls.
  • Single download, single install bundle of Citrix Workspace app for Windows and the RealTime Media Engine. The single install bundle is ideal for first-time users on unmanaged devices.

Limitations

When you deliver the Skype for Business client in a virtualized environment, there are a few feature differences. For more information, see Citrix Knowledge Base article https://support.citrix.com/article/CTX200279.

  • On Linux terminals, the RealTime Media Engine installer disables multimedia redirection in the Citrix Workspace app for Linux. Doing so avoids the Optimization Pack and the Citrix Workspace app for Linux/Unix getting into a conflict when accessing video devices. HDXRTME Users can enable multimedia redirection in the module.ini file. Enabling multimedia redirection allows the RealTime Media Engine and Citrix Workspace app for Linux to co-exist. Support for coexistence is included in the Citrix Workspace app for Linux 1810 or later with any version of the RealTime Media Engine.

  • If you have more than one camera connected to an endpoint and you want to use the second camera for videos or video previews, open Tools > Video Device Settings and select the camera and click OK.
  • The RealTime Media Engine doesn’t support these features on Chromebooks:
    • External USB webcams.
    • Camera encoding USB Video Class (UVC) 1.1.
    • Device enumeration and switching from Skype for Business settings. Only default devices are used.
    • G722.1C, RTAudio, and RTVideo codecs.
    • Human interface devices, auto gain control, and Call Admission Control.
    • In fallback mode, webcam and audio devices are not available because of limitations in the Citrix Workspace app for Android.
    • Simulcast support in multiparty video conference calls.
  • When using an HP T730 thin client with Windows 10 and a Logitech C925e web cam to make a video call, and then resizing the window to high definition resolution, a 30 fps video stream is sent as a 24 fps video stream.
  • If Skype for Business is running locally on your device, right-click the Skype for Business icon in the system tray and Exit the application. Interaction issues are likely when running Skype for Business locally while it is also running in the data center as a hosted application.
  • Microsoft does not support the Lync and Skype for Business basic client with the Optimization Pack. Workaround: Use the full version of Skype for Business.
  • The Optimization Pack does not support direct media connections to and from public switched telephone network (PSTN) gateways. There is an optional feature of Skype for Business, known as media bypass. For more information, see https://docs.microsoft.com/en-us/skypeforbusiness/plan-your-deployment/enterprise-voice-solution/media-bypass?redirectedfrom=MSDN and Citrix Knowledge Center articles https://support.citrix.com/article/CTX200279. If Skype for Business server administrators enable media bypass, PSTN calls involving Optimization Pack users automatically and transparently route media connections through the Mediation Server. This feature limitation doesn’t cause any user impact. Take this limitation in to account when planning network capacity.
  • When the Skype for Business client is delivered as a published application rather than as part of a full Windows desktop, desktop sharing is not supported. If you use desktop sharing, the server desktop is shared rather that the local desktop. Application sharing can be used to share other hosted applications during a Skype for Business call. The virtualized Skype for Business client cannot share applications running locally on the user device.
  • Client-side recording is not supported. Citrix recommends evaluating third-party server/network-based recording solutions.
  • Gallery view is not supported in multiparty calls. Active speaker view is used in Skype for Business multiparty calls using the Optimization Pack.
  • Panoramic webcams that deliver a 360-degree view of the meeting room are not supported.
  • We do not support optimized delivery in a double-hop Citrix Virtual Apps and Desktops-Citrix Workspace app scenario. Optimized delivery is redirection of media processing to the user device.
  • Web proxy limitations:
    • HTTP proxy authentication is not supported. Configure proxies using allow lists to allow unauthenticated access to target Skype for Business servers (for example, Office 365 servers for cloud-based deployments).
    • Web Proxy Auto-Discovery Protocol (WPAD) and dynamic proxy detection are supported by using Windows endpoints only. Configure Linux and Mac endpoints using a static HTTP proxy address.
  • On Linux terminals, the RealTime Media Engine installer disables multimedia redirection in the Citrix Workspace app for Linux for 64-bit applications. Thus, avoiding the Optimization Pack and the Citrix Workspace app for Linux/Unix getting into a conflict when accessing video devices. However, other unified communications applications cannot support Generic USB redirection when accessed on a Linux terminal that has the RealTime Media Engine installed.

    The RealTime Optimization Pack 2.8 with Citrix Workspace app for Linux 18.10 and above, supports multimedia redirection for all 32-bit applications.

  • The date and time strings on USB telephone devices that have display capabilities are not properly localized.
  • The Plantronics Clarity P340 audio device is not supported.
  • The Optimization Pack disables the use of hardware acceleration for the Logitech C920 camera on Windows. Support is provided for the C920 as a nonencoding camera. To enable hardware compression for the Logitech C920 on Windows, do the following:
  1. Replace the Logitech driver with the stock Microsoft driver.

  2. Create a registry setting that enables hardware acceleration with the C920.

    On 32-bit and 64-bit Windows:

    HKEY_CURRENT_USER\Software\Citrix\HDXRTConnector\MediaEngine

    Name: EnableC920Compression

    Type: DWORD

    Data: 1 (enables the hardware acceleration) and 0 or missing (disables hardware acceleration)

Note: Logitech does not recommend the C920 for business use cases. We recommend the more modern Logitech cameras (C930E, C925E), which are compatible with standard Microsoft drivers.

Considerations and recommendations

  • The inclusion of hardware acceleration for video increases the amount of data being sent if you deploy devices that support hardware acceleration for video. Ensure that you have sufficient bandwidth available among all endpoints or update your Skype for Business server media bandwidth policies accordingly.

  • In Fallback mode, video quality might degrade to the point of failure on virtual desktops that have a single virtual CPU. Fallback mode is when the RealTime Media Engine is not available on the endpoint and audio and video processing occurs on the server.

    We recommend that you change the VDA configuration to have a minimum of two CPUs for users who might need Fallback mode. For more information, see Citrix Knowledge Base articles https://support.citrix.com/article/CTX133024 and https://support.citrix.com/article/CTX132764.

  • When attempting to make high-definition video calls from a home office, consider your user network bandwidth and ISP routing policies. If you observe pixelation of the video or problems with lip sync, adjust the Maximum Packet Size (MTU) on the NIC properties. Specify a lower value such as 900 to avoid situations where ISPs perform traffic shaping based on packet size.

  • Various scenarios might not work properly when some conversation participants run 1.x versions of the Optimization Pack. For example, combining content sharing and audio and video conferencing.

    We recommend participants using older versions of the Optimization Pack upgrade to this version of the Optimization Pack.

  • Users might see an error when calling or joining a session when they have multiple sessions running.

    We recommend running only one session.

  • Old versions of graphics card drivers might impact the stability of the Optimization Pack. H.264 hardware encoding and decoding on Intel and AMD chipsets works most reliably when using the latest versions of graphics drivers. The drivers are available from the endpoint or chipset vendors. If an unsupported driver version is detected, the Optimization Pack might automatically disable these features.

Add the RealTime Optimization Pack virtual channel to the virtual channel allow list

If using the virtual channel allow list feature in Citrix Virtual Apps and Desktops, add the RealTime Optimization Pack virtual channel to the allow list. Otherwise, the Optimization Pack cannot optimize Skype for Business.

These items are required to add the virtual channel to the allow list:

  • Virtual channel name: CTXRMEP
  • Skype for Business executable path: C:\Program Files\Microsoft Office\root\Office16\lync.exe

Important:

The path of the executable might be different in your environment. The difference is based on the version of Skype for Business installed or if you’re using a custom installation path. Make sure to check for the correct path in your environment. For details about adding a virtual channel to the allow list, see Virtual channel allow list policy settings.

Bandwidth guidelines for virtualized Skype for Business

In general, the bandwidth consumption when using the HDX RealTime Optimization Pack is consistent with non-virtualized Skype for Business. The HDX RealTime Media Engine supports the audio and video codecs that Skype for Business commonly uses, and obeys the bandwidth restrictions configured on the Skype for Business server. If the network has been provisioned for Skype for Business traffic, the Optimization Pack might not require more traffic engineering. For new or growing deployments, network bandwidth, and Quality of Service provisioning, follow the Microsoft guidelines for voice and video. These guidelines apply when client endpoints are the sources and destinations of real-time media traffic.

Audio and video traffic in Optimized mode flows out-of-band from ICA. The only extra traffic generated by the Optimization Pack is from the:

  • Low bandwidth ICA virtual channel control interactions between the RealTime Connector on the VDA server and the RealTime Media Engine on the client endpoint.
  • Compressed logging data sent from the RealTime Media Engine to the RealTime Connector. This additional traffic amounts to under 25 Kbps of upstream ICA bandwidth and about 5 Kbps of ICA downstream bandwidth.

This table summarizes the different types, sources, and destinations of network traffic with the HDX RealTime Optimization Pack:

Network traffic type Optimized mode Fallback mode
Real-time audio and video streams sources and destinations Client endpoints VDA servers
Real-time A/V bandwidth usage Follows Microsoft policies and usage requirements Follows Microsoft policies and usage requirements
HDX audio and webcam bandwidth usage Not used in optimized mode Used in fallback mode; HDX audio and webcam bandwidth guidelines apply
Extra ICA usage by the Optimization Pack 5 kbps downstream, 25 kbps upstream None
Content sharing sources, destinations, and bandwidth usage Content sharing network streams always originate and end on VDA servers Content sharing network streams always originate and end on VDA servers

For the Microsoft bandwidth guidelines for Skype for Business, see https://docs.microsoft.com/en-us/skypeforbusiness/?redirectedfrom=MSDN.

H.264 is the main video codec used by Skype for Business and the RealTime Optimization Pack. H.264 supports a wide range of video resolution and target bandwidth values. The Skype for Business bandwidth usage policies always constrain the bandwidth usage for video. In specific call scenarios, the actual bandwidth usage might be even lower. The usage depends on the current bandwidth availability and client endpoint capabilities. For the HD video resolution in peer-to-peer calls, we suggest 1 Mbps or more and for the VGA resolution, 400 Kbps or more. Conference calls might require more bandwidth to support HD video (we recommend 2 Mbps).

The Optimization Pack also supports the legacy RT Video codec for interoperability scenarios with legacy versions of the Microsoft unified communication software. The bandwidth usage with RT Video is similar to H.264, but video resolutions using RT Video are limited to VGA or less.

Audio codec usage depends on the call scenario. Because the Microsoft Skype for Business Audio-Video Conferencing Server doesn’t support SILK or RtAudio, these codecs are used only on point-to-point calls. Conference calls use G.722. SILK offers comparable audio quality to G.722 while consuming less bandwidth.

In addition to the codecs used by the native Skype for Business client, the HDX RealTime Media Engine offers a super-wideband codec, G.722.1C. This codec offers superior audio quality when both parties on a point-to-point call are using the Optimization Pack. This codec consumes 48 Kbps of network bandwidth. The Optimization Pack 2.4 doesn’t support the ultra-low bandwidth Siren codec, which is the predecessor to G.722.1. The Optimization Pack does support G.722.1 for interoperability with third-party systems, although Skype for Business does not support G.722.1.

The Optimization Pack automatically selects the best audio codec that all participants on the call support and fits within the available bandwidth. Typically:

  • A call between two Optimization Pack users uses the super-wideband G.722.1C codec at 48 Kbps and has good audio fidelity.
  • A conference call uses the wideband G.722 codec at 64 Kbps. That is, 159.6 Kbps with IP header, UDP, RTP, SRTP, and Forward Error Correction.
  • A call between an Optimization Pack user and a native Skype for Business client user uses the wideband SILK codec at 36 Kbps. That is, 100 Kbps with IP header, UDP, RTP, SRTP, and Forward Error Correction.
  • When an Optimization Pack user makes or receives a public switched telephone network (PSTN) call, one of the narrowband codecs is used: G.711 at 64 Kbps or narrowband RtAudio at 11.8 Kbps.

Citrix Customer Experience Improvement Program (CEIP)

The Citrix CEIP usage and analytics program is a voluntary data collection program designed to improve your product experience. After installing this version of the Optimization Pack, you can participate in the programs anonymously.

You can change your participation in the program at any time. For more information, see https://www.citrix.com/community/cx/ceip.html.

CEIP is voluntary. When you opt-in, the CEIP services running in Citrix products gather anonymous configuration and usage data from your deployment, and automatically sends the data to Citrix. CEIP collects these classes of data:

  • Configuration data.
  • All system and account identifiers are anonymized before being uploaded.

How your privacy is protected:

  • Citrix does not collect any personally identifiable data.
  • Random identifier is created at install time, which tracks data transfers over time.
  • Citrix does not record information such as IP addresses, server names, or domain names.
  • All data is sent using HTTPS directly to Citrix servers - no third-party data hosting services.
  • All data is secured on Citrix servers and is accessible only by authorized individuals.

CEIP opt-out policies and the user interface (UI)

The RealTime Connector defines the following registry entries controlling CEIP metrics:

HKEY_LOCAL_MACHINE\Software\Citrix\HDXRTConnector\
DWORD DisableCEIPMetrics

When absent or set to 0, the user controls the CEIP metrics collection. If present and set to nonzero, metrics collection is disabled and the opt-out UI is hidden.

On 64-bit Windows, the RealTime Connector checks both HKEY_LOCAL_MACHINE\Software\Citrix and HKEY_LOCAL_MACHINE\Software\Wow6432Node\Citrix for this value.

HKEY_CURRENT_USER\Software\Citrix\
DWORD OptOutOfCEIPMetrics

When absent or set to 0, the user did not opt out of the CEIP metrics collection. If present and set to nonzero, the user opted out of the CEIP metrics collection.

In the Settings dialog screen, the RealTime Connector adds a check box.

Send anonymous usage metrics to Citrix

The check box is hidden if the administrator disables CEIP metrics collection by setting DisableCEIPMetrics. Otherwise, it appears. The check box is checked if the OptOutOfCEIPMetrics registry value is absent or set to zero. The check box is clear if OptOutOfCEIPMetrics is present and set to nonzero. When the user changes the state of the check box, the RealTime Connector updates the registry setting and enables or disables CEIP metrics submission accordingly.

Technical overview