Optimierung für Microsoft Teams

Hinweis:

Das Feature hängt von einer zukünftigen Version von Microsoft Teams ab. Diese Beschreibung wird aktualisiert, sobald Informationen über die Version und das Veröffentlichungsdatum herauskommen.

Citrix bietet eine Optimierung für die Verwendung der Desktopversion von Microsoft Teams in Citrix Virtual Apps and Desktops und der Citrix Workspace-App. Standardmäßig werden alle erforderlichen Komponenten in die Citrix Workspace-App und den Virtual Delivery Agent (VDA) gepackt.

Die Optimierung für Microsoft Teams enthält VDA-seitige HDX-Dienste und -API, die als Schnittstelle mit der von Microsoft Teams gehosteten App zum Empfangen von Befehlen fungieren. Diese Komponenten öffnen einen virtuellen Steuerungskanal zum Citrix Workspace-App-Medienmodul. Multimedia wird vom Endpunkt decodiert und lokal wiedergegeben. Im invertierten Seamlessmodus wird das lokale Citrix Workspace-App-Fenster an die von Microsoft Teams gehostete App zurückgegeben.

Authentifizierung und Signalisierung erfolgen nativ in der von Microsoft Teams gehosteten App, genau wie die anderen Microsoft Teams-Dienste (zum Beispiel Chat oder Teamarbeit). Die Audio-/Videoumleitung hat auf sie keine Auswirkungen.

Nur Clientabruf und Clientwiedergabe sind verfügbar.

Architektur

Funktionsweise der Optimierung für Microsoft Teams

In diesem Video wird gezeigt, wie Microsoft Teams in einer virtuellen Citrix Umgebung funktioniert.

Demo: Optimierung für Microsoft Teams

Anrufeinrichtung und Medienflusspfad

Wenn möglich, versucht die HDX Media Engine in der Citrix Workspace-App (HdxTeams.exe), eine direkte Netzwerk-SRTP-Verbindung über UDP in einem Peer-to-Peer-Anruf herzustellen. Wenn die UDP-Ports blockiert sind, fällt die Media Engine auf TCP 443 zurück.

Die HDX Media Engine unterstützt ICE, STUN (Session Traversal Utilities for NAT) und TURN (Traversal Using Relays around NAT) für die Kandidatendiscovery und den Verbindungsaufbau. Wenn es keinen direkten Pfad zwischen den Peers gibt oder wenn der Benutzer einem Anruf mit mehreren Parteien oder einer Besprechung beitritt, verwendet HdxTeams.exe einen Microsoft Teams-Transportrelayserver in Azure. Der Clientcomputer des Benutzers muss Zugriff auf mehrere Azure-IP-Adressbereiche haben. Weitere Informationen finden Sie im Diagramm im Abschnitt “Architektur” und Office 365-URLs und IP-Adressbereich ID 11.

HdxTeams.exe kontaktiert die Microsoft Teams-Transportrelaycloud mit Anycast-IP und Port 3478-3481 UDP (verschiedene UDP-Ports pro Workload, wobei Multiplexing möglich ist) und 443 TCP. Die Anrufqualität hängt vom zugrunde liegenden Netzwerkprotokoll ab. Da UDP über TCP immer empfehlenswert ist, empfehlen wir Ihnen, Ihre Netzwerke so zu gestalten, dass UDP-Datenverkehr möglich ist. Die meisten Fehler beim Einrichten eines Anrufs sind ICE-Fehler. Überprüfen Sie dies zuerst, wenn ein Anruf nicht abgeschlossen werden kann. Weitere Informationen zum Sammeln von ICE-Kandidaten finden Sie unter “Sammeln von Protokollen” im Abschnitt Support.

Hinweis:

Wenn die Endpunkte keinen Internetzugang haben, kann der Benutzer möglicherweise immer noch einen Peer-to-Peer-Anruf tätigen (Meetings schlagen fehl). In diesem Fall gibt es ein Timeout von 30 Sekunden, bevor der Anruf eingerichtet wird.

Netzwerkanforderungen

