Optimización del SDK de comunicación unificada
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 conferencia de audio y vídeo. Sin embargo, pueden surgir problemas al entregar estas aplicaciones en un entorno virtualizado. Los métodos de entrega tradicionales redirigen las transmisiones multimedia (audio/vídeo) desde el dispositivo cliente al servidor VDI en el centro de datos antes de enviarlas de regreso al dispositivo de punto final. Esta redirección, o “hairpinning”, introduce tráfico innecesario y una sobrecarga de procesamiento en el servidor, especialmente en llamadas de audio y vídeo que consumen mucho ancho de banda.
El SDK de comunicación unificada de Citrix (UCSDK) es una tecnología que permite a los proveedores de tecnología optimizar estas aplicaciones RTC para 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 fluida en tiempo real es esencial para optimizar la productividad y la colaboración. Al usar aplicaciones en un entorno virtual, es fundamental 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 de producto detalla todo lo que necesitan los clientes de Citrix para aprender e implementar aplicaciones optimizadas para UCSDK.
Funcionamiento
Citrix ofrece un método de entrega optimizado para aplicaciones de comunicación en tiempo real dentro de VDI. Este enfoque aprovecha el SDK de comunicación unificada (UCSDK) para dividir la aplicación virtualizada en dos partes:
- Interfaz de usuario (IU): La interfaz de usuario permanece dentro del host virtual y se muestra sin problemas dentro de la ventana de la aplicación o del escritorio virtual.
- Motor multimedia: Las tareas de procesamiento multimedia (codificación/descodificación de audio y vídeo) se transfieren al dispositivo local del usuario. Esto minimiza la carga del servidor y optimiza el uso de la red.
Normalmente, Citrix ofrece UCSDK a proveedores de tecnología en el espacio de comunicaciones en tiempo real y trabaja con ellos para integrar UCSDK en esas aplicaciones. Una vez integrado, cualquier cliente de Citrix que use una aplicación optimizada para UCSDK tendrá una experiencia mejorada. Los clientes de Citrix también pueden usar Citrix UCSDK en los casos en que se esté compilando una aplicación interna personalizada. Sin embargo, en la mayoría de los casos, los clientes no necesitan usar ni desarrollar con UCSDK; solo necesitan configurar el entorno Citrix y la aplicación para lograr una experiencia optimizada.
Nota:
Las referencias al SDK WebRTC de Citrix (o) a una aplicación optimizada para HDX™ indican integración con Citrix UCSDK y se pueden usar indistintamente.
Novedades
UCSDK 4.1.0 es la última versión disponible con carácter general que los proveedores de tecnología pueden integrar. Además, hay dos versiones más compatibles: UCSDK 4.0.2 y UCSDK 3.1.0. Con cada versión de UCSDK se introducen nuevas funciones, por lo que los proveedores de tecnología deben asegurarse de actualizar la versión del SDK para que los clientes puedan beneficiarse de dichas mejoras. De esta manera, los clientes de Citrix pueden centrarse únicamente en actualizar los componentes de Citrix necesarios para obtener las nuevas funciones.
Con la presentación de UCSDK 4.1.0, presentamos mejoras críticas en la experiencia del usuario y funciones completamente nuevas que permitirán una integración más a fondo con los productos de los socios y más valor para nuestros clientes.
Funciones nuevas
- Grabación de pantalla del dispositivo de punto final de UCSDK (Tech Preview): Para abordar una limitación clave en la grabación con fines de conformidad, las nuevas API de UCSDK permiten capturar contenido directamente en el dispositivo de punto final, incluso cuando las aplicaciones se ejecutan dentro de un entorno VDI. Esta función, actualmente en versión Tech Preview para dispositivos de punto final con Windows, permite a los proveedores de tecnología mejorar sus aplicaciones para admitir la grabación de pantalla en dispositivos de punto final en entornos Citrix. Tenga en cuenta que esta función se centra en mejorar las aplicaciones del proveedor y es diferente de la Grabación de sesiones de Citrix.
- Gestión de la reconexión de sesión: Una mejora crítica en Bootstrap eleva significativamente la experiencia con aplicaciones en explorador, acercándola a la de las aplicaciones de escritorio basadas en Electron. Las aplicaciones basadas en explorador que usan Bootstrap ahora pueden gestionar dinámicamente la desconexión de sesiones de Citrix, lo que proporciona a los usuarios finales una experiencia perfecta.
-
Compatibilidad con nuevos métodos: Se ha agregado compatibilidad para reiniciar el proceso ICE gathering y con el parámetro
iceCandidatePoolSizeenRTCConfiguration. -
Mejoras en la gestión de errores y conformidad: Se ha mejorado la conformidad con la especificación WebRTC para
getUserMedia. Se ha mejorado el comportamiento del métodogetStats()conCitrixPeerConnection,RtpSenderyRtpReceiverpara que devuelvan un informe vacío en lugar del valor “void” en condiciones de error.
Las versiones totalmente compatibles con UCSDK 4.1.0 incluyen:
- Citrix Virtual Apps and Desktops™ 2503
- Aplicación Citrix Workspace™ para Windows 2503
- Aplicación Citrix Workspace para Mac 2503
- Aplicación Citrix Workspace para Linux 2503
- La versión más reciente de ChromeOS/HTML5.
Nota:
Los clientes de Citrix pueden contactar a los proveedores de tecnología para solicitar la actualización del SDK (o) la incorporación de compatibilidad con funciones específicas, en caso de que existan casos de uso que puedan beneficiarse de las funciones recientemente introducidas.
Beneficios clave
Cuando use aplicaciones optimizadas con Citrix UCSDK, puede esperar:
- Mejora del rendimiento en el procesamiento multimedia al transferir las tareas de codificación y descodificación, que hacen un uso intensivo de recursos del procesador, desde Citrix Virtual Delivery Agent (VDA) al dispositivo de punto final del cliente. De esta forma, aumenta la capacidad de respuesta general para los usuarios finales.
- Reducción del uso de CPU y de ancho de banda en Citrix VDA, lo que permite a los equipos de TI admitir un mayor número de usuarios simultáneos por host y, a las empresas, escalar las implementaciones de escritorios virtuales Citrix de manera rentable.
- Menor coste total de propiedad para las empresas, ya que el uso de dispositivos de punto final optimizados extiende la vida útil de los escritorios virtuales antiguos y reduce los requisitos de infraestructura en el host, lo que se traduce en una reducción de los gastos de capital y de los costes operativos a lo largo del tiempo.
- Compatibilidad con plataformas de dispositivos 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 cumplen con el estándar WebRTC. A continuación, se presentan escenarios clave y tipos de aplicaciones basadas en WebRTC que ya usan o pueden usar UCSDK.
-
Contact Center as a Service (CCaaS) / Plataformas de centro de contacto en la nube: Administran principalmente las interacciones de los clientes en distintos canales, optimizando los flujos de trabajo de los agentes.
- Ejemplos: Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
-
Unified Communications as a Service (UCaaS) / Comunicaciones empresariales en la nube: Integran funcionalidades clave como voz, vídeo, mensajería de equipo y presencia, ofreciendo una plataforma unificada para la comunicación empresarial.
- Ejemplos: Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
-
Communications Platform as a Service (CPaaS): Proporcionan API para integrar funciones de comunicación en tiempo real directamente en aplicaciones personalizadas.
- Ejemplos: Twilio, Ribbon Communications
-
Videoconferencia y colaboración empresarial: Plataformas dedicadas que ofrecen reuniones virtuales de alta calidad, videoconferencia funciones avanzadas de colaboración.
- Ejemplo: Pexip
-
Comunicaciones para operaciones financieras: Diseñadas específicamente para satisfacer las necesidades únicas, en términos de rendimiento y conformidad normativa, de los mercados financieros.
- Ejemplo: IPC Unigy
-
Plataformas de formación y aprendizaje virtual: Diseñadas para ofrecer experiencias de formación y aulas virtuales interactivas de alta calidad.
- Ejemplo: Vitero
La base tecnológica de Citrix UCSDK, construida sobre WebRTC, permite que sus capacidades de optimización se extiendan a cualquier aplicación de comunicación basada en WebRTC. Esto abre la puerta para optimizar una amplia gama de aplicaciones que usan WebRTC para interacciones en tiempo real, incluso si actualmente no están listadas como optimizadas con UCSDK. Animamos a los clientes a que se contacten con Citrix con cualquier caso de uso o aplicación que quieran ver optimizados.
Arquitectura UCSDK

