Citrix DaaS™

Ottimizzazione dell’SDK per le comunicazioni unificate

Introduzione

Citrix Virtual Apps and Desktops consente di distribuire applicazioni agli utenti su un’ampia varietà di dispositivi endpoint. Molte di queste applicazioni includono funzionalità di comunicazione in tempo reale (RTC), come le conferenze audio e video. Tuttavia, possono sorgere delle sfide quando si distribuiscono queste applicazioni in un ambiente virtualizzato. I metodi di distribuzione tradizionali instradano i flussi multimediali (audio/video) dal dispositivo client al server VDI nel data center prima di inviarli nuovamente all’endpoint. Questo “hairpinning” introduce traffico e overhead di elaborazione non necessari sul server, specialmente per le chiamate audio e video ad alta intensità di larghezza di banda.

Il Citrix Unified Communications SDK (UCSDK) è una tecnologia che consente ai fornitori di tecnologia di ottimizzare queste applicazioni RTC per l’utilizzo negli ambienti Citrix. Quando un’applicazione è ottimizzata, può fornire un’esperienza utente che eguaglia o addirittura supera quella dell’applicazione in esecuzione su un desktop locale. Nel mondo odierno, la comunicazione in tempo reale senza interruzioni è essenziale per la produttività e la collaborazione. Quando si utilizzano applicazioni all’interno di un ambiente virtuale, è fondamentale che le chiamate audio e video, la condivisione dello schermo e altre funzionalità di comunicazione funzionino in modo fluido come su un desktop locale. Le applicazioni ottimizzate offrono questa esperienza.

Questa documentazione del prodotto descrive in dettaglio tutto ciò che è necessario ai clienti Citrix per apprendere e distribuire applicazioni ottimizzate con UCSDK.

Come funziona

Citrix offre un metodo di distribuzione ottimizzato per le applicazioni di comunicazione in tempo reale all’interno dei VDI. Questo approccio sfrutta l’Unified Communications SDK (UCSDK) per suddividere l’applicazione virtualizzata in due parti:

  • Interfaccia utente (UI): L’interfaccia utente rimane all’interno dell’host virtuale, visualizzata senza interruzioni all’interno del desktop virtuale o della finestra dell’applicazione.
  • Motore multimediale: Le attività di elaborazione multimediale (codifica/decodifica audio e video) vengono scaricate sul dispositivo locale dell’utente. Ciò riduce al minimo il carico del server e ottimizza l’utilizzo della rete.

In genere, Citrix offre UCSDK ai fornitori di tecnologia nel settore delle comunicazioni in tempo reale e collabora con loro per integrare UCSDK in tali applicazioni. Una volta integrato, qualsiasi cliente Citrix che utilizza un’applicazione ottimizzata con UCSDK avrà un’esperienza migliorata. Citrix UCSDK può anche essere utilizzato dai clienti Citrix nei casi in cui si stia sviluppando un’applicazione interna personalizzata. Nella maggior parte dei casi, tuttavia, i clienti non hanno bisogno di utilizzare e sviluppare con UCSDK; devono solo configurare l’ambiente Citrix e l’applicazione per ottenere un’esperienza ottimizzata.

Nota:

I riferimenti a Citrix WebRTC SDK (o) a un’applicazione ottimizzata HDX™ indicano l’integrazione con Citrix UCSDK e possono essere utilizzati in modo intercambiabile.

Novità

UCSDK 4.1.0 è l’ultima versione generalmente disponibile che i fornitori di tecnologia possono integrare. Inoltre, sono supportate altre due versioni: UCSDK 4.0.2 e UCSDK 3.1.0. Nuove funzionalità vengono introdotte con le versioni di UCSDK e i fornitori di tecnologia devono assicurarsi di aggiornare l’SDK affinché i clienti possano ricevere le funzionalità. In questo modo, i clienti Citrix possono concentrarsi solo sull’aggiornamento dei componenti Citrix necessari per ottenere le nuove funzionalità.