Microsoft Teams verwendet Transportrelayserver in Azure für Besprechungen, Anrufe mit mehreren Teilnehmern und wenn zwei Peers bei einem Point-to-Point-Anruf keine direkte Konnektivität haben. Daher hängt die Anrufgüte von der Integrität des Netzwerks zwischen dem Peer und der Office 365-Cloud ab.

Wir empfehlen eine Analyse der Umgebung auf Risiken und Anforderungen bezüglich der gesamten Sprach- und Videobereitstellung über die Cloud. Verwenden Sie das Skype for Business Network Assessment Tool, um zu prüfen, ob Ihr Netzwerk sich für Microsoft Teams eignet. Supportinformationen finden Sie in Abschnitt Support.

Metrik Endpunkt zu Office 365
Latenz (ein Weg) < 50 ms
Latenz (RTT) < 100 ms
Paketverlust < 1 % während eines Intervalls von 15 s
Paket-Interarrival-Jitter <30 ms während eines Intervalls von 15 s

Weitere Informationen finden Sie unter Vorbereiten des Netzwerks für Microsoft Teams.

Bezüglich Bandbreitenanforderungen kann die Optimierung für Microsoft Teams eine Vielzahl von Codecs für Audio (G.722/OPUS/PCM) und Video (H264/VP9) verwenden. Die Peers handeln diese Codecs während der Einrichtung des Anrufs über SDP (Session Description Protocol) aus. Mindestempfehlungen von Citrix:

Typ Bandbreite Codec
Audio (bidirektional) ~ 90 kbps G.722
Video (bidirektional) ~ 700 kbps H264 360p bei 30 F/s 16:9
Bildschirmfreigabe ~ 150 kbps H264 bei 15 F/s

Systemanforderungen

Mindestversion – VDA 1906 für Windows-Desktopbetriebssysteme:

Unterstützte Betriebssysteme:

  • Windows 10 64-Bit, Mindestversionen 1607 bis 1903.

Anforderungen:

  • Microsoft .NET Framework 4.7.1 oder später wird automatisch installiert, wenn es nicht bereits installiert ist.
  • Microsoft Visual C++ 2013 und 2015 Runtime (32-Bit und 64-Bit)
  • BCR_x64.msi: Das MSI mit dem Microsoft Teams-Optimierungscode. Es startet automatisch von der GUI. Wenn Sie die Befehlszeilenschnittstelle für die VDA-Installation verwenden, schließen Sie es nicht aus.

Mindestversion – VDA 1906 für Windows-Serverbetriebssysteme:

Unterstützte Betriebssysteme:

  • Windows Server 2019, 2016 und 2012 R2, Standard und Datacenter Edition

Das Installationsprogramm installiert automatisch folgende Elemente, die auch auf den Citrix Installationsmedien in den \Support-Ordnern zur Verfügung stehen:

  • Microsoft .NET Framework 4.7.1 oder später wird automatisch installiert, wenn es nicht bereits installiert ist.
  • Microsoft Visual C++ 2013 und 2015 Runtime (32-Bit und 64-Bit)
  • BCR_x64.msi: Das MSI mit dem Microsoft Teams-Optimierungscode. Es startet automatisch von der GUI. Wenn Sie die Befehlszeilenschnittstelle für die VDA-Installation verwenden, schließen Sie es nicht aus.

Das Installationsprogramm installiert und aktiviert automatisch die Remotedesktopdienste-Rollen, wenn sie nicht bereits installiert und aktiviert sind.

Mindestversion – Citrix Workspace-App 1905 für Windows:

  • Windows 7, 8 und 10, 32-Bit- und 64-Bit-Editionen (inkl. Embedded Edition)
  • Endpunkt: ca. 1,8–2,0 GHz Vierkern-CPU, die 360p-VGA-Auflösung für Peer-to-Peer-Videokonferenzen unterstützt.
  • Die Citrix Workspace-App benötigt mindestens 600 MB freien Speicherplatz und 1 GB RAM.
  • Mindestanforderungen für Microsoft .NET Framework ist Version 4.6.2. Die Citrix Workspace-App lädt .NET Framework automatisch herunter und installiert es, wenn es nicht vorhanden ist.
  • Diese Version der Citrix Workspace-App unterstützt die Audio- und Videoumleitung (Peer-to-Peer- oder Konferenzanrufe) und die Anzeige eingehender Bildschirmfreigaben. Ausgehende Bildschirmfreigabe wird von der Citrix Workspace-App 1905 für Windows nicht unterstützt. Die Versionen ab 1907 unterstützen die ausgehende Bildschirmfreigabe.

