One of the key functionalities that contributes to Citrix Workspace’s superior user and admin experience are virtual channels. These provide seamless connectivity between the server and client sides using Citrix’s proprietary ICA protocol. They’re bidirectional, error-free, and prioritize the ICA traffic, ensuring reliable data transport across the network. Thousands of organizations already benefit from many default Citrix virtual channel capabilities including audio, video, graphics acceleration, clipboard redirection, printing, and more.

While these built-in channels provide a secure way to accomplish a variety of tasks, leveraging the virtual channel SDK unlocks the door to even more personalized capabilities. With the Citrix virtual channel SDK, developers can facilitate the communication between server-side apps and client-side drivers for additional virtual channels using the Citrix ICA protocol.

We’re pleased to announce that the virtual channel SDK is now supported by Citrix Workspace app for HTML5 version 2206 onward, offering up to 20 virtual channels that you can optimize for various uses. Now, in addition to the default virtual channels provided by Citrix Workspace app, you can also implement your own customized virtual channels, enabling you to add functionality above and beyond what’s available out of the box with Citrix DaaS.

Why Use the Citrix Virtual Channel SDK?

The Citrix virtual channel SDK provides an easy interface that can be used by developers to expand upon the default functionality to fit the needs of the business. Some use cases that custom virtual channels allow you to perform include:

  • Enable communication between two apps over the ICA protocol: Potential use cases include querying local apps from the virtual sessions, supporting multimedia collaboration tools within the HDX sessions, and authenticating by sending authentication data to server-side apps.
  • Specialized client end device management: Traditionally, specialty devices that do not already have a dedicated virtual channel provided by Citrix are handled with generic USB redirection. With Citrix virtual channel SDK, you can create a dedicated and more optimized virtual channel for your device that is suitable even in adverse network conditions.
  • Provide authentication to Citrix sessions: Custom virtual channels can be used to authenticate users and disconnect them from sessions by sending authentication data to server-side apps. This use case is particularly relevant in the cases where frequent authentication is required across devices for the same account.

Configuring a Custom Virtual Channel

Whenever a virtual channel is customized, it is associated with a virtual channel stream name and code resources information in the configuration. See below for the sample settings for the two different ways you can configure a virtual channel:

Configuration.js

Global App Configuration service

You can find examples of working virtual channels (e.g., Ping, Mix, Over) within the virtual channel SDK. Each of these sample programs comprise of a client virtual driver and a server application. You may use them to verify your virtual channel SDK and explore its capabilities. Learn more here.

Helpful Configuration Tips

As you begin configuring your own virtual channels, there are a couple considerations and best practices to be aware of to help streamline your implementation.

  • If you observe a delay of ~30 seconds, please check your virtual channel configuration and ensure that the appID is accurate.
  • Do not start the “streamname” for a custom virtual channel with “CTX.”

Get Started Today!

Download Citrix Workspace app for HTML5 2206 today to get started with developing your own custom virtual channels! The virtual channel SDK is included in the Citrix Workspace app offering, so no additional licenses are required to use to use this SDK. Learn more about implementing a virtual channel and view some example programs in our developer documentation.

Let us know in the comments below if you have questions or feedback.