Citrix Virtual Apps and Desktops

Otimização do SDK de Comunicações Unificadas

Introdução

O Citrix Virtual Apps and Desktops permite entregar aplicativos aos seus usuários em uma ampla variedade de dispositivos de endpoint. Muitos desses aplicativos incluem recursos de comunicação em tempo real (RTC), como conferência de áudio e vídeo. No entanto, desafios podem surgir ao entregar esses aplicativos em um ambiente virtualizado. Os métodos de entrega tradicionais roteiam fluxos de mídia (áudio/vídeo) do dispositivo cliente para o servidor VDI no data center antes de enviá-los de volta ao endpoint. Esse “hairpinning” introduz tráfego e sobrecarga de processamento desnecessários no servidor, especialmente para chamadas de áudio e vídeo que consomem muita largura de banda.

O Citrix Unified Communications SDK (UCSDK) é uma tecnologia que permite que fornecedores de tecnologia otimizem esses aplicativos RTC para uso em ambientes Citrix. Quando um aplicativo é otimizado, ele pode fornecer uma experiência de usuário que se iguala ou até excede a do aplicativo executado em um desktop local. No mundo atual, a comunicação em tempo real sem interrupções é essencial para a produtividade e a colaboração. Ao usar aplicativos em um ambiente virtual, é crucial que as chamadas de áudio e vídeo, o compartilhamento de tela e outros recursos de comunicação funcionem tão bem quanto em um desktop local. Aplicativos otimizados oferecem essa experiência.

Esta documentação do produto detalha tudo o que é necessário para que os clientes Citrix aprendam e implementem aplicativos otimizados com o UCSDK.

Como funciona

A Citrix oferece um método de entrega otimizado para aplicativos de comunicação em tempo real dentro de VDIs. Essa abordagem aproveita o Unified Communications SDK (UCSDK) para dividir o aplicativo virtualizado em duas partes:

  • Interface do Usuário (UI): A interface do usuário permanece no host virtual, exibida de forma contínua na área de trabalho virtual ou na janela do aplicativo.
  • Mecanismo de Mídia: As tarefas de processamento de mídia (codificação/decodificação de áudio e vídeo) são descarregadas para o dispositivo local do usuário. Isso minimiza a carga do servidor e otimiza o uso da rede.

Normalmente, a Citrix oferece o UCSDK a fornecedores de tecnologia no espaço de comunicações em tempo real e trabalha com eles para integrar o UCSDK a esses aplicativos. Uma vez integrado, qualquer cliente Citrix que use um aplicativo otimizado com UCSDK terá uma experiência aprimorada. O Citrix UCSDK também pode ser consumido por clientes Citrix em casos onde um aplicativo interno personalizado está sendo desenvolvido. Na maioria dos casos, no entanto, os clientes não precisam consumir e desenvolver com o UCSDK – eles apenas precisam configurar o ambiente Citrix e o aplicativo para obter uma experiência otimizada.

Observação:

Referências ao Citrix WebRTC SDK (ou) a um aplicativo otimizado com HDX™ indicam integração com o Citrix UCSDK e podem ser usadas de forma intercambiável.

O que há de novo

O UCSDK 4.1.0 é a versão mais recente geralmente disponível que os fornecedores de tecnologia podem integrar. Além disso, há mais duas versões suportadas – UCSDK 4.0.2 e UCSDK 3.1.0. Novos recursos são introduzidos com as versões do UCSDK e os fornecedores de tecnologia precisam garantir a atualização do SDK para que os clientes recebam os recursos. Dessa forma, os clientes Citrix podem se concentrar apenas na atualização dos componentes Citrix necessários para obter novos recursos.

Com o lançamento do UCSDK 4.1.0, estamos introduzindo aprimoramentos críticos na experiência do usuário e recursos totalmente novos que permitirão uma integração mais profunda com os produtos dos parceiros e mais valor para nossos clientes.

