Optimisation du SDK de communications unifiées
Introduction
Citrix Virtual Apps and Desktops vous permet de fournir des applications à vos utilisateurs sur une grande variété de périphériques clients. Beaucoup de ces applications incluent des fonctionnalités de communication en temps réel (RTC), telles que la conférence audio et vidéo. Cependant, des défis peuvent survenir lors de la livraison de ces applications dans un environnement virtualisé. Les méthodes de livraison traditionnelles acheminent les flux multimédias (audio/vidéo) du périphérique client vers le serveur VDI dans le centre de données avant de les renvoyer au point de terminaison. Ce « hairpinning » introduit un trafic et une surcharge de traitement inutiles sur le serveur, en particulier pour les appels audio et vidéo gourmands en bande passante.
Le SDK de communications unifiées Citrix (UCSDK) est une technologie qui permet aux fournisseurs de technologies d’optimiser ces applications RTC pour une utilisation dans les environnements Citrix. Lorsqu’une application est optimisée, elle peut offrir une expérience utilisateur qui correspond ou même dépasse celle de l’application exécutée sur un bureau local. Dans le monde d’aujourd’hui, une communication en temps réel fluide est essentielle pour la productivité et la collaboration. Lors de l’utilisation d’applications dans un environnement virtuel, il est crucial que les appels audio et vidéo, le partage d’écran et d’autres fonctionnalités de communication fonctionnent aussi bien que sur un bureau local. Les applications optimisées offrent cette expérience.
Cette documentation produit détaille tout ce qui est nécessaire aux clients Citrix pour apprendre et déployer des applications optimisées par UCSDK.
Fonctionnement
Citrix propose une méthode de livraison optimisée pour les applications de communication en temps réel au sein des VDI. Cette approche s’appuie sur le SDK de communications unifiées (UCSDK) pour diviser l’application virtualisée en deux parties :
- Interface utilisateur (UI) : L’interface utilisateur reste au sein de l’hôte virtuel, affichée de manière transparente dans le bureau virtuel ou la fenêtre de l’application.
- Moteur multimédia : Les tâches de traitement multimédia (encodage/décodage audio et vidéo) sont déchargées sur le périphérique local de l’utilisateur. Cela minimise la charge du serveur et optimise l’utilisation du réseau.
Généralement, Citrix propose l’UCSDK aux fournisseurs de technologies dans le domaine des communications en temps réel et collabore avec eux pour intégrer l’UCSDK dans ces applications. Une fois intégré, tout client Citrix utilisant une application optimisée par UCSDK bénéficiera d’une expérience améliorée. Le SDK de communications unifiées Citrix peut également être utilisé par les clients Citrix dans les cas où une application interne personnalisée est en cours de développement. Dans la plupart des cas, cependant, les clients n’ont pas besoin d’utiliser et de développer avec l’UCSDK – ils doivent simplement configurer l’environnement Citrix et l’application pour obtenir une expérience optimisée.
Remarque :
Les références au SDK WebRTC Citrix (ou) à une application optimisée HDX™ indiquent une intégration avec le SDK de communications unifiées Citrix et peuvent être utilisées de manière interchangeable.
Avantages clés
Lorsque vous utilisez des applications optimisées avec le SDK de communications unifiées Citrix, vous pouvez vous attendre à :
- Des performances de traitement multimédia améliorées en déchargeant l’encodage/décodage multimédia gourmand en processeur du Citrix Virtual Delivery Agent (VDA) vers le point de terminaison client, augmentant ainsi la réactivité globale pour les utilisateurs finaux.
- Réduction de l’utilisation du CPU et de la bande passante sur Citrix VDA, permettant aux services informatiques de prendre en charge davantage d’utilisateurs simultanés par hôte et aux entreprises de déployer des postes de travail virtuels Citrix de manière rentable.
- Réduction du coût total de possession pour les entreprises, car les points de terminaison optimisés prolongent la durée de vie des postes de travail virtuels existants et réduisent les besoins en infrastructure hôte, ce qui diminue les dépenses d’investissement et les coûts d’exploitation au fil du temps.
- Prise en charge des plateformes de points de terminaison Windows, Mac, Linux, ChromeOS et HTML5.
Cas d’utilisation
UCSDK est spécialement conçu pour optimiser les applications de communication en temps réel qui adhèrent à la norme WebRTC. Voici les scénarios clés et les types d’applications basées sur WebRTC qui peuvent / utilisent déjà UCSDK.
-
Contact Center as a Service (CCaaS) / Plateformes de centre de contact cloud : Gèrent principalement les interactions client sur plusieurs canaux, optimisant les flux de travail des agents.
- Exemples : Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
-
Unified Communications as a Service (UCaaS) / Communications d’entreprise cloud : Intègrent la voix, la vidéo, la messagerie d’équipe et la présence pour une communication d’entreprise complète.
- Exemples : Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
-
Communications Platform as a Service (CPaaS) : Fournissent des API pour intégrer des capacités de communication en temps réel directement dans des applications personnalisées.
- Exemples : Twilio, Ribbon Communications
-
Vidéoconférence et collaboration d’entreprise : Plateformes dédiées aux réunions vidéo de haute qualité, à la conférence et aux fonctionnalités de collaboration avancées.
- Exemple : Pexip
-
Communications pour le trading financier : Conçues pour les besoins de communication uniques, haute performance et conformes des marchés financiers.
- Exemple : IPC Unigy
-
Plateformes d’apprentissage et de formation virtuelles : Conçues pour des expériences interactives et de haute qualité en classe virtuelle et en formation.
- Exemple : Vitero
La base WebRTC sous-jacente du UCSDK Citrix signifie que ses capacités d’optimisation peuvent s’étendre à toutes les applications de communication basées sur WebRTC. Cela ouvre la voie à l’optimisation d’un large éventail d’applications qui utilisent WebRTC pour les interactions en temps réel, même si elles ne sont pas actuellement répertoriées comme optimisées avec UCSDK. Nous encourageons les clients à contacter Citrix pour tout cas d’utilisation ou application qu’ils souhaitent voir optimisé.
Architecture UCSDK

