Citrix Virtual Apps and Desktops

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 points de terminaison. Bon nombre de ces applications incluent des fonctionnalités de communication en temps réel (RTC, Real-Time Communication), comme les conférences audio et vidéo. Cependant, des défis peuvent survenir lors de la distribution de ces applications dans un environnement virtualisé. Les méthodes de distribution traditionnelles acheminent les flux multimédias (audio/vidéo) de la machine cliente vers le serveur VDI du centre de données avant de les renvoyer au point de terminaison. L’utilisation d’épingles à cheveux entraîne un trafic non nécessaire et une surcharge de traitement sur le serveur, en particulier pour les appels audio et vidéo consommant beaucoup de bande passante.

Le SDK des communications unifiées Citrix (UCSDK, Citrix Unified Communications SDK) est une fonctionnalité qui permet aux fournisseurs de technologie d’optimiser ces applications RTC pour une utilisation dans les environnements Citrix. Lorsqu’une application est optimisée, elle peut fournir une expérience utilisateur qui correspond, voire dépasse, celle de l’application exécutée sur un bureau local. Dans le monde d’aujourd’hui, une communication transparente en temps réel est essentielle à la productivité et à la collaboration. Lorsque vous utilisez des applications dans un environnement virtuel, il est essentiel 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 pour UCSDK.

Fonctionnement

Citrix propose une méthode de mise à disposition 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 dans l’hôte virtuel, affichée de manière transparente dans la fenêtre de l’application ou du bureau virtuel.
  • Moteur multimédia : les tâches de traitement multimédia (encodage/décodage audio et vidéo) sont déchargées sur l’appareil local de l’utilisateur. Cela minimise la charge du serveur et optimise l’utilisation du réseau.

En règle générale, Citrix propose UCSDK aux fournisseurs de technologies dans le domaine des communications en temps réel et travaille avec eux pour intégrer UCSDK dans ces applications. Une fois intégré, tout client Citrix utilisant une application optimisée UCSDK bénéficiera d’une expérience améliorée. Citrix UCSDK peut également être utilisé par les clients Citrix dans les cas où une application interne personnalisée est en cours de création. Cependant, dans la plupart des cas, les clients n’ont pas besoin de consommer UCSDK et de développer avec celui-ci ; ils ont juste besoin de configurer l’environnement Citrix et l’application pour obtenir une expérience optimisée.

Remarque :

Les références de Citrix WebRTC SDK ou d’une application optimisée HDX™ indiquent l’intégration avec Citrix UCSDK 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 technologie 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 UCSDK et les fournisseurs de technologie doivent s’assurer de mettre à niveau le SDK afin que les clients puissent en bénéficier. De cette façon, les clients Citrix peuvent simplement se concentrer sur la mise à niveau des composants Citrix nécessaires pour obtenir de nouvelles fonctionnalités.

Avec la sortie 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 approfondie avec les produits des partenaires et une valeur accrue pour nos clients.

Nouvelles fonctionnalités

  • Enregistrement d’écran du point de terminaison UCSDK (Technical Preview) : pour combler une lacune clé dans l’enregistrement de la conformité, les nouvelles API UCSDK peuvent désormais capturer du contenu sur le point de terminaison, même lorsque les applications s’exécutent dans VDI. Cette fonctionnalité, actuellement en version Technical Preview pour les points de terminaison Windows, permet aux fournisseurs de technologie d’améliorer leurs applications pour prendre en charge l’enregistrement d’écran des points de terminaison sur Citrix. Notez que cette fonctionnalité est axée sur l’amélioration des 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 de manière dynamique les déconnexions de session Citrix, offrant ainsi une expérience utilisateur transparente aux utilisateurs.
  • Prise en charge des nouvelles méthodes : ajout de la prise en charge du redémarrage de la collecte ICE et prise en charge de iceCandidatePoolSize dans RTCConfiguration.
  • Meilleure gestion des erreurs et améliorations de la conformité : conformité à la spécification WebRTC améliorée pour getUserMedia. Amélioration de getStats() pour CitrixPeerConnection, RtpSenderet RtpReceiver pour renvoyer un rapport vide au lieu de void dans les conditions d’erreur.

Versions entièrement compatibles pour UCSDK 4.1.0 :

  • Citrix Virtual Apps and Desktops™ 2503
  • Application Citrix Workspace™ pour Windows 2503
  • Application Citrix Workspace pour Mac 2503
  • Application Citrix Workspace pour Linux 2503
  • La dernière version de ChromeOS/HTML5.

