Optimisation pour Microsoft Teams

Remarque :

Cette fonctionnalité dépend d’une future version de Microsoft Teams. Nous mettrons à jour cette description au fur et à mesure que les informations sur la version et la date de sortie seront disponibles.

Citrix offre une optimisation pour Microsoft Teams avec l’application Citrix Workspace et Citrix Virtual Apps and Desktops. Par défaut, nous regroupons tous les composants nécessaires dans l’application Citrix Workspace et le Virtual Delivery Agent (VDA).

Notre optimisation pour Microsoft Teams contient des services et une API HDX côté VDA afin de créer une interface avec l’application hébergée Microsoft Teams pour recevoir des commandes. Ces composants ouvrent un canal virtuel de contrôle vers Media Engine côté application Citrix Workspace. Le point de terminaison décode et restitue le multimédia localement. Inversez les composants logiciels enfichables de la fenêtre locale de l’application Citrix Workspace dans l’application Microsoft Teams hébergée.

L’authentification et la signalisation se produisent en mode natif sur l’application hébergée par Microsoft Teams, tout comme les autres services Microsoft Teams (par exemple le chat ou la collaboration). La redirection audio/vidéo ne les affecte pas.

Seule la récupération/restitution client est disponible.

Architecture

Fonctionnement de l'optimisation pour Microsoft Teams

Cette vidéo de démo vous donne une idée du fonctionnement de Microsoft Teams dans un environnement virtuel Citrix.

Démo Optimisation pour Microsoft Teams

Établissement des appels et chemins de circulation des médias

Autant que possible, le service HDX Media Engine de l’application Citrix Workspace (HdxTeams.exe) tente d’établir une connexion SRTP réseau directe via UDP dans un appel d’égal à égal. Si les ports UDP sont bloqués, Media Engine revient à TCP 443.

HDX Media Engine prend en charge ICE, Session Traversal Utilities for NAT (STUN) et Traversal Using Relays around NAT (TURN) pour découvrir les candidats et établir les connexions. S’il n’y a pas de chemin direct entre les homologues, ou si l’utilisateur rejoint un appel multipartie ou une réunion, HdxTeams.exe utilise un serveur de relais de transport Microsoft Teams dans Azure. La machine cliente de l’utilisateur doit avoir accès à plusieurs plages d’adresses IP Azure. Pour plus d’informations, consultez le diagramme dans la Section Architecture et URL et plages d’adresses IP Office 365 ID 11.

HdxTeams.exe contacte le cloud de relais de transport Microsoft Teams en utilisant une adresse IP anycast et le port 3478—3481 UDP (différents ports UDP par charge de travail, bien qu’un multiplexage soit possible) et 443 TCP. La qualité des appels dépend du protocole réseau sous-jacent. Étant donné que UDP est toujours préférable à TCP, nous vous conseillons de concevoir vos réseaux pour prendre en charge le trafic UDP. La plupart des échecs d’établissement des appels sont des échecs ICE. Vérifiez cela d’abord si un appel ne peut pas être effectué. Pour plus d’informations sur le processus de collecte des candidats ICE, voir « Collecte des journaux » dans la section Assistance.

Remarque :

Si les points de terminaison n’ont pas accès à Internet, il peut encore être possible pour l’utilisateur d’effectuer un appel égal à égal uniquement (les réunions échouent). Dans ce cas, il y a un délai de 30 secondes avant le début de l’établissement de l’appel.

Configuration réseau requise

Microsoft Teams s’appuie sur des serveurs de relais de transport dans Azure pour les réunions, les appels multiparties et les scénarios dans lesquels deux homologues d’un appel point à point n’ont pas de connectivité directe. Par conséquent, l’intégrité du réseau entre l’homologue et le cloud Office 365 détermine les performances de l’appel.

Nous vous recommandons d’évaluer votre environnement pour identifier les risques et les exigences qui peuvent influencer votre déploiement voix et vidéo global dans le cloud. Utilisez l’Outil d’évaluation de réseau Skype Entreprise pour tester si votre réseau est prêt pour Microsoft Teams. Pour plus d’informations, consultez la section Assistance.

Mesure Point de terminaison vers Office 365
Latence (sens unique) < 50 msec
Latence (RTT) < 100 msec
Perte de paquets < 1 % au cours d’un intervalle de 15 s
Variation inter-arrivées des paquets < 30 ms pendant un intervalle de 15 s

Pour de plus amples informations, consultez la section Préparer le réseau de votre organisation pour Microsoft Teams.

En termes de bande passante requise, l’optimisation pour Microsoft Teams peut utiliser une grande variété de codecs pour l’audio (G.722/OPUS/PCM) et la vidéo (H264/VP9). Les homologues négocient ces codecs pendant le processus d’établissement de l’appel à l’aide de l’offre/réponse du protocole SDP. Les recommandations minimales Citrix sont les suivantes :

