Ottimizzazione dell’SDK per le Comunicazioni Unificate
Introduzione
Citrix Virtual Apps and Desktops Le consente di distribuire applicazioni ai Suoi utenti su un’ampia varietà di dispositivi endpoint. Molte di queste applicazioni includono funzionalità di comunicazione in tempo reale (RTC), come l’audio e la videoconferenza. 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 banda.
Il Citrix Unified Communications SDK (UCSDK) è una tecnologia che consente ai fornitori di tecnologia di ottimizzare queste applicazioni RTC per l’uso 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 di oggi, 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 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 dividere l’applicazione virtualizzata in due parti:
- Interfaccia Utente (UI): L’interfaccia utente rimane all’interno dell’host virtuale, visualizzata senza problemi 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 integrata, 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 usati 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 release 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 nuove funzionalità.
Con il rilascio di UCSDK 4.1.0, introduciamo 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 del 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 dell’applicazione 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
inRTCConfiguration
. -
Migliore gestione degli errori e miglioramenti della conformità: Migliorata la conformità alle specifiche WebRTC per
getUserMedia
. MiglioratogetStats()
perCitrixPeerConnection
,RtpSender
eRtpReceiver
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 release ChromeOS/HTML5.
Nota:
I clienti Citrix possono contattare i fornitori di tecnologia per aggiornare l’SDK (o) aggiungere il supporto a funzionalità specifiche nel caso in cui ci siano casi d’uso che possono essere raggiunti 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.
- Riduzione dell’utilizzo della CPU e della larghezza di banda sul Citrix VDA, consentendo all’IT di supportare più utenti concorrenti 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 Cloud Contact Center: 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 di aula virtuale e formazione interattive e di alta qualità.
- 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
-
Applicazione del fornitore: Può essere qualsiasi applicazione di comunicazione in tempo reale di terze parti, basata su desktop o su 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 incorporato in Citrix Workspace App che elabora e gestisce la chiamata audio/video scaricata.
Una volta che l’SDK è caricato e utilizzato, il processo HdxRtcEngine.exe
viene avviato sull’endpoint client se il reindirizzamento ha successo. Una volta che HdxRtcEngine.exe
è avviato sull’endpoint client, qualsiasi segnalazione e dati di payload fluiscono dal Citrix VDA all’endpoint client, raggiungono il cloud, rimbalzano sull’endpoint client e vengono quindi inoltrati al VDA. Ad esempio, un ciclo completo di flusso potrebbe essere:
Applicazione del Fornitore -> CitrxWebrtc.js SDK -> Componenti Citrix VDA -> Componenti Citrix Client Endpoint -> Cloud -> Componenti Citrix Client Endpoint -> Componenti Citrix VDA -> CitrxWebrtc.js SDK -> Applicazione del Fornitore
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 di 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 appropriata di UCSDK e abbia abilitato la funzionalità, e utilizzare le versioni appropriate di VDA e CWA 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 Windows: 2503
- Citrix Workspace App Mac: 2503
- Citrix Workspace App Linux: 2503
- Citrix Workspace App ChromeOS/HTML5: Ultima versione
Configurazione
La funzionalità 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.
Dal lato Citrix, assicurarsi che sia configurato quanto segue in modo che l’applicazione ottimizzata sia autorizzata all’ottimizzazione:
- Assicurarsi che la policy di reindirizzamento di Microsoft Teams sia attivata. Per maggiori informazioni, fare riferimento a Impostazioni della policy multimediale. Si noti che questa policy è ATTIVA per impostazione predefinita.
- Le applicazioni Electron o basate su browser di terze parti che utilizzano l’SDK
CitrixWebrtc.js
non sono supportate per impostazione predefinita. IlCtxHdxWebSocketService
(WebSocketService.exe
) non consentirà connessioni da applicazioni che non sono nella lista consentita. Il nome dell’eseguibile binario dell’applicazione desiderata deve essere aggiunto a una chiave di registro di whitelist.
Sul VDA
- Creare un percorso chiave:
HKLM\Software\WOW6432Node\Citrix\WebSocketService
- Nome chiave:
ProcessWhitelist
- Tipo:
MULTISZ
- Valore chiave:
Mytestapp.exe
Se si hanno più applicazioni, digitare ogni 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 è accessibile tramite un browser anziché un’applicazione desktop completa, è necessario consentire, ad esempio, chrome.exe
nel valore del 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 del fornitore 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 Current Release (CR) supportate al momento della stesura di questo documento.
Funzionalità | Versione UCSDK | VDA | CWA Windows | CWA Mac | CWA Linux | CWA ChromeOS/HTML5 |
---|---|---|---|---|---|---|
Audio / Video (p2p & 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 Proxy Server | 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 SDP Unified Plan | 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 | Ottimizzare l’audio di Amazon Connect per i desktop cloud Citrix |
Ring Central | Utilizzo di RingCentral in un ambiente Citrix VDI |
Five9 | Five9 WebRTC in ambienti Citrix |
Twilio | Twilio Flex su Citrix VDI |
Avaya | Soluzione VDI Avaya Experience Platform Public Cloud per Citrix |
8x8 | Integrazione Citrix VDI con 8x8 Work per Desktop e Web |
Content Guru | Integrazione Content Guru Citrix |
Ribbon Communications | Citrix WebRTC SDK di Ribbon Communications |
Intermedia | Installazione di Intermedia Unite su Citrix Virtual Apps and Desktops |
Alcatel-Lucent Rainbow | Ottimizzazione Citrix per l’applicazione desktop Rainbow |
Talkdesk | Talkdesk Agent Workspace VDI Connect |
IPC | Client Soft IPC Unigy Citrix VDI |
Vitero | Vitero Inspire per Citrix VDI |
Pexip | Distribuzione dell’app desktop Connect 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.