Remarque :

Les clients Citrix peuvent contacter les fournisseurs de technologie pour mettre à niveau le SDK ou ajouter la prise en charge de fonctionnalités spécifiques si des cas d’utilisation peuvent être résolus avec les fonctionnalités nouvellement introduites.

Principaux avantages

Lorsque vous utilisez des applications optimisées avec Citrix UCSDK, vous pouvez vous attendre à :

  • Performances de traitement multimédia améliorées en déchargeant l’encodage/décodage multimédia gourmand en ressources processeur de Citrix Virtual Delivery Agent (VDA) vers le point de terminaison client, augmentant ainsi la réactivité globale pour les utilisateurs.
  • Utilisation réduite de l’UC et de la bande passante sur Citrix VDA, permettant au service informatique de prendre en charge davantage d’utilisateurs simultanés par hôte et aux entreprises de faire évoluer les déploiements de bureaux virtuels Citrix de manière rentable.
  • Coût total de possession réduit pour les entreprises, car les points de terminaison optimisés prolongent la durée de vie des bureaux virtuels d’ancienne génération 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 plates-formes de point 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 conformes à la norme WebRTC. Voici les scénarios clés et les types d’applications basées sur WebRTC qui peuvent déjà utiliser UCSDK.

  • Centre de contact en tant que service (CCaaS, Contact Center as a Service)/Plate-formes de centre de contact cloud : gérez principalement les interactions avec les clients sur plusieurs canaux, en optimisant les workflows des agents.
    • Exemples : Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
  • Communications unifiées en tant que service (UCaaS, Unified Communications as a Service)/Communications d’entreprise dans le cloud : intégrez 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
  • Plate-forme de communication en tant que service (CPaaS, Communications Platform as a Service) : fournit 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 : plate-formes dédiées aux réunions vidéo de haute qualité, aux conférences et aux fonctionnalités de collaboration avancées.
    • Exemple : Pexip
  • Communications de trading financier : conçu pour les besoins de communication uniques, performants et conformes des marchés financiers.
    • Exemple : IPC Unigy
  • Plate-formes d’apprentissage et de formation virtuelles : conçues pour des expériences de formation et de classe virtuelles interactives et de haute qualité.
    • 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 porte à 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 tous cas d’utilisation ou application qu’ils souhaitent voir optimisé.

Architecture UCSDK

Architecture UCSDK

  • Application fournisseur : il peut s’agir de n’importe quelle application de communication en temps réel tierce basée sur un ordinateur de bureau ou un navigateur et intégrant 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 l’application Citrix Workspace 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 que HdxRtcEngine.exe est lancé sur le point de terminaison client, toutes les données de signalisation et de charge utile transitent de Citrix VDA vers le point de terminaison client, atteignent le cloud, rebondissent vers le point de terminaison client, puis sont transmises à 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 anciennes versions du SDK et les exigences spécifiques en matière de fonctionnalités, consultez le tableau Tableau des versions et des fonctionnalités ci-dessous.

Remarque :

Pour que les clients puissent utiliser une fonctionnalité ajoutée à UCSDK, assurez-vous que l’application du fournisseur a intégré la version d’UCSDK appropriée, activé la fonctionnalité et utilise 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 dernière version actuelle d’UCSDK (4.1.0), les versions entièrement compatibles des composants Citrix sont les suivantes :

  • Citrix Virtual Apps and Desktops : 2503
  • Application Citrix Workspace Windows : 2503
  • Application Citrix Workspace pour Mac : 2503
  • Application Citrix Workspace pour Linux : 2503
  • Application Citrix Workspace pour ChromeOS/HTML5 : dernière version

Configuration

Les fonctionnalités d’UCSDK dépendent de trois facteurs : la version d’UCSDK que le fournisseur a intégrée et les fonctionnalités qu’il a activées, la version de Citrix Virtual Apps and Desktops et la version de l’application Citrix Workspace utilisées.