Type Bande passante Codec
Audio (dans chaque sens) ~ 90 kbps G.722
Vidéo (dans chaque sens) ~ 700 kbps H264 360p @ 30 ips 16:9
Partage d’écran ~ 150 kbps H264 @ 15 ips

Configuration système requise

Version minimale - Virtual Delivery Agent (VDA) 1906 pour Windows Desktop OS :

Systèmes d’exploitation pris en charge :

  • Windows 10 64 bits, versions minimum 1607 jusqu’à 1903.

Exigences :

  • Microsoft .NET Framework 4.7.1 ou version ultérieure est automatiquement installé si cette version n’est pas déjà installée.
  • Microsoft Visual C++ 2013 et 2015 Runtime, 32 et 64 bits.
  • BCR_x64.msi - MSI qui contient le code d’optimisation de Microsoft Teams et démarre automatiquement à partir de l’interface graphique. Si vous utilisez l’interface de ligne de commande pour l’installation du VDA, ne l’excluez pas.

Version minimale - Virtual Delivery Agent (VDA) 1906 pour OS de serveur :

Systèmes d’exploitation pris en charge :

  • Windows Server 2019, 2016 et 2012 R2 (éditions Standard et Datacenter).

Le programme d’installation installe automatiquement les éléments suivants, qui sont disponibles sur le support d’installation Citrix dans les dossiers Support :

  • Microsoft .NET Framework 4.7.1 ou version ultérieure est automatiquement installé si cette version n’est pas déjà installée.
  • Microsoft Visual C++ 2013 et 2015 Runtime, 32 et 64 bits.
  • BCR_x64.msi - MSI qui contient le code d’optimisation de Microsoft Teams et démarre automatiquement à partir de l’interface graphique. Si vous utilisez l’interface de ligne de commande pour l’installation du VDA, ne l’excluez pas.

Si vous n’avez pas installé et activé les rôles Services Bureau à distance, le programme d’installation installe et active automatiquement ces rôles.

Version minimale - Application Citrix Workspace 1905 pour Windows :

  • Windows 7, 8 et 10 (éditions 32 bits et 64 bits, y compris l’édition Embedded)
  • Exigences pour le point de terminaison : quadruple CPU d’environ 1,8-2.0 GHz pouvant prendre en charge la résolution VGA 360p lors d’une visioconférence égal à égal.
  • L’application Citrix Workspace requiert une capacité minimale de 600 Mo d’espace disque disponible et 1 Go de RAM.
  • La configuration minimale requise pour Microsoft .NET Framework est la version 4.6.2. L’application Citrix Workspace télécharge et installe automatiquement .NET Framework si la version n’est pas présente dans le système.
  • Cette version de l’application Citrix Workspace prend en charge la redirection audio et vidéo (égal à égal ou conférence) et le partage d’écran entrant. Le partage d’écran sortant n’est pas pris en charge avec l’application Citrix Workspace 1905 pour Windows. Les versions 1907 et ultérieures prennent en charge le partage d’écran sortant.

Activer l’optimisation de Microsoft Teams

Pour activer l’optimisation de Microsoft Teams, utilisez la stratégie Studio décrite à la section Stratégie de redirection de Microsoft Teams. Outre l’activation de cette stratégie, HDX vérifie que la version de l’application Citrix Workspace est égale ou supérieure à la version minimale requise. Si la stratégie est activée et que la version de l’application Citrix Workspace est prise en charge, la clé de Registre HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport est définie sur 1 de manière automatique sur le VDA. L’application Microsoft Teams lit la clé à charger en mode VDI.

Périphériques dans Microsoft Teams

Lorsque l’optimisation pour Microsoft Teams est active, l’application Citrix Workspace accède aux périphériques (casque, microphone, caméras, haut-parleurs, etc.). Ensuite, les périphériques sont correctement énumérés dans l’interface utilisateur Microsoft Teams (Paramètres > Périphériques).

Mode Optimisation pour Microsoft Teams

Microsoft Teams n’accède pas directement aux périphériques, mais s’appuie sur HdxTeams.exe pour l’acquisition, la capture et le traitement des médias. Microsoft Teams répertorie les périphériques que l’utilisateur peut sélectionner.

Remarque :

Nous recommandons Casques certifiés Microsoft Teams avec annulation de l’écho intégrée. Les configurations comportant plusieurs périphériques, où le microphone et les haut-parleurs se trouvent sur des périphériques distincts (par exemple, une webcam avec un microphone intégré et un moniteur avec des haut-parleurs), peuvent entraîner un écho. Lorsque vous utilisez des haut-parleurs externes, placez-les aussi loin que possible du microphone et de n’importe quelle surface susceptible de réfracter le son dans le microphone.

