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. Bon nombre 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 périphérique client. 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 (UCSDK) de Citrix 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 égale ou même dépasse celle de l’application exécutée sur un poste de travail 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 poste de travail local. Les applications optimisées offrent cette expérience.
Cette documentation produit détaille tout ce dont les clients Citrix ont besoin 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 de Citrix peut également être utilisé par les clients Citrix dans les cas où une application interne personnalisée est en cours de développement. Cependant, dans la plupart des cas, 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 de Citrix (ou) à une application optimisée HDX™ indiquent une intégration avec le SDK de communications unifiées de Citrix et peuvent être utilisées de manière interchangeable.
Nouveautés
- UCSDK 4.1.0 est la dernière version généralement disponible que les fournisseurs de technologies peuvent intégrer. De plus, deux autres versions sont prises en charge : UCSDK 4.0.2 et UCSDK 3.1.0. De nouvelles fonctionnalités sont introduites avec les versions d’UCSDK, et les fournisseurs de technologies doivent s’assurer de mettre à niveau le SDK afin que les clients puissent bénéficier de ces fonctionnalités. De cette façon, les clients Citrix peuvent se concentrer uniquement sur la mise à niveau des composants Citrix nécessaires pour obtenir les nouvelles fonctionnalités.
Avec la publication d’UCSDK 4.1.0, nous introduisons des améliorations critiques de l’expérience utilisateur et de toutes nouvelles fonctionnalités qui permettront une intégration plus poussée avec les produits de nos partenaires et une valeur ajoutée pour nos clients.
Nouvelles fonctionnalités
- Enregistrement d’écran du point de terminaison UCSDK (préversion technique) : Comblant une lacune majeure dans l’enregistrement de conformité, les nouvelles API UCSDK peuvent désormais capturer du contenu sur le point de terminaison, même lorsque les applications s’exécutent au sein d’un VDI. Cette fonctionnalité, actuellement en préversion pour les points de terminaison Windows, permet aux fournisseurs de technologies d’améliorer leurs applications pour prendre en charge l’enregistrement d’écran du point de terminaison sur Citrix. Notez que cette fonctionnalité vise à améliorer les applications des fournisseurs et est différente de l’enregistrement de session Citrix.
- Gestion de la reconnexion de session : Une amélioration critique de Bootstrap améliore considérablement l’expérience des applications de navigateur, la rapprochant de celle des applications de bureau basées sur Electron. Les applications basées sur un navigateur utilisant Bootstrap peuvent désormais gérer dynamiquement les déconnexions de session Citrix, offrant une expérience utilisateur fluide aux utilisateurs finaux.
-
Prise en charge de nouvelles méthodes : Ajout de la prise en charge du redémarrage de la collecte ICE et de la prise en charge de
iceCandidatePoolSizedansRTCConfiguration. -
Meilleure gestion des erreurs et améliorations de la conformité : Conformité améliorée à la spécification WebRTC pour
getUserMedia. Amélioration degetStats()pourCitrixPeerConnection,RtpSenderetRtpReceiverafin de renvoyer un rapport vide au lieu devoiden cas d’erreur.
Les versions entièrement compatibles avec UCSDK 4.1.0 incluent :
- Citrix Virtual Apps and Desktops™ 2503
- Citrix Workspace™ App pour Windows 2503
- Citrix Workspace App pour Mac 2503
- Citrix Workspace App pour Linux 2503
-
La dernière version de ChromeOS/HTML5.
-
Remarque :
-
-
Les clients Citrix peuvent contacter les fournisseurs de technologies pour mettre à niveau le SDK (ou) ajouter la prise en charge de fonctionnalités spécifiques au cas où il existerait des cas d’utilisation pouvant être réalisés avec les fonctionnalités nouvellement introduites.
-
Avantages clés
Lorsque vous utilisez des applications optimisées avec Citrix UCSDK, vous pouvez vous attendre à :
- Amélioration des performances de traitement multimédia en déchargeant l’encodage/décodage multimédia gourmand en processeur de l’Agent de livraison virtuel (VDA) Citrix 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 le VDA Citrix, permettant au service informatique de prendre en charge plus d’utilisateurs simultanés par hôte et aux entreprises de faire évoluer les déploiements de bureaux 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 bureaux virtuels existants et réduisent les besoins en infrastructure hôte, réduisant ainsi 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 conçu spécifiquement 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.
-
Centre de contact en tant que 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
-
Communications unifiées en tant que 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
-
Plateforme de communication en tant que 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
-
Visioconfé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 de Citrix UCSDK 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 un ordinateur de bureau ou un 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é dans 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 d’UCSDK - 4.1.0. Pour plus de détails sur la compatibilité des versions antérieures du SDK et les exigences spécifiques des fonctionnalités, consultez le tableau Versions et matrice 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 d’UCSDK, les clients peuvent profiter de toutes les fonctionnalités disponibles. Pour la version la plus récente d’UCSDK – 4.1.0, les versions entièrement compatibles des composants Citrix sont les suivantes :
- Citrix Virtual Apps and Desktops : 2503
- Citrix Workspace App pour Windows : 2503
- Citrix Workspace App pour Mac : 2503
- Citrix Workspace App pour Linux : 2503
- Citrix Workspace App pour ChromeOS/HTML5 : Dernière version
Configuration
La fonctionnalité d’UCSDK dépend de trois facteurs : la version d’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 Citrix Workspace App utilisée.
Côté Citrix, assurez-vous 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. Pour plus d’informations, consultez les Paramètres de stratégie multimédia. 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. Le serviceCtxHdxWebSocketService(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.
Sur le VDA
- Créez 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 qu’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 finaliser 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 quel nom d’application doit être autorisé dans le WebSocketService.
Versions et matrice des fonctionnalités
Les mises à jour de version étant fréquentes, veuillez consulter les pages du 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 la version actuelle (CR) prises en charge au moment de la rédaction de ce document.
| Fonctionnalité | Version du SDK UC | VDA | CWA Windows | CWA Mac | CWA Linux | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| Audio / Vidéo (p2p et conférence) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Partage d’écran | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| DTMF | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Prise en charge du serveur proxy | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Partage d’applications | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | N/A |
| e911 dynamique | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Multi-fenêtre | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Prise en charge du plan unifié SDP | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Résolution de flux / Simulcast | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Audio à distance (avec boucle) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2405 |
| UCSDK basé sur navigateur (prise en charge du bootstrap) | 4.0.2 | 2407 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| API Web HID | 4.0.2 | 2203 LTSR Latest CU / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| API Web Audio | 4.0.2 | 2203 LTSR Latest CU / 2311 CR | 2405 | 2405 | 2405 | N/A |
| Redémarrage ICE | 4.1.0 | 2203 LTSR Latest 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 |
Remarque :
Nous avons introduit une nouvelle stratégie pour l’enregistrement d’écran, vous avez donc besoin de la version 2503 du contrôleur de livraison™, qui est fournie avec CVAD 2503.
Prise en charge actuelle des fournisseurs
Plusieurs fournisseurs tiers ont intégré le SDK de communications unifiées dans leurs produits. La liste actuelle des fournisseurs et de leur documentation de support est présentée ci-dessous :
| Fournisseur | Documentation |
|---|---|
| Amazon Connect | Optimize Amazon Connect audio for Citrix cloud desktops |
| Ring Central | Using RingCentral in a Citrix VDI environment |
| Five9 | Five9 WebRTC in Citrix Environments |
| Twilio | Twilio Flex on Citrix VDI |
| Avaya | Avaya Experience Platform Public Cloud VDI solution for Citrix |
| 8x8 | Citrix VDI Integration with 8x8 Work for Desktop & Web |
| Content Guru | Content Guru Citrix Integration |
| Ribbon Communications | Ribbon Communications Citrix WebRTC SDK |
| Intermedia | Installing Intermedia Unite on Citrix Virtual Apps and Desktops |
| Alcatel-Lucent Rainbow | Citrix Optimization for Rainbow Desktop Application |
| Talkdesk | Talkdesk Agent Workspace VDI Connect |
| IPC | IPC Unigy Soft Client Citrix VDI |
| Vitero | Vitero Inspire pour Citrix VDI |
| Pexip | Déploiement de l’application de bureau Connect dans la documentation Pexip Infinity de Citrix |
Dépannage
Pour plus d’informations sur le dépannage, consultez Guide de dépannage pour les applications optimisées avec le SDK de communications unifiées Citrix.
Problèmes connus et limitations
Cette section documentera les problèmes connus et les limitations actuels au fur et à mesure de leur identification.