Novos Recursos

  • Gravação de Tela do Endpoint UCSDK (Pré-visualização Técnica): Abordando uma lacuna fundamental na gravação de conformidade, as novas APIs do UCSDK agora podem capturar conteúdo no endpoint, mesmo quando os aplicativos estão sendo executados dentro do VDI. Este recurso, atualmente em pré-visualização para endpoints Windows, permite que os fornecedores de tecnologia aprimorem seus aplicativos para suportar a gravação de tela do endpoint no Citrix. Observe que este recurso é focado em aprimorar os aplicativos do fornecedor e é diferente da gravação de sessão do Citrix.
  • Tratamento de Reconexão de Sessão: Um aprimoramento crítico ao Bootstrap melhora significativamente a experiência do aplicativo de navegador, aproximando-a da de aplicativos de desktop baseados em Electron. Aplicativos baseados em navegador que usam Bootstrap agora podem lidar dinamicamente com desconexões de sessão do Citrix, proporcionando uma experiência de usuário contínua para os usuários finais.
  • Suporte para Novos métodos: Adicionado suporte para reiniciar a coleta ICE e suporte para iceCandidatePoolSize em RTCConfiguration.
  • Melhor Tratamento de Erros e Melhorias de Conformidade: Conformidade aprimorada com a especificação WebRTC para getUserMedia. getStats() aprimorado para CitrixPeerConnection, RtpSender e RtpReceiver para retornar um relatório vazio em vez de nulo em condições de erro.

As versões totalmente compatíveis para UCSDK 4.1.0 incluem:

  • Citrix Virtual Apps and Desktops™ 2503
  • Citrix Workspace™ App para Windows 2503
  • Citrix Workspace App para Mac 2503
  • Citrix Workspace App para Linux 2503
  • A versão mais recente do ChromeOS/HTML5.

Observação:

Os clientes Citrix podem entrar em contato com os fornecedores de tecnologia para atualizar o SDK (ou) adicionar suporte a recursos específicos, caso existam casos de uso que possam ser alcançados com os recursos recém-introduzidos.

Principais Benefícios

Ao usar aplicativos otimizados com o Citrix UCSDK, você pode esperar:

  • Desempenho aprimorado do processamento de mídia, descarregando a codificação/decodificação de mídia intensiva em processador do Citrix Virtual Delivery Agent (VDA) para o endpoint do cliente, aumentando a capacidade de resposta geral para os usuários finais.
  • Redução do uso de CPU e largura de banda no Citrix VDA, permitindo que a TI suporte mais usuários simultâneos por host e que as empresas escalem as implantações de desktop virtual Citrix de forma econômica.
  • Menor custo total de propriedade para as empresas, pois os endpoints otimizados estendem a vida útil de desktops virtuais legados e reduzem as necessidades de infraestrutura de host, diminuindo assim os gastos de capital e os custos operacionais ao longo do tempo.
  • Suporte para plataformas de endpoint Windows, Mac, Linux, ChromeOS e HTML5.

Casos de Uso

O UCSDK é construído especificamente para otimizar aplicativos de comunicação em tempo real que aderem ao padrão WebRTC. Aqui estão os principais cenários e os tipos de aplicativos baseados em WebRTC que podem / já usam o UCSDK.

  • Contact Center como Serviço (CCaaS) / Plataformas de Contact Center na Nuvem: Gerenciam principalmente as interações com clientes em múltiplos canais, otimizando os fluxos de trabalho dos agentes.
    • Exemplos: Amazon Connect, Twilio, Avaya Experience Platform, Talkdesk, Content Guru
  • Comunicações Unificadas como Serviço (UCaaS) / Comunicações Empresariais na Nuvem: Integram voz, vídeo, mensagens em equipe e presença para uma comunicação empresarial abrangente.
    • Exemplos: Ring Central, 8x8, Intermedia, Alcatel-Lucent Rainbow
  • Plataforma de Comunicações como Serviço (CPaaS): Fornecem APIs para incorporar recursos de comunicação em tempo real diretamente em aplicativos personalizados.
    • Exemplos: Twilio, Ribbon Communications
  • Videoconferência e Colaboração Empresarial: Plataformas dedicadas para reuniões de vídeo de alta qualidade, conferências e recursos avançados de colaboração.
    • Exemplo: Pexip
  • Comunicações para Negociação Financeira: Projetadas para as necessidades de comunicação exclusivas, de alto desempenho e em conformidade dos mercados financeiros.
    • Exemplo: IPC Unigy
  • Plataformas de Aprendizagem e Treinamento Virtual: Projetadas para experiências interativas e de alta qualidade em salas de aula e treinamentos virtuais.
    • Exemplo: Vitero

