Optimización del SDK de Comunicaciones Unificadas
Introducción
Citrix Virtual Apps and Desktops le permite entregar aplicaciones a sus usuarios en una amplia variedad de dispositivos de punto final. Muchas de estas aplicaciones incluyen funciones de comunicación en tiempo real (RTC), como conferencias de audio y vídeo. Sin embargo, pueden surgir desafíos al entregar estas aplicaciones en un entorno virtualizado. Los métodos de entrega tradicionales enrutan las transmisiones de medios (audio/vídeo) desde el dispositivo cliente al servidor VDI en el centro de datos antes de enviarlas de vuelta al punto final. Este “hairpinning” introduce tráfico innecesario y sobrecarga de procesamiento en el servidor, especialmente para llamadas de audio y vídeo que consumen mucho ancho de banda.
El SDK de Comunicaciones Unificadas (UCSDK) de Citrix es una tecnología que permite a los proveedores de tecnología optimizar estas aplicaciones RTC para su uso en entornos Citrix. Cuando una aplicación está optimizada, puede proporcionar una experiencia de usuario que iguala o incluso supera la de la aplicación que se ejecuta en un escritorio local. En el mundo actual, la comunicación en tiempo real sin interrupciones es esencial para la productividad y la colaboración. Al utilizar aplicaciones en un entorno virtual, es crucial que las llamadas de audio y vídeo, el uso compartido de pantalla y otras funciones de comunicación funcionen tan fluidamente como lo harían en un escritorio local. Las aplicaciones optimizadas ofrecen esta experiencia.
Esta documentación del producto detalla todo lo necesario para que los clientes de Citrix aprendan e implementen aplicaciones optimizadas con UCSDK.
Cómo funciona
Citrix ofrece un método de entrega optimizado para aplicaciones de comunicación en tiempo real dentro de los VDI. Este enfoque aprovecha el SDK de Comunicaciones Unificadas (UCSDK) para dividir la aplicación virtualizada en dos partes:
- Interfaz de usuario (UI): La interfaz de usuario permanece dentro del host virtual, mostrándose sin problemas dentro del escritorio virtual o la ventana de la aplicación.
- Motor de medios: Las tareas de procesamiento de medios (codificación/decodificación de audio y vídeo) se descargan en el dispositivo local del usuario. Esto minimiza la carga del servidor y optimiza el uso de la red.
Normalmente, Citrix ofrece UCSDK a los proveedores de tecnología en el espacio de las comunicaciones en tiempo real y trabaja con ellos para integrar UCSDK en esas aplicaciones. Una vez integrado, cualquier cliente de Citrix que utilice una aplicación optimizada con UCSDK tendrá una experiencia mejorada. Citrix UCSDK también puede ser utilizado por clientes de Citrix en los casos en que se esté desarrollando una aplicación interna personalizada. Sin embargo, en la mayoría de los casos, los clientes no necesitan consumir y desarrollar con UCSDK; solo necesitan configurar el entorno Citrix y la aplicación para lograr una experiencia optimizada.
Nota:
Las referencias a Citrix WebRTC SDK (o) una aplicación optimizada con HDX™ indican integración con Citrix UCSDK y pueden usarse indistintamente.
Ventajas clave
Cuando utiliza aplicaciones optimizadas con Citrix UCSDK, puede esperar:
- Rendimiento mejorado del procesamiento de medios al descargar la codificación/decodificación de medios que consume mucho procesador del Citrix Virtual Delivery Agent (VDA) al punto final del cliente, lo que aumenta la capacidad de respuesta general para los usuarios finales.
- Reducción del uso de CPU y ancho de banda en Citrix VDA, lo que permite a TI admitir más usuarios simultáneos por host y a las empresas escalar las implementaciones de escritorios virtuales de Citrix de forma rentable.
- Menor coste total de propiedad para las empresas, ya que los puntos finales optimizados extienden la vida útil de los escritorios virtuales heredados y reducen las necesidades de infraestructura del host, lo que a su vez reduce los gastos de capital y los costes operativos con el tiempo.
- Compatibilidad con plataformas de punto final Windows, Mac, Linux, ChromeOS y HTML5.
Casos de uso
UCSDK está diseñado específicamente para optimizar las aplicaciones de comunicación en tiempo real que se adhieren al estándar WebRTC. A continuación, se presentan escenarios clave y los tipos de aplicaciones basadas en WebRTC que pueden/ya utilizan UCSDK.
-
Contact Center como servicio (CCaaS) / Plataformas de Contact Center en la nube: Gestionan principalmente las interacciones con los clientes a través de múltiples canales, optimizando los flujos de trabajo de los agentes.
- Ejemplos: Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
-
Comunicaciones unificadas como servicio (UCaaS) / Comunicaciones empresariales en la nube: Integran voz, vídeo, mensajería de equipo y presencia para una comunicación empresarial completa.
- Ejemplos: Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
-
Plataforma de comunicaciones como servicio (CPaaS): Proporcionan API para integrar capacidades de comunicación en tiempo real directamente en aplicaciones personalizadas.
- Ejemplos: Twilio, Ribbon Communications
-
Videoconferencia y colaboración empresarial: Plataformas dedicadas para reuniones de vídeo de alta calidad, conferencias y funciones avanzadas de colaboración.
- Ejemplo: Pexip
-
Comunicaciones para trading financiero: Diseñadas para las necesidades de comunicación únicas, de alto rendimiento y conformes de los mercados financieros.
- Ejemplo: IPC Unigy
-
Plataformas de aprendizaje y formación virtual: Diseñadas para experiencias interactivas y de alta calidad en aulas y formaciones virtuales.
- Ejemplo: Vitero
La base WebRTC subyacente del UCSDK de Citrix significa que sus capacidades de optimización pueden extenderse a cualquier aplicación de comunicación basada en WebRTC. Esto abre la puerta a la optimización de una amplia gama de aplicaciones que utilizan WebRTC para interacciones en tiempo real, incluso si actualmente no están listadas como optimizadas con UCSDK. Animamos a los clientes a ponerse en contacto con Citrix para cualquier caso de uso o aplicación que deseen ver optimizada.
Arquitectura de UCSDK