Aktivieren der Optimierung für Microsoft Teams

Verwenden Sie die unter Microsoft Teams-Umleitungsrichtlinie beschriebenen Studio-Richtlinie, um die Optimierung für Microsoft Teams zu aktivieren. Zusätzlich zu der Aktivierung dieser Richtlinie überprüft HDX, ob die Version der Citrix Workspace-App der Mindestversion entspricht. Wenn die Richtlinie aktiviert ist und die Version der Citrix Workspace-App unterstützt wird, wird der Registrierungsschlüssel HKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupport auf dem VDA automatisch auf 1 festgelegt. Microsoft Teams liest den Schlüssel zum Laden im VDI-Modus.

Peripheriegeräte in Microsoft Teams

Wenn die Optimierung für Microsoft Teams aktiv ist, greift die Citrix Workspace-App auf die Peripheriegeräte (Headset, Mikrofon, Kameras, Lautsprecher usw.) zu. Anschließend werden die Peripheriegeräte ordnungsgemäß in der Benutzeroberfläche von Microsoft Teams (Einstellungen > Geräte) enumeriert.

Optimierungsmodus für Microsoft Teams

Microsoft Teams greift nicht direkt auf die Geräte zu. Stattdessen verwendet es HdxTeams.exe, um die Medien zu erfassen, aufzuzeichnen und zu verarbeiten. Microsoft Teams listet die Geräte auf, die der Benutzer auswählen kann.

Hinweis:

Wir empfehlen Microsoft Teams-zertifizierte Headsets mit integrierter Echounterdrückung. Bei Konfigurationen mit mehreren Peripheriegeräten, bei denen sich Mikrofon und Lautsprecher in separaten Geräten befinden (z. B. eine Webcam mit integriertem Mikrofon und ein Bildschirm mit Lautsprechern) kann es zu einem Echo kommen. Wenn Sie externe Lautsprecher verwenden, stellen Sie sie so weit wie möglich entfernt vom Mikrofon und von jeder Oberfläche, die den Ton auf das Mikrofon lenken könnte, auf.

Die HDX-Technologien können für die Zuordnung von Peripheriegeräten eine der folgenden Methoden verwenden:

  • Optimierung für Microsoft Teams (empfohlener Modus).
  • Wenn Microsoft Teams nicht im optimierten VDI-Modus geladen werden kann, verwendet der VDA ältere HDX-Technologien Webcamumleitung und Audio- und Mikrofonumleitung des Clients. Im nicht optimierten Modus werden die Peripheriegeräte dem VDA zugeordnet. Die Peripheriegeräte werden in der Microsoft Teams-App so angezeigt, als wären sie lokal an den virtuellen Desktop angeschlossen.

    Der wichtigste Unterschied ist der Kameraname. Wenn Microsoft Teams im nicht optimierten Modus geladen werden, werden ältere HDX-Technologien gestartet, und der Webcamname hat das Suffix Citrix HDX, wie in der folgenden Abbildung. Die Lautsprecher- und Mikrofongerätenamen unterscheiden sich im Vergleich zum optimierten Modus möglicherweise geringfügig.

Deoptimierungsmodus für Microsoft Teams

Wenn ältere HDX-Technologien verwendet werden, werden die Audio-, Video- und Bildschirmfreigabeverarbeitung von Microsoft Teams nicht auf die WebRTC Media Engine der Citrix Workspace-App des Endpunkts übertragen. Stattdessen verwenden HDX-Technologien serverseitiges Rendering. Erwarten Sie einen hohen CPU-Verbrauch auf dem VDA, wenn Sie Video einschalten. Die Echtzeitaudioleistung ist möglicherweise nicht optimal.

Problembehandlung