-
Application du fournisseur : Il peut s’agir de toute application de communication en temps réel tierce, basée sur le bureau ou le navigateur, qui a intégré UCSDK.
-
UCSDK JS : UCSDK JS fournit les API que les applications des fournisseurs utilisent pour décharger l’audio/vidéo vers le point de terminaison.
-
HdxRtcEngine : Il s’agit du moteur multimédia WebRTC intégré à Citrix Workspace App qui traite et gère l’appel audio/vidéo déchargé.
Une fois le SDK chargé et utilisé, le processus HdxRtcEngine.exe est lancé sur le point de terminaison client si la redirection réussit. Une fois HdxRtcEngine.exe lancé sur le point de terminaison client, toutes les données de signalisation et de charge utile circulent du VDA Citrix vers le point de terminaison client, atteignent le cloud, reviennent au point de terminaison client, puis sont transmises au VDA. Par exemple, un aller-retour complet du flux pourrait être :
Vendor App -> CitrxWebrtc.js SDK -> Citrix VDA components -> Citrix Client Endpoint components -> Cloud -> Citrix Client Endpoint components -> Citrix VDA components -> CitrxWebrtc.js SDK -> Vendor App
Configuration système requise
La configuration système requise indique les différentes versions des composants Citrix nécessaires avec la dernière version de UCSDK - 5.0.0. Pour plus de détails sur la compatibilité des anciennes versions du SDK et les exigences spécifiques des fonctionnalités, consultez le tableau Matrice des versions et des fonctionnalités ci-dessous.
Remarque :
Pour que les clients puissent utiliser toute fonctionnalité ajoutée à UCSDK, assurez-vous que l’application du fournisseur a intégré la version UCSDK appropriée et activé la fonctionnalité, et utilisez les versions VDA et CWA appropriées dans votre environnement.
Versions entièrement compatibles
Les versions entièrement compatibles indiquent qu’en utilisant ces versions des composants Citrix avec la dernière version de l’UCSDK, les clients peuvent profiter de toutes les fonctionnalités disponibles. Pour la version la plus récente de l’UCSDK – 5.0.0, les versions entièrement compatibles des composants Citrix sont les suivantes :
- Citrix Virtual Apps™ et Desktops : 2603
- Citrix Workspace App Windows : 2603
- Citrix Workspace App Mac : À paraître
- Citrix Workspace App Linux : 2603
- Citrix Workspace App ChromeOS/HTML5 : À paraître
Remarque :
L’optimisation de l’UCSDK est prise en charge sur toutes les plateformes de point de terminaison : Windows, Mac, Linux, ChromeOS et HTML5. Si la liste ci-dessus indique « À paraître » pour une plateforme de point de terminaison spécifique, cela signifie simplement qu’une version entièrement compatible avec les dernières fonctionnalités de l’UCSDK n’a pas encore été publiée. Par conséquent, les clients peuvent toujours utiliser des versions plus anciennes de l’application Citrix Workspace pour continuer à utiliser les fonctionnalités existantes, même avec le nouvel UCSDK.
Configuration
La fonctionnalité de l’UCSDK dépend de trois facteurs : la version de l’UCSDK que le fournisseur a intégrée et les fonctionnalités que le fournisseur a activées, Citrix Virtual Apps and Desktops, et la version de l’application Citrix Workspace utilisée.
Du côté de Citrix, veuillez vous assurer que les éléments suivants sont configurés afin que l’application optimisée puisse être optimisée :
- Assurez-vous que la stratégie de redirection Microsoft Teams est activée. Reportez-vous à Paramètres de stratégie multimédia pour plus d’informations. Notez que cette stratégie est activée par défaut.
- Les applications tierces basées sur Electron ou sur navigateur qui utilisent le SDK
CitrixWebrtc.jsne sont pas prises en charge par défaut. LeCtxHdxWebSocketService(WebSocketService.exe) n’autorisera pas les connexions provenant d’applications qui ne figurent pas sur la liste d’autorisation. Le nom de l’exécutable binaire de l’application souhaitée doit être ajouté à une clé de registre de liste blanche.
Remarque :
À partir de CVAD 2603, l’optimisation des applications utilisant le SDK Citrix Unified Communications (UCSDK) ne dépend plus de la stratégie de redirection Microsoft Teams. Les administrateurs peuvent désormais désactiver l’optimisation de Microsoft Teams sans affecter les autres applications intégrées à l’UCSDK. Pour utiliser cette séparation, l’application du fournisseur doit utiliser la méthode Bootstrap (introduite pour la première fois dans l’UCSDK 4.0) conjointement avec CVAD 2603. Pour plus de détails, consultez la documentation du SDK Unified Communications.
Sur le VDA
- Créer un chemin de clé :
HKLM\Software\WOW6432Node\Citrix\WebSocketService - Nom de la clé :
ProcessWhitelist - Type :
MULTISZ - Valeur de la clé :
Mytestapp.exe
Si vous avez plusieurs applications, saisissez chaque application sur une nouvelle ligne. Ne copiez pas et ne collez pas à partir d’un fichier texte et n’insérez pas de virgules. Assurez-vous que le nom fourni correspond au nom de l’exécutable de l’application. Cette valeur de registre n’est pas sensible à la casse.
Si l’application est accessible via un navigateur plutôt que via une application de bureau complète, vous devez autoriser, par exemple, chrome.exe dans la valeur de registre.
Une fois le registre ci-dessus configuré avec succès, redémarrez le VDA ou redémarrez CtxHdxWebSocketService pour terminer la configuration de la liste blanche.
Sur le client
Aucune configuration n’est nécessaire. Installez simplement l’application Citrix Workspace.
Chaque fournisseur peut avoir un nom d’application très spécifique. Par conséquent, reportez-vous à la documentation du fournisseur liée dans la section Prise en charge actuelle des fournisseurs pour déterminer le nom de l’application qui doit être autorisé dans le WebSocketService.
Référence des fonctionnalités
Temps de connexion d’appel améliorés avec Smart Sync
Introduite dans UCSDK 5.0.0, la fonctionnalité Smart Sync accélère les temps de connexion d’appel en rationalisant la communication entre le VDA et le point de terminaison client. Cette amélioration permet des configurations d’appel plus rapides dans l’ensemble, offrant les améliorations de performances les plus significatives pour les environnements réseau à latence élevée.
Citrix recommande aux clients de contacter leurs fournisseurs d’applications pour passer à UCSDK 5.0.0 afin de profiter de cette fonctionnalité.
Remarque :
Cette fonctionnalité dépend uniquement de UCSDK 5.0.0 et de l’application Citrix Workspace. Consultez la Matrice des versions et des fonctionnalités pour connaître les versions exactes des clients. Il n’y a pas de dépendance de version VDA, les VDA plus anciens pris en charge peuvent donc toujours être utilisés.
Optimisation UCSDK et HDX Microsoft Teams découplée
Cette fonctionnalité sépare la logique d’optimisation du SDK de communications unifiées (UCSDK) de la stratégie d’optimisation de Microsoft Teams. Auparavant, la stratégie de « redirection Microsoft Teams » agissait comme un interrupteur principal ; la désactiver pour Teams forcerait involontairement toutes les autres applications basées sur UCSDK à revenir au rendu côté serveur.
Grâce à cette amélioration, le canal virtuel requis pour la redirection WebRTC reste disponible pour les applications tierces, quel que soit l’état de la stratégie Teams.
-
Avantages
-
Contrôle granulaire : Les administrateurs peuvent gérer de manière sélective la stratégie d’optimisation de Microsoft Teams sans affecter l’optimisation des applications métier critiques telles qu’Amazon Connect, Five9, RingCentral ou d’autres applications intégrées à UCSDK.
-
Stabilité opérationnelle : Assure la continuité des activités en empêchant la dégradation involontaire des performances dans les applications optimisées par UCSDK. Les administrateurs peuvent désactiver l’optimisation HDX Teams pour des raisons de dépannage ou de conformité sans compromettre l’expérience audio/vidéo haute définition de leurs principaux outils métier.
-
-
Exigences
-
Exigence VDA : Citrix Virtual Apps/Desktops 2603 ou version ultérieure
-
Compatibilité des applications : L’application tierce doit utiliser la méthode d’initialisation bootstrap UCSDK
-
Remarque :
Cette fonctionnalité n’a pas d’impact sur l’optimisation SlimCore de Microsoft Teams. L’optimisation SlimCore fonctionne indépendamment en utilisant des canaux virtuels propriétaires de Microsoft et ne dépend pas du canal virtuel Citrix CTXMTOP.
Pour tirer parti de cette fonctionnalité, les applications tierces doivent être conçues avec UCSDK 4.0 ou une version plus récente. Les clients doivent vérifier auprès du fournisseur de l’application (par exemple, Amazon Connect, Five9, RingCentral) que leur version spécifique utilise l’initialisation bootstrap.
Dépendance de service explicite pour l’optimisation de Microsoft Teams
À partir de Citrix Virtual Apps / Desktops 2603, le Service de redirection Citrix HDX Teams (utilisé par les applications Microsoft Teams optimisées HDX et optimisées UCSDK) déclare désormais explicitement une dépendance vis-à-vis du Service de redirection vidéo HTML5 Citrix HDX (WebSocketService).
Cette mise à jour garantit que le service HTML5 est automatiquement vérifié et démarré lorsque le service Teams se lance, évitant ainsi les échecs d’optimisation pour Microsoft Teams et les applications intégrées à UCSDK dans les environnements où les services sont strictement gérés.