A base WebRTC subjacente do Citrix UCSDK significa que suas capacidades de otimização podem se estender a qualquer aplicativo de comunicação baseado em WebRTC. Isso abre as portas para otimizar uma ampla gama de aplicativos que utilizam WebRTC para interações em tempo real, mesmo que não estejam atualmente listados como otimizados com o UCSDK. Incentivamos os clientes a entrar em contato com a Citrix com quaisquer casos de uso ou aplicativos que desejam ver otimizados.

Arquitetura do UCSDK

UCSDK Architecture

  • Aplicativo do fornecedor: Pode ser qualquer aplicativo de comunicação em tempo real de terceiros, baseado em desktop ou navegador, que integrou o UCSDK.

  • UCSDK JS: O UCSDK JS fornece as APIs que os aplicativos do fornecedor utilizam para descarregar o áudio/vídeo para o endpoint.

  • HdxRtcEngine: Este é o mecanismo de mídia WebRTC incorporado no Citrix Workspace App que processa e gerencia a chamada de áudio/vídeo descarregada.

Uma vez que o SDK é carregado e usado, o processo HdxRtcEngine.exe é iniciado no endpoint do cliente se o redirecionamento for bem-sucedido. Uma vez que o HdxRtcEngine.exe é iniciado no endpoint do cliente, quaisquer dados de sinalização e payload fluem do Citrix VDA para o endpoint do cliente, chegam à nuvem, retornam ao endpoint do cliente e são então encaminhados para o VDA. Por exemplo, um fluxo completo de ida e volta poderia 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 de Sistema

Os requisitos de sistema indicam as várias versões dos componentes Citrix necessários com a versão mais recente do UCSDK - 4.1.0. Para detalhes de compatibilidade para versões mais antigas do SDK e requisitos de recursos específicos, consulte a tabela Matriz de Versões e Recursos abaixo.

Observação:

Para que os clientes usem qualquer recurso adicionado ao UCSDK – certifique-se de que o aplicativo do fornecedor tenha integrado a versão apropriada do UCSDK e ativado o recurso, e use as versões apropriadas de VDA e CWA em seu ambiente.

Versões Totalmente Compatíveis

Versões totalmente compatíveis indicam que, ao usar essas versões dos componentes Citrix juntamente com a versão mais recente do UCSDK, os clientes podem aproveitar todos os recursos disponíveis. Para a versão mais recente atual do UCSDK – 4.1.0, as versões totalmente compatíveis dos componentes Citrix são as seguintes:

  • Citrix Virtual Apps and Desktops: 2503
  • Citrix Workspace App para Windows: 2503
  • Citrix Workspace App para Mac: 2503
  • Citrix Workspace App para Linux: 2503
  • Citrix Workspace App para ChromeOS/HTML5: Versão mais recente

Configuração

A funcionalidade dos recursos do UCSDK depende de três fatores: a versão do UCSDK que o fornecedor integrou e os recursos que o fornecedor ativou, o Citrix Virtual Apps and Desktops e a versão do Citrix Workspace app em uso.

