Optimierung des Unified Communications SDK
Einführung
Citrix Virtual Apps and Desktops ermöglicht es Ihnen, Anwendungen auf einer Vielzahl von Endgeräten für Ihre Benutzer bereitzustellen. Viele dieser Anwendungen umfassen Echtzeitkommunikationsfunktionen (RTC), wie Audio- und Videokonferenzen. Bei der Bereitstellung dieser Anwendungen in einer virtualisierten Umgebung können jedoch Herausforderungen auftreten. Herkömmliche Bereitstellungsmethoden leiten Mediendatenströme (Audio/Video) vom Clientgerät zum VDI-Server im Rechenzentrum, bevor sie an das Endgerät zurückgesendet werden. Dieses „Hairpinning“ führt zu unnötigem Datenverkehr und Verarbeitungsaufwand auf dem Server, insbesondere bei bandbreitenintensiven Audio- und Videoanrufen.
Das Citrix Unified Communications SDK (UCSDK) ist eine Technologie, die es Technologieanbietern ermöglicht, diese RTC-Anwendungen für die Verwendung in Citrix Umgebungen zu optimieren. Wenn eine Anwendung optimiert ist, kann sie eine Benutzererfahrung bieten, die der einer Anwendung auf einem lokalen Desktop entspricht oder diese sogar übertrifft. In der heutigen Welt ist nahtlose Echtzeitkommunikation für Produktivität und Zusammenarbeit unerlässlich. Bei der Verwendung von Anwendungen in einer virtuellen Umgebung ist es entscheidend, dass Audio- und Videoanrufe, Bildschirmfreigabe und andere Kommunikationsfunktionen so reibungslos funktionieren, wie sie es auf einem lokalen Desktop tun würden. Optimierte Anwendungen bieten diese Erfahrung.
- Diese Produktdokumentation beschreibt alles, was Citrix Kunden benötigen, um UCSDK-optimierte Anwendungen kennenzulernen und bereitzustellen.
Funktionsweise
Citrix bietet eine optimierte Bereitstellungsmethode für Echtzeitkommunikationsanwendungen innerhalb von VDIs. Dieser Ansatz nutzt das Unified Communications SDK (UCSDK), um die virtualisierte Anwendung in zwei Teile aufzuteilen:
- Benutzeroberfläche (UI): Die Benutzeroberfläche verbleibt im virtuellen Host und wird nahtlos innerhalb des virtuellen Desktops oder Anwendungsfensters angezeigt.
-
Media Engine: Die Medienverarbeitungsaufgaben (Kodierung/Dekodierung von Audio und Video) werden auf das lokale Gerät des Benutzers ausgelagert. Dies minimiert die Serverlast und optimiert die Netzwerknutzung.
-
Typischerweise bietet Citrix das UCSDK Technologieanbietern im Bereich der Echtzeitkommunikation an und arbeitet mit ihnen zusammen, um das UCSDK in diese Anwendungen zu integrieren. Nach der Integration wird jeder Citrix Kunde, der eine UCSDK-optimierte Anwendung verwendet, eine verbesserte Erfahrung haben. Das Citrix UCSDK kann auch von Citrix Kunden genutzt werden, wenn eine kundenspezifische Inhouse-Anwendung entwickelt wird. In den meisten Fällen müssen Kunden jedoch das UCSDK nicht nutzen und damit entwickeln – sie müssen lediglich die Citrix Umgebung und die Anwendung konfigurieren, um eine optimierte Erfahrung zu erzielen.
-
Hinweis:
-
Verweise auf das Citrix WebRTC SDK (oder) eine HDX™-optimierte Anwendung weisen auf eine Integration mit dem Citrix UCSDK hin und können synonym verwendet werden.
-
Neuerungen
- UCSDK 4.1.0 ist die neueste allgemein verfügbare Version, die Technologieanbieter integrieren können. Darüber hinaus werden zwei weitere Versionen unterstützt – UCSDK 4.0.2 und UCSDK 3.1.0. Mit UCSDK-Releases werden neue Funktionen eingeführt, und Technologieanbieter müssen sicherstellen, dass sie das SDK aktualisieren, damit Kunden die Funktionen erhalten. Auf diese Weise können sich Citrix Kunden darauf konzentrieren, die für neue Funktionen erforderlichen Citrix Komponenten zu aktualisieren.
Mit der Veröffentlichung von UCSDK 4.1.0 führen wir entscheidende Verbesserungen der Benutzererfahrung und brandneue Funktionen ein, die eine tiefere Integration mit den Produkten unserer Partner und einen größeren Mehrwert für unsere Kunden ermöglichen.
Neue Funktionen
- UCSDK Endpunkt-Bildschirmaufzeichnung (Tech Preview): Um eine wichtige Lücke bei der Compliance-Aufzeichnung zu schließen, können neue UCSDK-APIs jetzt Inhalte auf dem Endpunkt erfassen, selbst wenn Anwendungen innerhalb von VDI ausgeführt werden. Diese Funktion, die sich derzeit in der Vorschau für Windows-Endpunkte befindet, ermöglicht es Technologieanbietern, ihre Anwendungen zu erweitern, um die Endpunkt-Bildschirmaufzeichnung unter Citrix zu unterstützen. Beachten Sie, dass diese Funktion auf die Verbesserung von Anbieteranwendungen abzielt und sich von der Citrix Sitzungsaufzeichnung unterscheidet.
- Behandlung von Sitzungswiederverbindungen: Eine entscheidende Verbesserung von Bootstrap verbessert die Erfahrung mit Browseranwendungen erheblich und bringt sie näher an die von Electron-basierten Desktop-Anwendungen heran. Browserbasierte Anwendungen, die Bootstrap verwenden, können jetzt Citrix Sitzungsunterbrechungen dynamisch handhaben und bieten Endbenutzern eine nahtlose Benutzererfahrung.
-
Unterstützung für neue Methoden: Es wurde Unterstützung für das Neustarten der ICE-Sammlung und für
iceCandidatePoolSizeinRTCConfigurationhinzugefügt. -
Verbesserte Fehlerbehandlung und Compliance-Verbesserungen: Verbesserte Einhaltung der WebRTC-Spezifikation für
getUserMedia.getStats()fürCitrixPeerConnection,RtpSenderundRtpReceiverwurde verbessert, um bei Fehlerbedingungen einen leeren Bericht anstelle von void zurückzugeben.
Vollständig kompatible Versionen für UCSDK 4.1.0 umfassen:
- Citrix Virtual Apps and Desktops™ 2503
- Citrix Workspace™ App für Windows 2503
- Citrix Workspace App für Mac 2503
- Citrix Workspace App für Linux 2503
- Das neueste ChromeOS/HTML5-Release.
-
Hinweis:
-
-
Citrix-Kunden können sich an Technologieanbieter wenden, um das SDK zu aktualisieren oder Unterstützung für bestimmte Funktionen hinzuzufügen, falls Anwendungsfälle bestehen, die mit den neu eingeführten Funktionen realisiert werden können.
Hauptvorteile
Wenn Sie Anwendungen verwenden, die mit dem Citrix UCSDK optimiert wurden, können Sie Folgendes erwarten:
- Verbesserte Medienverarbeitungsleistung durch Auslagerung der prozessorintensiven Medienkodierung/-dekodierung vom Citrix Virtual Delivery Agent (VDA) an den Client-Endpunkt, wodurch die allgemeine Reaktionsfähigkeit für Endbenutzer erhöht wird.
- Reduzierter CPU- und Bandbreitenverbrauch auf dem Citrix VDA, wodurch die IT mehr gleichzeitige Benutzer pro Host unterstützen und Unternehmen Citrix Virtual Desktop-Bereitstellungen kostengünstig skalieren können.
- Niedrigere Gesamtbetriebskosten für Unternehmen, da optimierte Endpunkte die Lebensdauer älterer virtueller Desktops verlängern und den Bedarf an Host-Infrastruktur reduzieren, wodurch Investitions- und Betriebskosten im Laufe der Zeit gesenkt werden.
- Unterstützung für Windows-, Mac-, Linux-, ChromeOS- und HTML5-Endpunktplattformen.
Anwendungsfälle
Das UCSDK wurde speziell entwickelt, um Echtzeit-Kommunikationsanwendungen zu optimieren, die dem WebRTC-Standard entsprechen. Hier sind wichtige Szenarien und die Arten von WebRTC-basierten Anwendungen, die das UCSDK nutzen können / bereits nutzen.
-
Contact Center as a Service (CCaaS) / Cloud-Contact-Center-Plattformen: Verwalten primär Kundeninteraktionen über mehrere Kanäle und optimieren Agenten-Workflows.
- Beispiele: Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
-
Unified Communications as a Service (UCaaS) / Cloud-Business-Kommunikation: Integrieren Sprache, Video, Team-Messaging und Präsenz für eine umfassende Geschäftskommunikation.
- Beispiele: Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
-
Communications Platform as a Service (CPaaS): Bieten APIs zum direkten Einbetten von Echtzeit-Kommunikationsfunktionen in benutzerdefinierte Anwendungen.
- Beispiele: Twilio, Ribbon Communications
-
Enterprise-Videokonferenzen und -Zusammenarbeit: Dedizierte Plattformen für hochwertige Videomeetings, Konferenzen und erweiterte Kollaborationsfunktionen.
- Beispiel: Pexip
-
Finanzhandelskommunikation: Entwickelt für die einzigartigen, hochleistungsfähigen und konformen Kommunikationsanforderungen der Finanzmärkte.
- Beispiel: IPC Unigy
-
Virtuelle Lern- und Trainingsplattformen: Entwickelt für interaktive, hochwertige virtuelle Klassenzimmer- und Trainingserlebnisse.
- Beispiel: Vitero
Die zugrunde liegende WebRTC-Grundlage des Citrix UCSDK bedeutet, dass seine Optimierungsfunktionen auf alle WebRTC-basierten Kommunikationsanwendungen ausgeweitet werden können. Dies eröffnet die Möglichkeit, eine Vielzahl von Anwendungen zu optimieren, die WebRTC für Echtzeitinteraktionen nutzen, selbst wenn sie derzeit nicht als mit UCSDK optimiert aufgeführt sind. Wir ermutigen Kunden, sich mit Anwendungsfällen oder Anwendungen, die sie optimiert sehen möchten, an Citrix zu wenden.
-
UCSDK-Architektur
-