Dieser Abschnitt enthält Tipps zur Behandlung von Problemen, die bei der Verwendung der Optimierung für Microsoft Teams auftreten können. Weitere Informationen finden Sie in CTX253754.

Virtual Delivery Agent

Von BCR_x64.msi werden vier Dienste installiert. Nur zwei sind für die Microsoft Teams- Umleitung auf dem VDA verantwortlich.

Vier von der Browserinhaltsumleitung installierte Dienste

  • Citrix HDX Teams Redirection Service richtet den virtuellen Kanal ein, der in Microsoft Teams verwendet wird. Der Dienst basiert auf CtxSvcHost.exe.

  • Citrix HDX HTML5 Video Redirection Service wird als WebSocketService.exe ausgeführt und überwacht 127.0.0.1:9002 TCP. WebSocketService.exe führt zwei Hauptfunktionen aus:

    i. TLS termination for secure WebSockets empfängt eine sichere WebSocket-Verbindung von vdiCitrixPeerConnection.js, einer Komponente in der Microsoft Teams-App. Sie können sie mit der Prozessüberwachung verfolgen. Weitere Informationen zu Zertifikaten finden Sie im Abschnitt “TLS- und HTML5-Videoumleitung und Browserinhaltsumleitung” unter Kommunikation zwischen Controller und VDA.

    Prozessüberwachung

    ii. Benutzersitzungszuordnung. Wenn die Anwendung Microsoft Teams startet, startet WebSocketService.exe den Prozess WebSocketAgent.exe in der Benutzersitzung auf dem VDA. WebSocketService.exe wird in Sitzung 0 als LocalSystem-Konto ausgeführt.

    WebSocketAgent.exe-Dienst

    Sie können mit netstat überprüfen, ob der WebSocketService.exe-Dienst auf dem VDA aktiv überwacht.

    Führen Sie mit erhöhten Rechten an der Eingabeaufforderung netstat -anob -p tcp aus:

    Beispiel für das Ausführen von netstat

    Bei einer erfolgreichen Verbindung ändert sich der Status in ESTABLISHED:

    Beispiel für Erfolg bei netstat

Wichtig:

WebSocketService.exe überwacht die beiden TCP-Sockets 127.0.0.1:9001 und 127.0.0.1:9002. Port 9001 wird für die Browserinhaltsumleitung und die HTML5-Videoumleitung verwendet. Port 9002 wird für die Microsoft Teams-Umleitung verwendet. Stellen Sie sicher, dass das Windows-Betriebssystem des VDA keine Proxykonfigurationen enthält, die eine direkte Kommunikation zwischen Teams.exe und WebSocketService.exe verhindern. Wenn Sie einen expliziten Proxy in Internet Explorer 11 konfigurieren (Internetoptionen > Verbindungen > LAN-Einstellungen > Proxyserver), können Verbindungen über einen zugewiesenen Proxyserver laufen. Stellen Sie sicher, dass der Proxyserver für lokale Adressen umgehen aktiviert ist, wenn Sie eine manuelle und explizite Proxyeinstellung verwenden.

Speicherorte und Beschreibung der Dienste

Service Pfad zur ausführbaren Datei Anmelden als Beschreibung
Citrix HTML5-Videoumleitungsdienst “C:\Programme (x86)\Citrix\System32\WebSocketService.exe” /service Lokales Systemkonto Bietet mehrere HDX Multimedia-Dienste mit dem Framework, das für die Durchführung der Medienumleitung zwischen dem virtuellen Desktop und dem Endgerät erforderlich ist.
Citrix HDX-Browserumleitungsdienst “C:\Programme (x86)\Citrix\System32\CtxSvcHost.exe” -g BrowserRedirSvcs Dieses Konto (lokaler Dienst) Ermöglicht die Browserinhaltsumleitung zwischen dem Endpunktgerät und dem virtuellen Desktop.
Citrix Portweiterleitungsdienst “C:\Programme (x86)\Citrix\System32\CtxSvcHost.exe” -g PortFwdSvcs Dieses Konto (lokaler Dienst) Ermöglicht die Portweiterleitung zwischen dem Endpunktgerät und dem virtuellen Desktop für die Browserinhaltsumleitung.
Citrix HDX-Teams-Umleitungsdienst “C:\Programme (x86)\Citrix\System32\CtxSvcHost.exe” -g TeamsSvcs Lokales Systemkonto Ermöglicht die Microsoft Teams-Umleitung zwischen dem Endpunktgerät und dem virtuellen Desktop.