Con il rilascio di UCSDK 4.1.0, stiamo introducendo miglioramenti critici all’esperienza utente e funzionalità completamente nuove che consentiranno una più profonda integrazione con i prodotti dei partner e un maggiore valore per i nostri clienti.

Nuove funzionalità

  • Registrazione dello schermo dell’endpoint UCSDK (Anteprima tecnica): Affrontando una lacuna chiave nella registrazione di conformità, le nuove API UCSDK possono ora acquisire contenuti sull’endpoint, anche quando le applicazioni sono in esecuzione all’interno di VDI. Questa funzionalità, attualmente in anteprima per gli endpoint Windows, consente ai fornitori di tecnologia di migliorare le proprie applicazioni per supportare la registrazione dello schermo dell’endpoint su Citrix. Si noti che questa funzionalità è focalizzata sul miglioramento delle applicazioni dei fornitori ed è diversa dalla registrazione delle sessioni Citrix.
  • Gestione della riconnessione della sessione: Un miglioramento critico a Bootstrap migliora significativamente l’esperienza delle applicazioni browser, avvicinandola a quella delle applicazioni desktop basate su Electron. Le applicazioni basate su browser che utilizzano Bootstrap possono ora gestire dinamicamente le disconnessioni delle sessioni Citrix, fornendo un’esperienza utente senza interruzioni per gli utenti finali.
  • Supporto per nuovi metodi: Aggiunto il supporto per il riavvio della raccolta ICE e il supporto per iceCandidatePoolSize in RTCConfiguration.
  • Migliore gestione degli errori e miglioramenti della conformità: Migliorata la conformità alla specifica WebRTC per getUserMedia. Migliorato getStats() per CitrixPeerConnection, RtpSender e RtpReceiver per restituire un report vuoto invece di void in condizioni di errore.

Le versioni completamente compatibili per UCSDK 4.1.0 includono:

  • Citrix Virtual Apps and Desktops™ 2503
  • Citrix Workspace™ App per Windows 2503
  • Citrix Workspace App per Mac 2503
  • Citrix Workspace App per Linux 2503
  • L’ultima versione di ChromeOS/HTML5.

Nota:

I clienti Citrix possono contattare i fornitori di tecnologia per aggiornare l’SDK (o) aggiungere il supporto per funzionalità specifiche nel caso in cui vi siano casi d’uso che possono essere realizzati con le funzionalità appena introdotte.

Vantaggi chiave

Quando si utilizzano applicazioni ottimizzate con Citrix UCSDK, ci si può aspettare:

  • Prestazioni di elaborazione multimediale migliorate scaricando la codifica/decodifica multimediale ad alta intensità di processore dal Citrix Virtual Delivery Agent (VDA) all’endpoint client, aumentando la reattività complessiva per gli utenti finali.
  • Ridotto utilizzo di CPU e larghezza di banda sul VDA Citrix, consentendo all’IT di supportare più utenti simultanei per host e alle aziende di scalare le distribuzioni di desktop virtuali Citrix in modo economicamente vantaggioso.
  • Costo totale di proprietà inferiore per le aziende, poiché gli endpoint ottimizzati estendono la durata dei desktop virtuali legacy e riducono le esigenze di infrastruttura host, riducendo così le spese in conto capitale e i costi operativi nel tempo.
  • Supporto per piattaforme endpoint Windows, Mac, Linux, ChromeOS e HTML5.

Casi d’uso