Côté Citrix, assurez-vous que les éléments suivants sont configurés afin que l’application puisse être optimisée :

  1. Assurez-vous que la stratégie de redirection Microsoft Teams est activée. Pour plus d’informations, consultez Paramètres de stratégie multimédia. Notez que cette stratégie est activée par défaut.
  2. Les applications tierces Electron ou basées sur un navigateur qui utilisent le SDK CitrixWebrtc.js ne sont pas prises en charge par défaut. Le CtxHdxWebSocketService (WebSocketService.exe) n’autorisera pas les connexions provenant d’applications qui ne figurent pas sur la liste verte. Le nom de l’exécutable binaire de l’application souhaitée doit être ajouté à une clé de registre de liste verte.

Sur le VDA

  • Créez un chemin de clé : HKLM\Software\WOW6432Node\Citrix\WebSocketService
  • Nom de clé : ProcessWhitelist
  • Type : MULTISZ
  • Valeur de clé : Mytestapp.exe

Si vous avez plusieurs applications, saisissez chaque application sur une nouvelle ligne. Ne copiez 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 au lieu d’une application de bureau à part entière, vous devez alors 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 verte.

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 WebSocketService.

Tableau des versions et des fonctionnalités

Les mises à jour de version étant fréquentes, reportez-vous aux pages du cycle de vie du produit Citrix Virtual Apps and Desktops et de l’application Citrix Workspace 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 Current Release (CR) prises en charge au moment de la rédaction de ce document.

Fonctionnalité Version UCSDK VDA CWA pour Windows CWA pour Mac CWA pour Linux CWA pour 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 dernière CU/2311 CR 2402 LTSR dernière CU/2311 CR 2311 2311 2312
Prise en charge de serveur proxy 3.1.0 2203 LTSR dernière CU/2311 CR 2402 LTSR dernière 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 S/O
Appels d’urgence dynamiques 3.1.0 2203 LTSR dernière CU/2311 CR 2402 LTSR dernière CU/2311 CR 2311 2311 2312
Fenêtre multiple 3.1.0 2203 LTSR dernière CU/2311 CR 2402 LTSR dernière CU/2311 CR 2311 2311 2312
Soutien au plan unifié du 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é sur un navigateur (prise en charge de Bootstrap) 4.0.2 2407 CR 2402 LTSR dernière CU/2311 CR 2311 2311 2312
API HID Web 4.0.2 2203 LTSR dernière CU/2311 CR 2409.10 2411 2411 2505
API audio Web 4.0.2 2203 LTSR dernière CU/2311 CR 2405 2405 2405 S/O
Redémarrer ICE 4.1.0 2203 LTSR dernière CU/2311 CR 2503.2 2503 2503 2502.10
Enregistrement d’écran (Technical Preview)¹ 4.1.0 2503 2503.2 S/O S/O S/O

Remarque :

Nous avons introduit une nouvelle stratégie pour l’enregistrement d’écran. Vous avez donc besoin de la version 2503 de Delivery Controller™, fournie avec CVAD 2503.

Prise en charge actuelle des fournisseurs

Plusieurs fournisseurs tiers ont intégré le SDK des communications unifiées dans leurs produits. La liste actuelle des fournisseurs et leur documentation de support est répertoriée ci-dessous :

Constructeur documentation
Amazon Connect Optimiser l’audio Amazon Connect pour les bureaux Citrix Cloud
Ring Central Utilisation de RingCentral dans un environnement Citrix VDI
Five9 Five9 WebRTC dans les environnements Citrix
Twilio Twilio Flex sur Citrix VDI
Avaya Solution VDI de cloud public Avaya Experience Platform pour Citrix
8x8 Intégration de Citrix VDI avec 8x8 Work for Desktop & Web
Content Guru Intégration de Citrix avec Content Guru
Ribbon Communications SDK WebRTC Citrix pour Ribbon Communications
Intermedia Installation d’Intermedia Unite sur Citrix Virtual Apps and Desktops
Alcatel-Lucent Rainbow Optimisation Citrix pour l’application de bureau Rainbow
Talkdesk Connexion VDI pour Talkdesk Agent Workspace
IPC Client logiciel IPC Unigy pour Citrix VDI
Vitero Vitero Inspire pour Citrix VDI
Pexip Déploiement de l’application de bureau Connect dans Citrix Pexip Infinity Docs

Dépannage

Pour obtenir des informations de dépannage, consultez Troubleshooting Guidance for Apps Optimized with Citrix Unified Communications SDK.

Problèmes connus et limitations

Cette section documentera les problèmes et limitations connus au fur et à mesure de leur détection.

Optimisation du SDK de communications unifiées