Découpage de superposition optimisé pour des performances et une expérience utilisateur améliorées
À partir de CVAD 2511, le mécanisme de gestion des superpositions vidéo redirigées dans des fonctionnalités telles que l’optimisation HDX Microsoft Teams et l’optimisation UCSDK a été repensé pour améliorer à la fois l’expérience utilisateur et les performances du serveur.
Avantages essentiels
-
Précision visuelle améliorée : Cette amélioration résout les problèmes visuels où des éléments d’application, tels que des menus contextuels ou des notifications, apparaissaient incorrectement derrière le contenu vidéo. La nouvelle logique garantit que tous les composants sont rendus dans le bon ordre, offrant une expérience plus fluide et prévisible.
-
Performances améliorées : Cette optimisation réduit considérablement l’utilisation du CPU sur le Virtual Delivery Agent. En remplaçant les anciennes méthodes de sondage gourmandes en ressources par une approche plus efficace basée sur les graphiques, cette modification améliore l’évolutivité du serveur et permet une densité d’utilisateurs plus élevée.
Remarque :
La fonctionnalité dépend d’une future version de Microsoft Teams (ou d’une autre application partenaire UCSDK) et nécessite Citrix Workspace App pour Windows 2511.
Versions et matrice des fonctionnalités
Les mises à jour de version étant fréquentes, veuillez vous référer aux pages de cycle de vie des produits Citrix Virtual Apps and Desktops et Citrix Workspace app pour vous assurer qu’une version particulière est prise en charge. Pour de nombreuses fonctionnalités plus anciennes, les versions mentionnées dans le tableau sont les dernières versions de Current Release (CR) prises en charge au moment de la rédaction de ce document.
| Fonctionnalité | Version UCSDK | VDA | CWA Windows | CWA Mac | CWA Linux | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| Audio / Vidéo (p2p et conférence) | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| Partage d’écran | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| DTMF | 3.1.0 | 2203 LTSR Dernier CU / 2311 CR | 2402 LTSR Dernier CU / 2311 CR | 2311 | 2311 | 2312 |
| Prise en charge du serveur proxy | 3.1.0 | 2203 LTSR Dernier CU / 2311 CR | 2402 LTSR Dernier CU / 2311 CR | 2311 | 2311 | 2312 |
| Partage d’applications | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | N/A |
| e911 dynamique | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| Multi-fenêtre | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| Prise en charge du plan unifié SDP | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| Résolution de flux / Simulcast | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2312 |
| Audio à distance (avec boucle) | 3.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2402 LTSR Dernière CU / 2311 CR | 2311 | 2311 | 2405 |
| UCSDK basée sur navigateur (prise en charge de Bootstrap) | 4.0.2 | 2407 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Web HID API | 4.0.2 | 2203 LTSR Latest CU / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| Web Audio API | 4.0.2 | 2203 LTSR Dernière CU / 2311 CR | 2405 | 2405 | 2405 | N/A |
| Redémarrer ICE | 4.1.0 | 2203 LTSR Dernière CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| Enregistrement d’écran (Aperçu)¹ | 4.1.0 | 2503 | 2503.2 | N/A | N/A | N/A |
| Smart Sync | 5.0.0 | 2203 LTSR dernière CU / 2311 CR | 2603 | N/A | 2604 | N/A |
Remarque :
Nous avons introduit une nouvelle stratégie pour l’enregistrement d’écran, vous avez donc besoin de la version 2503 du delivery controller™, qui est fournie avec CVAD 2503.
Support actuel des fournisseurs
Plusieurs fournisseurs tiers ont intégré le Unified Communications SDK dans leurs produits. La liste actuelle des fournisseurs et de leur documentation de support est indiquée ci-dessous :
Dépannage
Pour plus d’informations sur le dépannage, consultez Conseils de dépannage pour les applications optimisées avec le SDK Citrix Unified Communications.
Problèmes connus et limitations
Cette section documentera les problèmes connus et les limitations actuelles au fur et à mesure qu’ils sont identifiés.
Dans cet article
- Introduction
- Fonctionnement
- Avantages clés
- Cas d’utilisation
- Architecture UCSDK
- Configuration système requise
- Versions entièrement compatibles
- Configuration
- Référence des fonctionnalités
- Versions et matrice des fonctionnalités
- Support actuel des fournisseurs
- Dépannage
- Problèmes connus et limitations