Les technologies HDX peuvent utiliser l’une ou l’autre des méthodes suivantes pour mapper les périphériques :

  • Optimisation pour Microsoft Teams (mode recommandé).
  • Si Microsoft Teams ne parvient pas à se charger en mode VDI optimisé, le VDA utilise des technologies HDX héritées comme Redirection de webcam et Redirection audio et microphone client. En mode non optimisé, les périphériques sont mappés au VDA. Les périphériques apparaissent dans l’application Microsoft Teams comme s’ils étaient connectés localement au bureau virtuel.

    La différence la plus significative est le nom de la caméra. Si Microsoft Teams est chargé en mode non optimisé, les technologies HDX héritées démarrent et le nom de la webcam a le suffixe Citrix HDX, comme illustré dans le graphique suivant. Les noms des périphériques haut-parleur et microphone peuvent être légèrement différents par rapport au mode optimisé.

Mode Annulation d'optimisation pour Microsoft Teams

Lorsque les technologies HDX héritées sont utilisées, Microsoft Teams ne décharge pas le traitement audio, vidéo et partage d’écran vers le moteur multimédia WebRTC de l’application Citrix Workspace du point de terminaison. Les technologies HDX utilisent le rendu côté serveur à la place. La consommation de CPU sur le VDA est élevée lorsque vous activez la vidéo. Les performances audio en temps réel peuvent ne pas être optimales.

Dépannage

Cette section fournit des conseils de dépannage pour les problèmes que vous pourriez rencontrer lors de l’utilisation de l’optimisation de Microsoft Teams. Pour de plus amples informations, consultez l’article CTX253754.

Sur le VDA

Quatre services sont installés par BCR_x64.msi. Seuls deux de ces services sont responsables de la redirection Microsoft Teams dans le VDA.

Quatre services installés par redirection de contenu du navigateur

  • Citrix HDX Teams Redirection Service établit le canal virtuel utilisé dans Microsoft Teams. Le service repose sur CtxSvcHost.exe.

  • Citrix HDX HTML5 Video Redirection Service s’exécute en tant que WebSocketService.exe en écoute sur 127.0.0.1:9002 TCP. WebSocketService.exe exécute deux fonctions principales :

    i. La terminaison TLS pour Secure WebSockets reçoit une connexion WebSocket sécurisée de vdiCitrixPeerConnection.js, qui est un composant de l’application Microsoft Teams. Vous pouvez le suivre avec le moniteur de processus. Pour plus d’informations sur les certificats, consultez la section « Redirection vidéo TLS et HTML5 et redirection du contenu du navigateur » sous Communications entre le Controller et le VDA.

    Moniteur de processus

    ii. Mappage de session utilisateur. Lorsque l’application Microsoft Teams démarre, WebSocketService.exe démarre le processus WebSocketAgent.exe dans la session de l’utilisateur dans le VDA. WebSocketService.exe s’exécute dans la session 0 en tant que compte LocalSystem.

    Service WebSocketAgent.exe

    Vous pouvez utiliser netstat pour vérifier si le service WebSocketService.exe est dans un état d’écoute actif dans le VDA.

    Exécutez netstat -anob -p tcp à partir d’une fenêtre d’invite de commandes avec privilèges élevés :

    Exemple d'exécution de netstat

    En cas de connexion réussie, l’état passe à ESTABLISHED :

    Exemple de netstat réussi

Important :

WebSocketService.exe écoute deux sockets TCP, 127.0.0.1:9001 et 127.0.0.1:9002. Le port 9001 est utilisé pour la redirection du contenu du navigateur et la redirection vidéo HTML5. Le port 9002 est utilisé pour la redirection de Microsoft Teams. Assurez-vous que vous n’avez pas dans le système d’exploitation Windows du VDA de configurations proxy qui peuvent empêcher une communication directe entre Teams.exe et WebSocketService.exe. Parfois, lorsque vous configurez un proxy explicite dans Internet Explorer 11, (Options Internet > Connexions > Paramètres LAN > Serveur proxy), les connexions peuvent circuler via un serveur proxy attribué. Vérifiez que l’option Ne pas utiliser de serveur proxy pour les adresses locales est cochée si vous utilisez un paramètre proxy manuel et explicite.

Emplacements et descriptions des services