-
Aplicación de proveedor: Puede ser cualquier aplicación de comunicación en tiempo real de terceros, de escritorio o explorador, que tenga UCSDK integrado.
-
UCSDK JS: UCSDK JS proporciona las API que las aplicaciones de proveedor utilizan para descargar el audio/vídeo en el dispositivo de punto final.
-
HdxRtcEngine: Es el motor multimedia WebRTC integrado en la aplicación Citrix Workspace que procesa y gestiona la llamada de audio/vídeo descargada.
Una vez que se carga y usa el SDK, se inicia el proceso HdxRtcEngine.exe en el dispositivo de punto final del cliente si la redirección funciona correctamente. Una vez que se inicia HdxRtcEngine.exe en el dispositivo de punto final del cliente, todos los datos de señalización y carga útil fluyen desde Citrix VDA al dispositivo de punto final del cliente, se dirigen a la nube, vuelven al dispositivo de punto final del cliente y, a continuación, se reenvían al VDA. Por ejemplo, un recorrido de ida y vuelta completo del flujo podría ser:
Aplicación del proveedor -> SDK de CitrxWebrtc.js -> Componentes de Citrix VDA -> Componentes del dispositivo de punto final del cliente Citrix -> Nube -> Componentes del dispositivo de punto final del cliente Citrix -> Componentes de Citrix VDA -> SDK de CitrxWebrtc.js -> Aplicación del proveedor
Requisitos del sistema
Los requisitos del sistema indican las distintas versiones de los componentes Citrix necesarias con la última versión de UCSDK: 4.1.0. Para conocer los detalles de compatibilidad con versiones anteriores del SDK y los requisitos de funciones específicas, consulte la Tabla de versiones y funciones a continuación.
Nota:
Para que los clientes puedan usar cualquier función que se agregue a UCSDK, asegúrese de que la aplicación del proveedor haya integrado la versión adecuada de UCSDK y haya habilitado la funcionalidad y use las versiones correctas de VDA y CWA en su entorno.
Versiones totalmente compatibles
Las versiones totalmente compatibles indican que, al usar estas versiones de componentes Citrix junto con la última versión de UCSDK, los clientes pueden aprovechar todas las funciones disponibles. Para la versión actual más reciente de UCSDK (4.1.0), las versiones totalmente compatibles de los componentes Citrix son las siguientes:
- Citrix Virtual Apps and Desktops: 2503
- Aplicación Citrix Workspace para Windows: 2503
- Aplicación Citrix Workspace para Mac: 2503
- Aplicación Citrix Workspace para Linux: 2503
- Aplicación Citrix Workspace para ChromeOS/HTML5: Versión más reciente
Configuración
La funcionalidad de las funciones UCSDK depende de tres factores: la versión de UCSDK que el proveedor ha integrado y las funciones que el proveedor ha habilitado, la versión de 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 se pueda optimizar la aplicación:
- Asegúrese de que la directiva de redirección de Microsoft Teams esté activada. Consulte Configuraciones de directiva de Multimedia para obtener más información. Tenga en cuenta que esta directiva está activada de forma predeterminada.
- Las aplicaciones de terceros basadas en explorador o Electron que usan el SDK
CitrixWebrtc.jsno son compatibles de forma predeterminada.CtxHdxWebSocketService(WebSocketService.exe) no permitirá conexiones desde 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 la lista de permitidos.
En el VDA
- Cree una ruta de clave:
HKLM\Software\WOW6432Node\Citrix\WebSocketService - Nombre de la clave:
ProcessWhitelist - Tipo:
MULTISZ - Valor de la clave:
Mytestapp.exe
Si tiene varias aplicaciones, escriba cada aplicación en una nueva línea. No copie y pegue desde un archivo de texto ni inserte comas. Compruebe que el nombre proporcionado coincide con el nombre del ejecutable de la aplicación. Este valor de Registro no distingue entre mayúsculas y minúsculas.
Si se accede a la aplicación a través de un explorador en lugar de una aplicación de escritorio completa, entonces debe permitir, por ejemplo, chrome.exe en el valor de registro.
Una vez que el registro anterior esté configurado correctamente, reinicie el VDA o reinicie CtxHdxWebSocketService para finalizar la configuración de la lista de permitidos.
En el cliente
No es necesaria 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 enlazada en la sección Asistencia actual del proveedor para determinar qué nombre de aplicación se debe permitir en WebSocketService.
Tabla de versiones y funciones
Dado que las actualizaciones de versiones tienen lugar con frecuencia, consulte las páginas de ciclo de vida del producto Citrix Virtual Apps and Desktops y aplicación Citrix Workspace para asegurarse de que una versión en particular sea compatible. Para muchas de las funciones más antiguas, las versiones mencionadas en la tabla son las versiones más recientes de la versión actual (CR) compatibles en el momento de redactar este documento.
| Función | 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 CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Uso compartido de pantalla | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| DTMF | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Compatibilidad con servidores proxy | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Uso compartido de aplicaciones | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | N/D |
| e911 dinámico | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Multiventana | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Compatibilidad con el plan unificado SDP | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Resolución de transmisión / Transmisión simultánea | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| Audio remoto (con bucle) | 3.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2405 |
| UCSDK basado en explorador (compatibilidad con Bootstrap) | 4.0.2 | 2407 CR | 2402 LTSR CU más reciente / 2311 CR | 2311 | 2311 | 2312 |
| API de Web HID | 4.0.2 | 2203 LTSR CU más reciente / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| API de audio web | 4.0.2 | 2203 LTSR CU más reciente / 2311 CR | 2405 | 2405 | 2405 | N/D |
| Reiniciar ICE | 4.1.0 | 2203 LTSR CU más reciente / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| Grabación de pantalla (Tech Preview)¹ | 4.1.0 | 2503 | 2503.2 | N/D | N/D | N/D |
Nota:
Hemos introducido una nueva directiva para grabación de pantalla, por lo que necesita la versión 2503 del Delivery Controller™, que viene con CVAD 2503.
Asistencia actual del proveedor
Varios proveedores externos han integrado el SDK de comunicación unificada en sus productos. La lista actual de proveedores y su documentación de asistencia se detalla a continuación:
| Proveedor | Documentación |
|---|---|
| Amazon Connect | Optimización de audio de Amazon Connect para escritorios en la nube de Citrix |
| 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 | Optimización Citrix para la aplicación Rainbow Desktop |
| Talkdesk | Talkdesk Agent Workspace VDI Connect |
| IPC | IPC Unigy Soft Client Citrix VDI |
| Vitero | Vitero Inspire para Citrix VDI |
| Pexip | Deploying Connect desktop app in Citrix Pexip Infinity Docs |
Solución de problemas
Para obtener información sobre solución de problemas, consulte Guía de solución de problemas para aplicaciones optimizadas con Citrix Unified Communications SDK.
Problemas conocidos y limitaciones
En esta sección, se documentan las limitaciones y los problemas conocidos a medida que se conozcan.