-
Vendor-Anwendung: Dies kann jede desktop- oder browserbasierte Echtzeit-Kommunikationsanwendung eines Drittanbieters sein, die das UCSDK integriert hat.
-
UCSDK JS: UCSDK JS stellt die APIs bereit, die Vendor-Anwendungen nutzen, um Audio/Video an den Endpunkt auszulagern.
- HdxRtcEngine: Dies ist die eingebettete WebRTC-Medien-Engine in der Citrix Workspace App, die den ausgelagerten Audio-/Videoanruf verarbeitet und handhabt.
Sobald das SDK geladen und verwendet wird, wird der Prozess HdxRtcEngine.exe auf dem Client-Endpunkt gestartet, wenn die Umleitung erfolgreich ist. Sobald HdxRtcEngine.exe auf dem Client-Endpunkt gestartet wurde, fließen alle Signalisierungs- und Nutzdaten vom Citrix VDA zum Client-Endpunkt, erreichen die Cloud, kehren zum Client-Endpunkt zurück und werden dann an den VDA weitergeleitet. Ein vollständiger Roundtrip des Datenflusses könnte beispielsweise so aussehen:
Vendor-Anwendung -> CitrixWebrtc.js SDK -> Citrix VDA-Komponenten -> Citrix Client-Endpunkt-Komponenten -> Cloud -> Citrix Client-Endpunkt-Komponenten -> Citrix VDA-Komponenten -> CitrixWebrtc.js SDK -> Vendor-Anwendung
-
Systemanforderungen
Die Systemanforderungen geben die verschiedenen Versionen der Citrix-Komponenten an, die mit der neuesten Version des UCSDK – 4.1.0 – benötigt werden. Details zur Kompatibilität älterer SDK-Versionen und spezifische Funktionsanforderungen finden Sie in der untenstehenden Tabelle Versionen und Funktionsmatrix.
Hinweis:
Damit Kunden Funktionen nutzen können, die zu UCSDK hinzugefügt werden, stellen Sie sicher, dass die Anbieteranwendung die entsprechende UCSDK-Version integriert und die Funktion aktiviert hat und Sie die entsprechenden VDA- und CWA-Versionen in Ihrer Umgebung verwenden.
Vollständig kompatible Versionen
Vollständig kompatible Versionen bedeuten, dass Kunden durch die Verwendung dieser Versionen von Citrix-Komponenten zusammen mit der neuesten Version von UCSDK alle verfügbaren Funktionen nutzen können. Für die aktuelle neueste Version von UCSDK – 4.1.0 – sind die vollständig kompatiblen Versionen der Citrix-Komponenten wie folgt:
- Citrix Virtual Apps™ and Desktops: 2503
- Citrix Workspace App Windows: 2503
- Citrix Workspace App Mac: 2503
- Citrix Workspace App Linux: 2503
- Citrix Workspace App ChromeOS/HTML5: Neueste Version
Konfiguration
Die Funktionalität der UCSDK-Funktionen hängt von drei Faktoren ab: der UCSDK-Version, die der Anbieter integriert und die Funktionen, die der Anbieter aktiviert hat, den Citrix Virtual Apps and Desktops und der verwendeten Citrix Workspace-App-Version.
Auf der Citrix-Seite stellen Sie bitte sicher, dass Folgendes konfiguriert ist, damit die optimierte Anwendung optimiert werden kann:
- Stellen Sie sicher, dass die Umleitungsrichtlinie für Microsoft Teams aktiviert ist. Weitere Informationen finden Sie unter Multimedia-Richtlinieneinstellungen. Beachten Sie, dass diese Richtlinie standardmäßig aktiviert ist.
- Drittanbieter-Electron- oder browserbasierte Anwendungen, die das
CitrixWebrtc.js-SDK verwenden, werden standardmäßig nicht unterstützt. DerCtxHdxWebSocketService(WebSocketService.exe) lässt keine Verbindungen von Anwendungen zu, die sich nicht auf der Zulassungsliste befinden. Der gewünschte Name der ausführbaren Anwendungsbinärdatei muss einem Registrierungsschlüssel für die Whitelist hinzugefügt werden.
Auf dem VDA
- Erstellen Sie einen Schlüsselpfad:
HKLM\Software\WOW6432Node\Citrix\WebSocketService - Schlüsselname:
ProcessWhitelist - Typ:
MULTISZ - Schlüsselwert:
Mytestapp.exe
Wenn Sie mehrere Anwendungen haben, geben Sie jede Anwendung in einer neuen Zeile ein. Kopieren Sie nicht aus einer Textdatei und fügen Sie keine Kommas ein. Stellen Sie sicher, dass der angegebene Name mit dem ausführbaren Namen der Anwendung übereinstimmt. Dieser Registrierungswert ist nicht Groß-/Kleinschreibung-sensitiv.
Wenn auf die Anwendung über einen Browser statt über eine vollwertige Desktop-Anwendung zugegriffen wird, dann müssen Sie z. B. chrome.exe im Registrierungswert zulassen.
Sobald die obige Registrierung erfolgreich konfiguriert wurde, starten Sie den VDA neu oder starten Sie den CtxHdxWebSocketService neu, um die Whitelist-Einrichtung abzuschließen.
Auf dem Client
Es ist keine Konfiguration erforderlich. Installieren Sie einfach die Citrix Workspace-App.
Jeder Anbieter kann einen sehr spezifischen Anwendungsnamen haben. Beachten Sie daher die Anbieterdokumentation, die im Abschnitt Aktueller Anbieter-Support verlinkt ist, um zu bestimmen, welcher Anwendungsname im WebSocketService zugelassen werden muss.
Funktionsreferenz
Optimiertes Overlay-Clipping für verbesserte Leistung und Benutzererfahrung
Ab CVAD 2511 wurde der Mechanismus zur Handhabung umgeleiteter Video-Overlays in Funktionen wie der HDX Microsoft Teams-Optimierung und der UCSDK-Optimierung neu konzipiert, um sowohl die Benutzererfahrung als auch die Serverleistung zu verbessern.
Wesentliche Vorteile
-
Verbesserte visuelle Genauigkeit: Diese Verbesserung behebt visuelle Fehler, bei denen Anwendungselemente wie Pop-up-Menüs oder Benachrichtigungen fälschlicherweise hinter Videoinhalten angezeigt wurden. Die neue Logik stellt sicher, dass alle Komponenten in der richtigen Reihenfolge gerendert werden, was eine nahtlosere und vorhersehbarere Erfahrung bietet.
-
Verbesserte Leistung: Diese Optimierung reduziert die CPU-Auslastung auf dem Virtual Delivery Agent erheblich. Durch den Ersatz älterer, ressourcenintensiver Abfragemethoden durch einen effizienteren grafikbasierten Ansatz verbessert diese Änderung die Serverskalierbarkeit und ermöglicht eine höhere Benutzerdichte.
Hinweis:
Die Funktionalität hängt von einer zukünftigen Version von Microsoft Teams (oder einer anderen UCSDK-Partneranwendung) ab und erfordert Citrix Workspace App für Windows 2511.
Versionen und Funktionsmatrix
Da Versionsaktualisierungen häufig erfolgen, beachten Sie bitte die Produktlebenszyklusseiten von Citrix Virtual Apps and Desktops und Citrix Workspace App, um sicherzustellen, dass eine bestimmte Version unterstützt wird. Für viele der älteren Funktionen sind die in der Tabelle genannten Versionen die letzten unterstützten Current Release (CR)-Versionen zum Zeitpunkt der Erstellung dieses Dokuments.
| Funktion | UCSDK Version | VDA | CWA Windows | CWA Mac | CWA Linux | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| Audio / Video (p2p & conference) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Screen sharing | 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 |
| Proxy Server Support | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| App Sharing | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | N/A |
| Dynamic e911 | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Multi Window | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| SDP Unified Plan Support | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Stream resolution / Simulcast | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Remote Audio (with Loop) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2405 |
| Browser-based UCSDK (Bootstrap support) | 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 Latest CU / 2311 CR | 2405 | 2405 | 2405 | N/A |
| Restart ICE | 4.1.0 | 2203 LTSR Latest CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| Screen Recording (Preview)¹ | 4.1.0 | 2503 | 2503.2 | N/A | N/A | N/A |
Hinweis:
Wir haben eine neue Richtlinie für die Bildschirmaufzeichnung eingeführt, daher benötigen Sie die Version 2503 des Delivery Controllers™, die mit CVAD 2503 geliefert wird.
Aktueller Anbieter-Support
Mehrere Drittanbieter haben das Unified Communications SDK in ihre Produkte integriert. Die aktuelle Liste der Anbieter und ihrer unterstützenden Dokumentation ist unten aufgeführt:
| Anbieter | Dokumentation |
|---|---|
| Sprinklr | |
| Microsoft Dynamics 365 | Dynamics 365 Contact Center 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 for Citrix VDI |
| Pexip | Deploying Connect desktop app in Citrix Pexip Infinity Docs |
Fehlerbehebung
Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebungsanleitung für Apps, die mit dem Citrix Unified Communications SDK optimiert wurden.
Bekannte Probleme & Einschränkungen
Dieser Abschnitt dokumentiert die aktuellen bekannten Probleme und Einschränkungen, sobald sie erkannt werden.