Service Chemin vers l’exécutable Ouvrir une session en tant que Description
Service de redirection vidéo Citrix HTML5 “C:\Program Files (x86)\Citrix\System32\WebSocketService.exe” /service Compte Système local Fournit plusieurs services multimédia HDX avec l’infrastructure initiale requise pour effectuer la redirection de média entre le bureau virtuel et la machine de point de terminaison.
Service de redirection de navigateur Citrix HDX “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g BrowserRedirSvcs Ce compte (service local) Permet de rediriger le contenu du navigateur entre la machine de point de terminaison et le bureau virtuel.
Service de transfert de port Citrix “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g PortFwdSvcs Ce compte (service local) Permet de réacheminer le port entre la machine de point de terminaison et le bureau virtuel pour la redirection de contenu du navigateur.
Service de redirection de Teams Citrix HDX “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g TeamsSvcs Compte Système local Offre une redirection de Microsoft Teams entre la machine de point de terminaison et le bureau virtuel.

Application Citrix Workspace

Sur le point de terminaison de l’utilisateur, l’application Citrix Workspace pour Windows instancie un nouveau service appelé HdxTeams.exe lorsque Microsoft Teams démarre dans le VDA et que l’utilisateur essaie d’effectuer un appel ou d’accéder aux périphériques en mode auto-aperçu. Si ce service ne s’affiche pas, vérifiez les points suivants :

  1. Assurez-vous que vous avez installé au minimum la version 1905 de l’application Workspace pour Windows. Voyez-vous HdxTeams.exe et les binaires webrpc.dll dans le chemin d’installation de l’application Workspace ?
  2. Si vous avez validé l’étape 1, procédez comme suit pour vérifier si HdxTeams.exe est lancé.
    1. Quittez Microsoft Teams sur le VDA.
    2. Démarrez services.msc sur le VDA.
    3. Arrêtez le service de Teams Citrix HDX.
    4. Déconnectez la session ICA.
    5. Connectez la session ICA.
    6. Démarrez le service de redirection de Teams Citrix HDX.
    7. Redémarrez le service de redirection vidéo Citrix HDX HTML5.
    8. Lancez Microsoft Teams sur le VDA.
  3. Si HdxTeams.exe n’est toujours pas lancé sur le point de terminaison client, procédez comme suit :
    1. Redémarrez le VDA.
    2. Redémarrez le point de terminaison client.

Assistance

Citrix et Microsoft prennent conjointement en charge la mise à disposition de Microsoft Teams à partir de Citrix Virtual Apps and Desktops à l’aide de l’optimisation pour Microsoft Teams. Cette prise en charge conjointe est le résultat d’une étroite collaboration entre les deux entreprises. Si vous avez des contrats de support valides et que vous rencontrez un problème avec cette solution, ouvrez un ticket de support avec le fournisseur dont le code semble être à l’origine du problème. Autrement dit, Microsoft pour Teams ou Citrix pour les composants d’optimisation.

Citrix ou Microsoft reçoit le ticket, trie le problème et escalade le cas échéant. Vous n’avez pas besoin de contacter l’équipe de support de chaque entreprise.

Collecte des journaux

Les journaux HDXTeams.exe se trouvent sur la machine de l’utilisateur dans %TEMP% dans le dossier HDXTeams (AppData/Local/Temp/HDXTeams). Recherchez un fichier .txt appelé webrpc_Day_Month_timestamp_Year.txt.

Dans les journaux HdxTeams.exe, les entrées suivantes sont les entrées ICE (Interactive Connectivity Establishment) pertinentes qui doivent être présentes pour que l’établissement d’un appel réussisse (voir cet exemple) :

RPCStubs Info: -> device id = \\?\display#int3470#4&1835d135&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}{bf89b5a5-61f7-4127-a279-e187013d7caf} label = Microsoft Camera Front groupId =

RTCPeerConnection::createOffer. audio = 1 video = 1
RTCPeerConnection::OnSignalingChange. signaling state = HaveLocalOffer
video_element::connectTo
RTCPeerConnection::OnIceGatheringChange. state = Gathering

[…]
candidate:840548147 1 udp 2122194687 10.108.124.215 56927 typ host generation 0 ufrag oVk6 network-id 1
[…]
candidate:4271145120 1 udp 1685987071 66.165.176.60 55839 typ srflx raddr 10.108.124.215 rport 55839 generation 0 ufrag uAVH network-id 1
[…]

RTCPeerConnection::OnIceGatheringChange. state = Complete
RTCPeerConnection::setRemoteDescription

RTCPeerConnection::OnSignalingChange. signaling state = HaveRemoteOffer

Si vous rencontrez un problème et que vous pouvez le reproduire de manière cohérente, nous vous recommandons de capturer des traces de CDF avant de contacter le support. Pour plus d’informations, consultez l’article CDFcontrol du centre de connaissances.

Pour obtenir des recommandations sur la collecte des traces CDF, consultez l’article du Centre de connaissances Recommandations pour la collecte des traces CDF.

Traces CDF côté VDA - Activez les fournisseurs de traces CDF suivants :

Traces CDF côté VDA

Traces CDF côté application Workspace - Activez les fournisseurs de traces CDF suivants :

Traces CDF côté application Workspace