No lado Citrix, certifique-se de que o seguinte esteja configurado para que o aplicativo otimizado possa ser otimizado:

  1. Certifique-se de que a política de redirecionamento do Microsoft Teams esteja ativada. Consulte Configurações da Política de Multimídia para obter mais informações. Observe que esta política está ATIVADA por padrão.
  2. Aplicativos de terceiros baseados em Electron ou navegador que utilizam o SDK CitrixWebrtc.js não são suportados por padrão. O CtxHdxWebSocketService (WebSocketService.exe) não permitirá conexões de aplicativos que não estejam na lista de permissões. O nome do executável binário do aplicativo desejado deve ser adicionado a uma chave de registro de lista de permissões.

No VDA

  • Crie um Caminho de Chave: HKLM\Software\WOW6432Node\Citrix\WebSocketService
  • Nome da Chave: ProcessWhitelist
  • Tipo: MULTISZ
  • Valor da Chave: Mytestapp.exe

Se você tiver vários aplicativos, digite cada aplicativo em uma nova linha. Não copie e cole de um arquivo de texto ou insira vírgulas. Certifique-se de que o nome fornecido corresponda ao nome do executável do aplicativo. Este valor de registro não diferencia maiúsculas de minúsculas.

Se o aplicativo for acessado por meio de um navegador em vez de um aplicativo de desktop completo, então você precisa permitir, por exemplo, chrome.exe no valor do registro.

Uma vez que o registro acima esteja configurado com sucesso, reinicie o VDA ou reinicie o CtxHdxWebSocketService para finalizar a configuração da Lista de Permissões.

No Cliente

Nenhuma configuração é necessária. Basta instalar o Citrix Workspace app.

Cada fornecedor pode ter um nome de aplicativo muito específico. Portanto, consulte a documentação do fornecedor vinculada na seção Suporte Atual do Fornecedor para determinar qual nome de aplicativo deve ser permitido no WebSocketService.

Matriz de Versões e Recursos

Como as atualizações de versão ocorrem frequentemente, consulte as páginas de ciclo de vida do produto Citrix Virtual Apps and Desktops e Citrix Workspace app para garantir que uma versão específica seja suportada. Para muitos dos recursos mais antigos, as versões mencionadas na tabela são as últimas versões de Lançamento Atual (CR) suportadas no momento da redação deste documento.

Recurso Versão do UCSDK VDA CWA Windows CWA Mac CWA Linux CWA ChromeOS/HTML5
Áudio / Vídeo (p2p e conferência) 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Compartilhamento de tela 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
Suporte a Servidor Proxy 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Compartilhamento de Aplicativos 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
Múltiplas Janelas 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Suporte a Plano Unificado SDP 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Resolução de stream / Simulcast 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2312
Áudio Remoto (com Loop) 3.1.0 2203 LTSR Latest CU / 2311 CR 2402 LTSR Latest CU / 2311 CR 2311 2311 2405
UCSDK baseado em navegador (suporte a 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 Latest CU / 2311 CR 2503.2 2503 2503 2502.10
Gravação de Tela (Pré-visualização)¹ 4.1.0 2503 2503.2 N/A N/A N/A

Observação:

Introduzimos uma nova política para gravação de tela, então você precisa da versão 2503 do delivery controller™, que vem com o CVAD 2503.

Suporte Atual do Fornecedor

Vários fornecedores terceirizados integraram o Unified Communications SDK em seus produtos. A lista atual de fornecedores e sua documentação de suporte está listada abaixo:

Fornecedor Documentação
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

Solução de Problemas

Para informações de solução de problemas, consulte Orientação para Solução de Problemas para Aplicativos Otimizados com o Citrix Unified Communications SDK.

Problemas Conhecidos e Limitações

Esta seção documentará os problemas e limitações conhecidos atualmente, à medida que forem reconhecidos.

Otimização do SDK de Comunicações Unificadas