-
Aplicación del proveedor: Puede ser cualquier aplicación de comunicación en tiempo real de terceros, basada en escritorio o en navegador, que haya integrado UCSDK.
-
UCSDK JS: UCSDK JS proporciona las API que las aplicaciones del proveedor utilizan para descargar el audio/vídeo al punto final.
-
HdxRtcEngine: Este es el motor de medios WebRTC incrustado en la aplicación Citrix Workspace que procesa y gestiona la llamada de audio/vídeo descargada.
Una vez que el SDK se carga y se utiliza, el proceso HdxRtcEngine.exe se inicia en el punto final del cliente si la redirección tiene éxito. Una vez que HdxRtcEngine.exe se inicia en el punto final del cliente, cualquier señalización y datos de carga útil fluyen desde Citrix VDA al punto final del cliente, llegan a la nube, regresan al punto final del cliente y luego se reenvían a VDA. Por ejemplo, un viaje de ida y vuelta completo del flujo podría ser:
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
Requisitos del sistema
Los requisitos del sistema indican las diversas versiones de los componentes de Citrix necesarios con la última versión de UCSDK - 5.0.0. Para obtener detalles de compatibilidad de versiones anteriores del SDK y requisitos de funciones específicas, consulte la tabla Matriz de versiones y funciones a continuación.
Nota:
Para que los clientes puedan utilizar cualquier función que se añada a UCSDK, asegúrese de que la aplicación del proveedor ha integrado la versión de UCSDK adecuada y ha habilitado la función, y utilice las versiones de VDA y CWA adecuadas en su entorno.
Versiones totalmente compatibles
Las versiones totalmente compatibles indican que, al usar estas versiones de componentes de Citrix junto con la última versión de UCSDK, los clientes pueden aprovechar todas las funciones disponibles. Para la versión más reciente actual de UCSDK (5.0.0), las versiones de componentes de Citrix totalmente compatibles son las siguientes:
- Citrix Virtual Apps™ y Desktops: 2603
- Citrix Workspace App Windows: 2603
- Citrix Workspace App Mac: Por publicar
- Citrix Workspace App Linux: 2603
- Citrix Workspace App ChromeOS/HTML5: Por publicar
Nota:
La optimización de UCSDK es compatible con todas las plataformas de punto final: Windows, Mac, Linux, ChromeOS y HTML5. Si la lista anterior muestra Por publicar para una plataforma de punto final específica, simplemente significa que aún no se ha lanzado una versión totalmente compatible con las últimas funciones de UCSDK. Por lo tanto, los clientes aún pueden usar versiones anteriores de la aplicación Citrix Workspace para seguir utilizando las funciones existentes, incluso con el UCSDK más reciente.
Configuración
La funcionalidad de las características de UCSDK depende de tres factores: la versión de UCSDK que el proveedor ha integrado y las características que el proveedor ha habilitado, Citrix Virtual Apps and Desktops y la versión de la aplicación Citrix Workspace en uso.
En el lado de Citrix, asegúrese de que lo siguiente esté configurado para que la aplicación optimizada pueda optimizarse:
- Asegúrese de que la directiva de redirección de Microsoft Teams esté activada. Consulte (/es-es/citrix-virtual-apps-desktops/2511/policies/reference/ica-policy-settings/multimedia-policy-settings#microsoft-teams-redirection) para obtener más información. Tenga en cuenta que esta directiva está ACTIVADA de forma predeterminada.
- Las aplicaciones de terceros basadas en Electron o en navegador que utilizan el SDK
CitrixWebrtc.jsno son compatibles de forma predeterminada. ElCtxHdxWebSocketService(WebSocketService.exe) no permitirá conexiones de aplicaciones que no estén en la lista de permitidos. El nombre del ejecutable binario de la aplicación deseada debe agregarse a una clave de registro de lista blanca.
En el VDA
- Crear una ruta de clave:
HKLM\Software\WOW6432Node\Citrix\WebSocketService - Nombre de clave:
ProcessWhitelist - Tipo:
MULTISZ - Valor de clave:
Mytestapp.exe
Si tiene varias aplicaciones, escriba cada aplicación en una nueva línea. No copie y pegue de un archivo de texto ni inserte comas. Asegúrese de que el nombre proporcionado coincida con el nombre ejecutable de la aplicación. Este valor del registro no distingue entre mayúsculas y minúsculas.
Si se accede a la aplicación a través de un navegador en lugar de una aplicación de escritorio completa, debe permitir, por ejemplo, chrome.exe en el valor del registro.
Una vez que el registro anterior se haya configurado correctamente, reinicie el VDA o reinicie CtxHdxWebSocketService para finalizar la configuración de la lista blanca.
En el cliente
No se necesita ninguna configuración. Simplemente instale la aplicación Citrix Workspace.
Cada proveedor puede tener un nombre de aplicación muy específico. Por lo tanto, consulte la documentación del proveedor vinculada en la sección Soporte actual del proveedor para determinar qué nombre de aplicación debe permitirse en el WebSocketService.
Referencia de funciones
Tiempos de conexión de llamadas mejorados con Smart Sync
Introducida en UCSDK 5.0.0, la función Smart Sync acelera los tiempos de conexión de llamadas al optimizar la comunicación entre el VDA y el punto final del cliente. Esta mejora ofrece configuraciones de llamadas más rápidas en general, proporcionando las mejoras de rendimiento más significativas para entornos de red de alta latencia.
Citrix recomienda que los clientes se pongan en contacto con sus proveedores de aplicaciones para actualizar a UCSDK 5.0.0 y aprovechar esta función.
Nota:
Esta función depende únicamente de UCSDK 5.0.0 y de la aplicación Citrix Workspace. Consulte la Matriz de versiones y funciones para conocer las versiones exactas del cliente. No hay dependencia de la versión del VDA, por lo que aún se pueden usar VDAs compatibles más antiguos.
Recorte de superposición optimizado para un rendimiento y una experiencia de usuario mejorados
A partir de CVAD 2511, el mecanismo para gestionar las superposiciones de vídeo redirigidas en funciones como la optimización de HDX Microsoft Teams y la optimización de UCSDK, se ha rediseñado para mejorar tanto la experiencia del usuario como el rendimiento del servidor.
Beneficios esenciales
-
Precisión visual mejorada: Esta mejora resuelve los fallos visuales en los que los elementos de la aplicación, como los menús emergentes o las notificaciones, aparecían incorrectamente detrás del contenido de vídeo. La nueva lógica garantiza que todos los componentes se rendericen en el orden correcto, proporcionando una experiencia más fluida y predecible.
-
Rendimiento mejorado: Esta optimización reduce significativamente la utilización de la CPU en el Virtual Delivery Agent. Al reemplazar los métodos de sondeo más antiguos y que consumían muchos recursos por un enfoque más eficiente basado en gráficos, este cambio mejora la escalabilidad del servidor y permite una mayor densidad de usuarios.
Nota:
La funcionalidad depende de una futura versión de Microsoft Teams (u otra aplicación asociada de UCSDK) y requiere Citrix Workspace App para Windows 2511.
Versiones y matriz de características
Dado que las actualizaciones de versión ocurren con frecuencia, consulte las páginas del ciclo de vida del producto Citrix Virtual Apps and Desktops y Citrix Workspace app para asegurarse de que una versión en particular sea compatible. Para muchas de las características más antiguas, las versiones mencionadas en la tabla son las últimas versiones de Current Release (CR) compatibles en el momento de redactar este documento.
| Característica | Versión de UCSDK | VDA | CWA Windows | CWA Mac | CWA Linux | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| Audio / Vídeo (p2p y conferencia) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Uso compartido de pantalla | 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 |
| Soporte para servidor proxy | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Compartir aplicaciones | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | N/A |
| e911 dinámico | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Multiventana | 3.1.0 | 2203 LTSR Última CU / 2311 CR | 2402 LTSR Última CU / 2311 CR | 2311 | 2311 | 2312 |
| Soporte de plan unificado de SDP | 3.1.0 | 2203 LTSR Última CU / 2311 CR | 2402 LTSR Última CU / 2311 CR | 2311 | 2311 | 2312 |
| Resolución de transmisión / Simulcast | 3.1.0 | 2203 LTSR Última CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2312 |
| Audio remoto (con bucle) | 3.1.0 | 2203 LTSR Latest CU / 2311 CR | 2402 LTSR Latest CU / 2311 CR | 2311 | 2311 | 2405 |
| UCSDK basado en navegador (compatibilidad con 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 |
| Reiniciar ICE | 4.1.0 | 2203 LTSR Última CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| Grabación de pantalla (Vista previa)¹ | 4.1.0 | 2503 | 2503.2 | N/A | N/A | N/D |
| SmartSync | 5.0.0 | 2203 LTSR última CU / 2311 CR | 2603 | N/D | 2604 | N/D |
Nota:
Hemos introducido una nueva política para la grabación de pantalla, por lo que necesita la versión 2503 del delivery controller™, que viene con CVAD 2503.
Soporte actual de proveedores
Varios proveedores externos han integrado el SDK de Comunicaciones Unificadas en sus productos. La lista actual de proveedores y su documentación de soporte se detalla a continuación:
Solución de problemas
Para obtener información sobre la solución de problemas, consulte Guía de solución de problemas para aplicaciones optimizadas con Citrix Unified Communications SDK.
Problemas conocidos y limitaciones
Esta sección documentará los problemas conocidos y las limitaciones actuales a medida que se identifiquen.