UCSDK è stato progettato appositamente per ottimizzare le applicazioni di comunicazione in tempo reale che aderiscono allo standard WebRTC. Ecco gli scenari chiave e i tipi di applicazioni basate su WebRTC che possono/già utilizzano UCSDK.

  • Contact Center as a Service (CCaaS) / Piattaforme di Contact Center Cloud: Gestiscono principalmente le interazioni con i clienti su più canali, ottimizzando i flussi di lavoro degli agenti.
    • Esempi: Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
  • Unified Communications as a Service (UCaaS) / Comunicazioni aziendali cloud: Integrano voce, video, messaggistica di gruppo e presenza per una comunicazione aziendale completa.
    • Esempi: Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
  • Communications Platform as a Service (CPaaS): Forniscono API per l’incorporamento di funzionalità di comunicazione in tempo reale direttamente in applicazioni personalizzate.
    • Esempi: Twilio, Ribbon Communications
  • Videoconferenze e collaborazione aziendale: Piattaforme dedicate per riunioni video di alta qualità, conferenze e funzionalità di collaborazione avanzate.
    • Esempio: Pexip
  • Comunicazioni per il trading finanziario: Progettate per le esigenze di comunicazione uniche, ad alte prestazioni e conformi dei mercati finanziari.
    • Esempio: IPC Unigy
  • Piattaforme di apprendimento e formazione virtuale: Progettate per esperienze interattive e di alta qualità in aula virtuale e di formazione.
    • Esempio: Vitero

La base WebRTC sottostante del Citrix UCSDK significa che le sue capacità di ottimizzazione possono estendersi a qualsiasi applicazione di comunicazione basata su WebRTC. Ciò apre la porta all’ottimizzazione di un’ampia gamma di applicazioni che utilizzano WebRTC per interazioni in tempo reale, anche se non sono attualmente elencate come ottimizzate con UCSDK. Incoraggiamo i clienti a contattare Citrix per qualsiasi caso d’uso o applicazione che desiderano vedere ottimizzata.

Architettura UCSDK

Architettura UCSDK

  • Applicazione del fornitore: Può essere qualsiasi applicazione di comunicazione in tempo reale di terze parti, basata su desktop o browser, che ha integrato UCSDK.
  • UCSDK JS: UCSDK JS fornisce le API che le applicazioni dei fornitori utilizzano per scaricare l’audio/video sull’endpoint.
  • HdxRtcEngine: Questo è il motore multimediale WebRTC integrato in Citrix Workspace App che elabora e gestisce la chiamata audio/video scaricata.

Una volta caricato e utilizzato l’SDK, il processo HdxRtcEngine.exe viene avviato sull’endpoint client se il reindirizzamento ha successo. Una volta avviato HdxRtcEngine.exe sull’endpoint client, tutti i dati di segnalazione e payload fluiscono dal VDA Citrix all’endpoint client, raggiungono il cloud, tornano all’endpoint client e vengono quindi inoltrati al VDA. Ad esempio, un flusso completo di andata e ritorno potrebbe essere:

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

Requisiti di sistema

I requisiti di sistema indicano le varie versioni dei componenti Citrix necessarie con l’ultima versione di UCSDK - 4.1.0. Per i dettagli sulla compatibilità per le versioni precedenti dell’SDK e i requisiti di funzionalità specifici, consultare la tabella Versioni e matrice delle funzionalità di seguito.

Nota:

Affinché i clienti possano utilizzare qualsiasi funzionalità aggiunta a UCSDK, assicurarsi che l’applicazione del fornitore abbia integrato la versione UCSDK appropriata e abilitato la funzionalità, e utilizzare le versioni VDA e CWA appropriate nel proprio ambiente.

Versioni completamente compatibili

Le versioni completamente compatibili indicano che utilizzando queste versioni dei componenti Citrix insieme all’ultima versione di UCSDK, i clienti possono sfruttare tutte le funzionalità disponibili. Per l’attuale ultima versione di UCSDK – 4.1.0, le versioni completamente compatibili dei componenti Citrix sono le seguenti:

  • Citrix Virtual Apps™ and Desktops: 2503
  • Citrix Workspace App per Windows: 2503
  • Citrix Workspace App per Mac: 2503
  • Citrix Workspace App per Linux: 2503
  • Citrix Workspace App ChromeOS/HTML5: Ultima versione

Configurazione

La funzionalità delle caratteristiche di UCSDK dipende da tre fattori: la versione di UCSDK che il fornitore ha integrato e le funzionalità che il fornitore ha abilitato, Citrix Virtual Apps and Desktops e la versione di Citrix Workspace app in uso.