Citrix Workspace-App

Auf dem Endpunkt des Benutzers instanziiert die Citrix Workspace-App für Windows den neuen Dienst HDXTeams.exe, wenn Microsoft Teams auf dem VDA gestartet wird und der Benutzer versucht, in der Eigenvorschau einen Anruf zu tätigen oder auf Peripherigeräte zuzugreifen. Wenn dieser Dienst nicht angezeigt wird, überprüfen Sie Folgendes:

  1. Die Workspace-App Version 1905 für Windows wurde installiert. Enthält der Installationspfad der Workspace-App HDXTeams.exe und die webrpc.dll-Binärdateien?
  2. Wenn Sie Schritt 1 überprüft haben, gehen Sie folgendermaßen vor, um zu prüfen, ob HDXTeams.exe gestartet wird.
    1. Beenden Sie Microsoft Teams auf dem VDA.
    2. Starten Sie services.msc auf dem VDA.
    3. Beenden Sie den Citrix HDX-Teams-Umleitungsdienst.
    4. Trennen Sie die ICA-Sitzung.
    5. Verbinden Sie die ICA-Sitzung.
    6. Starten Sie den Citrix HDX-Teams-Umleitungsdienst.
    7. Starten Sie den Citrix HDX HTML5-Videoumleitungsdienst neu.
    8. Starten Sie Microsoft Teams auf dem VDA.
  3. Wird HDXTeams.exe auf dem Clientendpunkt immer noch nicht gestartet, gehen Sie wie folgt vor:
    1. Starten Sie den VDA neu.
    2. Starten Sie den Clientendpunkt neu.

Support

Citrix und Microsoft unterstützen gemeinsam die Bereitstellung von Microsoft Teams über Citrix Virtual Apps and Desktops mithilfe der Optimierung für Microsoft Teams. Diese gemeinsame Unterstützung ist das Ergebnis einer engen Zusammenarbeit zwischen den beiden Unternehmen. Wenn Sie gültige Supportverträge haben und ein Problem mit dieser Lösung auftritt, öffnen Sie ein Supportticket bei dem Anbieter, in dessen Code Sie die Ursache des Problems vermuten. Das heißt, Microsoft für Teams und Citrix für die Optimierungskomponenten.

Citrix oder Microsoft erhält das Ticket, untersucht das Problem und übergibt es an das zuständige Team. Sie müssen sich nicht an das Supportteam beider Unternehmen wenden.

Sammeln von Protokollen

Protokolle für HDXTeams.exe finden Sie auf der Benutzermaschine im Ordner HDXTeams (AppData/Local/Temp/HDXTeams). Suchen Sie die TXT-Datei webrpc_Day_Month_timestamp_Year.txt.

In den Protokollen für HDXTeams.exe sind die folgenden Einträge für ICE (Interactive Connectivity Establishment) relevant, wenn ein Anruf erfolgreich eingerichtet wurde (siehe Beispielausschnitt):

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

Wenn ein Problem auftritt und Sie es immer wieder reproduzieren können, empfehlen wir die Erzeugung eines CDF-Tracingberichts, bevor Sie den Support kontaktieren. Weitere Informationen finden Sie im Knowledge Center-Artikel CDFcontrol.

Empfehlungen zur Erzeugung von CDF-Tracingberichten finden Sie im Knowledge Center-Artikel Recommendations for Collecting the CDF Traces.

VDA-seitige CDF-Tracingberichte – aktivieren Sie die folgenden CDF-Trace-Anbieter:

VDA-seitige CDF-Tracingberichte

Workspace-App-seitige CDF-Tracingberichte – aktivieren Sie die folgenden CDF-Trace-Anbieter:

Workspace-App-seitige CDF-Tracingberichte