Lato Citrix, assicurarsi che sia configurato quanto segue affinché l’applicazione ottimizzata possa essere ottimizzata:

  1. Assicurarsi che la policy di reindirizzamento di Microsoft Teams sia attivata. Per maggiori informazioni, fare riferimento a Impostazioni dei criteri multimediali. Si noti che questa policy è ATTIVA per impostazione predefinita.
  2. Le applicazioni di terze parti basate su Electron o browser che utilizzano l’SDK CitrixWebrtc.js non sono supportate per impostazione predefinita. Il CtxHdxWebSocketService (WebSocketService.exe) non consentirà connessioni da applicazioni non presenti nella lista consentita. Il nome dell’eseguibile binario dell’applicazione desiderata deve essere aggiunto a una chiave di registro della whitelist.

Sul VDA

  • Creare un percorso chiave: HKLM\Software\WOW6432Node\Citrix\WebSocketService
  • Nome chiave: ProcessWhitelist
  • Tipo: MULTISZ
  • Valore chiave: Mytestapp.exe

Se si dispone di più applicazioni, digitare ciascuna applicazione su una nuova riga. Non copiare e incollare da un file di testo o inserire virgole. Assicurarsi che il nome fornito corrisponda al nome dell’eseguibile dell’applicazione. Questo valore di registro non fa distinzione tra maiuscole e minuscole.

Se l’applicazione viene acceduta tramite un browser anziché un’applicazione desktop completa, è necessario consentire, ad esempio, chrome.exe nel valore di registro.

Una volta configurato correttamente il registro di cui sopra, riavviare il VDA o riavviare CtxHdxWebSocketService per completare la configurazione della Whitelist.

Sul client

Non è necessaria alcuna configurazione. Basta installare l’app Citrix Workspace.

Ogni fornitore potrebbe avere un nome di applicazione molto specifico. Pertanto, fare riferimento alla documentazione del fornitore collegata nella sezione Supporto attuale dei fornitori per determinare quale nome di applicazione deve essere consentito in WebSocketService.

Versioni e matrice delle funzionalità

Poiché gli aggiornamenti delle versioni avvengono frequentemente, fare riferimento alle pagine del ciclo di vita del prodotto Citrix Virtual Apps and Desktops e Citrix Workspace app per assicurarsi che una particolare versione sia supportata. Per molte delle funzionalità più vecchie, le versioni menzionate nella tabella sono le ultime versioni supportate di Current Release (CR) al momento della stesura di questo documento.

Funzionalità Versione UCSDK VDA CWA Windows CWA Mac CWA Linux CWA ChromeOS/HTML5
Audio / Video (p2p e conferenza) 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Condivisione dello schermo 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
Supporto server proxy 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Condivisione app 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 N/A
e911 dinamico 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Multi-finestra 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Supporto piano unificato SDP 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Risoluzione stream / Simulcast 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Audio remoto (con loop) 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2405
UCSDK basato su browser (supporto 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
Riavvio ICE 4.1.0 2203 LTSR Latest CU / 2311 CR 2503.2 2503 2503 2502.10
Registrazione schermo (Anteprima)¹ 4.1.0 2503 2503.2 N/A N/A N/A

Nota:

Abbiamo introdotto una nuova policy per la registrazione dello schermo, quindi è necessaria la versione 2503 del delivery controller™, che viene fornita con CVAD 2503.

Supporto attuale dei fornitori

Diversi fornitori di terze parti hanno integrato l’Unified Communications SDK nei loro prodotti. L’elenco attuale dei fornitori e la relativa documentazione di supporto sono elencati di seguito:

Fornitore Documentazione
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

Risoluzione dei problemi

Per informazioni sulla risoluzione dei problemi, consultare Guida alla risoluzione dei problemi per le app ottimizzate con Citrix Unified Communications SDK.

Problemi noti e limitazioni

Questa sezione documenterà i problemi noti e le limitazioni attuali man mano che vengono riconosciuti.

Ottimizzazione dell’SDK per le comunicazioni unificate