Citrix Virtual Apps and Desktops

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

Introdução

O Citrix Virtual Apps and Desktops permite que você entregue 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ências 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 os fluxos de mídia (áudio/vídeo) do dispositivo cliente para o servidor VDI no data center antes de enviá-los de volta para o endpoint. Esse “hairpinning” introduz tráfego desnecessário e sobrecarga de processamento 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 em execução em um desktop local. No mundo de hoje, a comunicação em tempo real contínua é 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 funcionariam 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 dentro do host virtual, exibida de forma contínua dentro do desktop virtual ou da 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 nesses 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.

Nota:

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

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.
  • Uso reduzido 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 dimensionem 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 dos 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 foi desenvolvido 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 os clientes em vários 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 de 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 únicas, 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

Arquitetura do UCSDK

  • Aplicativo do fornecedor: Pode ser qualquer aplicativo de comunicação em tempo real de terceiros, baseado em desktop ou navegador, que tenha integrado 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 lida com 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 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 ciclo completo de fluxo 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 do Sistema

Os requisitos do sistema indicam as várias versões dos componentes Citrix necessárias com a versão mais recente do UCSDK - 5.0.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.

Nota:

Para que os clientes usem qualquer recurso adicionado ao UCSDK – certifique-se de que o aplicativo do fornecedor integrou a versão apropriada do UCSDK e habilitou 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 – 5.0.0, as versões totalmente compatíveis dos componentes Citrix são as seguintes:

  • Citrix Aplicativos Virtuais e Desktops™: 2607 LTSR
  • Citrix Workspace App Windows: 2607 LTSR
  • Citrix Workspace App Mac: A ser lançado
  • Citrix Workspace App Linux: 2607 LTSR
  • Citrix Workspace App ChromeOS/HTML5: A ser lançado

Nota:

A otimização do UCSDK é suportada em todas as plataformas de endpoint: Windows, Mac, Linux, ChromeOS e HTML5. Se a lista acima mostrar “A ser lançado” para uma plataforma de endpoint específica, isso significa simplesmente que uma versão totalmente compatível com os recursos mais recentes do UCSDK ainda não foi lançada. Assim, os clientes ainda podem usar versões mais antigas do aplicativo Citrix Workspace para continuar usando os recursos existentes, mesmo com o UCSDK mais recente.

Configuração

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

No lado da 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 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.

Nota:

A partir do CVAD 2607 LTSR, a otimização para aplicativos que usam o Citrix Unified Communications SDK (UCSDK) não depende mais da política de redirecionamento do Microsoft Teams. Os administradores agora podem desabilitar a otimização do Microsoft Teams sem afetar outros aplicativos integrados ao UCSDK. Para usar essa separação, o aplicativo do fornecedor deve utilizar o método Bootstrap (introduzido pela primeira vez no UCSDK 4.0) juntamente com o CVAD 2607 LTSR. Para mais detalhes, consulte documentação do SDK de Comunicações Unificadas.

No VDA

  • Criar 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 nem 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.

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

No Cliente

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

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

Referência de Recurso

Tempos de Conexão de Chamada Aprimorados com Smart Sync

Introduzido no UCSDK 5.0.0, o recurso Smart Sync acelera os tempos de conexão de chamadas, otimizando a comunicação entre o VDA e o endpoint do cliente. Este aprimoramento proporciona configurações de chamadas mais rápidas em geral, oferecendo as melhorias de desempenho mais significativas para ambientes de rede de alta latência.

A Citrix recomenda que os clientes entrem em contato com seus fornecedores de aplicativos para atualizar para o UCSDK 5.0.0 para aproveitar este recurso.

Observação:

Este recurso depende apenas do UCSDK 5.0.0 e do aplicativo Citrix Workspace. Consulte a Matriz de Versões e Recursos para obter as versões exatas do cliente. Não há dependência de versão do VDA, portanto, VDAs mais antigos e suportados ainda podem ser usados.

Otimização Desacoplada do UCSDK e HDX Microsoft Teams

Este recurso separa a lógica de otimização do SDK de Comunicações Unificadas (UCSDK) da política de otimização do Microsoft Teams. Anteriormente, a política de “redirecionamento do Microsoft Teams” atuava como um interruptor mestre; desativá-la para o Teams forçaria inadvertidamente todos os outros aplicativos baseados em UCSDK a retornar à renderização do lado do servidor.

Com este aprimoramento, o canal virtual necessário para o redirecionamento WebRTC permanece disponível para aplicativos de terceiros, independentemente do estado da política do Teams.

  • Benefícios

    • Controle Granular: Os administradores podem gerenciar seletivamente a política de otimização do Microsoft Teams sem impactar a otimização de aplicativos de negócios críticos como Amazon Connect, Five9, RingCentral ou outros aplicativos integrados ao UCSDK.

    • Estabilidade Operacional: Garante a continuidade dos negócios, evitando a degradação não intencional do desempenho em aplicativos otimizados para UCSDK. Os administradores podem desativar a otimização do HDX Teams para fins de solução de problemas ou conformidade, sem prejudicar a experiência de áudio/vídeo de alta definição de suas principais ferramentas de negócios.

  • Requisitos

    • Requisito de VDA: Citrix Virtual Apps/Desktops 2607 LTSR ou posterior

    • Compatibilidade de Aplicativos: O aplicativo de terceiros deve utilizar o método de inicialização bootstrap do UCSDK

Observação:

  • Este recurso não afeta a otimização do Microsoft Teams SlimCore. A otimização do SlimCore opera independentemente usando canais virtuais proprietários da Microsoft e não depende do canal virtual Citrix CTXMTOP.

  • Para aproveitar este recurso, aplicativos de terceiros devem ser desenvolvidos com UCSDK 4.0 ou mais recente. Os clientes devem verificar com o fornecedor do aplicativo (por exemplo, Amazon Connect, Five9, RingCentral) se sua versão específica usa a inicialização bootstrap.

Dependência explícita de serviço para Otimização do Microsoft Teams

A partir do Citrix Virtual Apps / Desktops 2607 LTSR, o Citrix HDX Teams Redirection Service (usado por aplicativos HDX Optimized Microsoft Teams e UCSDK Optimized) agora declara explicitamente uma dependência do Citrix HDX HTML5 Video Redirection Service (WebSocketService).

Esta atualização garante que o serviço HTML5 seja automaticamente verificado e iniciado quando o serviço Teams é lançado, evitando falhas de otimização para o Microsoft Teams e aplicativos integrados ao UCSDK em ambientes onde os serviços são estritamente gerenciados.

hdx-opt1

Recorte de Sobreposição Otimizado para Desempenho e Experiência do Usuário Aprimorados

A partir do CVAD 2511, o mecanismo para lidar com sobreposições de vídeo redirecionadas em recursos como Otimização HDX Microsoft Teams e Otimização UCSDK, foi re-arquitetado para melhorar tanto a experiência do usuário quanto o desempenho do servidor.

Benefícios Essenciais

  • Precisão Visual Aprimorada: Este aprimoramento resolve falhas visuais onde elementos do aplicativo, como menus pop-up ou notificações, apareceriam incorretamente atrás do conteúdo de vídeo. A nova lógica garante que todos os componentes sejam renderizados na ordem correta, proporcionando uma experiência mais fluida e previsível.

  • Desempenho Aprimorado: Esta otimização reduz significativamente a utilização da CPU no Virtual Delivery Agent. Ao substituir métodos de sondagem mais antigos e intensivos em recursos por uma abordagem mais eficiente baseada em gráficos, essa mudança melhora a escalabilidade do servidor e permite uma maior densidade de usuários.

Nota:

A funcionalidade depende de uma versão futura do Microsoft Teams (ou outro aplicativo parceiro UCSDK) e requer o Citrix Workspace App para Windows 2511.

Versões e Matriz de 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 UCSDK VDA CWA Windows CWA Mac CWA Linux CWA ChromeOS/HTML5
Áudio / Vídeo (p2p e conferência) 3.1.0 2203 LTSR CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 2311 CR 2311 2311 2312
Compartilhamento de tela 3.1.0 2203 LTSR CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 2311 CR 2311 2311 2312
DTMF 3.1.0 2203 LTSR CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 2311 CR 2311 2311 2312
Suporte a Servidor Proxy 3.1.0 2203 LTSR CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 2311 CR 2311 2311 2312
Compartilhamento de apps 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 CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 2311 CR 2311 2311 2312
Áudio Remoto (com Loop) 3.1.0 2203 LTSR CU Mais Recente / 2311 CR 2402 LTSR CU Mais Recente / 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
Web HID API 4.0.2 2203 LTSR Latest CU / 2311 CR 2409.10 2411 2411 2505
Web Audio API 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évia)¹ 4.1.0 2503 2503.2 N/A N/A N/A
Smart Sync 5.0.0 2203 LTSR última CU / 2311 CR 2607 LTSR N/A 2604 N/A

Nota:

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
Sprinklr Descarregamento de Mídia Citrix para Chamadas de Voz - Sprinklr
Microsoft Dynamics 365 Documentação do Contact Center do Dynamics 365
Amazon Connect Otimizar áudio do Amazon Connect para desktops em nuvem Citrix
Ring Central Usando o RingCentral em um ambiente VDI Citrix
Five9 Five9 WebRTC em Ambientes Citrix
Twilio Twilio Flex em VDI Citrix
Avaya Solução VDI Avaya Experience Platform Public Cloud para Citrix(https://documentation.avaya.com/bundle/ExperiencePlatform_Administering_10/page/Avaya__Experience_Platform_VDI_solution_for_Citrix_1.html)
8x8 Integração VDI Citrix com 8x8 Work para Desktop e Web(https://support-portal.8x8.com/helpcenter/viewArticle.html?d=b9270b6e-d5ca-4515-98fc-5a0e0d86db8c)
Content Guru Integração Content Guru Citrix(https://www.contentguru.com/en-gb/marketplace/citrix-integration/)
Ribbon Communications SDK WebRTC da Ribbon Communications para Citrix(https://github.com/RibbonCommunications/citrix-webrtc-sdk)
Intermedia Instalando o Intermedia Unite no Citrix Virtual Apps and Desktops(https://support.intermedia.com/app/articles/detail/a_id/24355)
Alcatel-Lucent Rainbow Otimização Citrix para o Aplicativo de Desktop Rainbow(https://help.openrainbow.com/hc/pt-br/articles/23752823816850-CITRIX-Optimization-for-Rainbow-Desktop-application)
Talkdesk Talkdesk Agent Workspace VDI Connect(https://support.talkdesk.com/hc/pt-br/articles/36439290457499-VDI-Connect#h_01JT0WM8HYVGQEKQMD48PEEQ8A)
IPC Cliente Soft IPC Unigy Citrix VDI(https://www.ipc.com/trading-communications-systems/unigy-soft-client/)
Vitero Vitero Inspire para Citrix VDI
Pexip Implantando o aplicativo de desktop Connect no Citrix Pexip Infinity Docs
Aplicativo Web Zoom Configurar o redirecionamento WebRTC para o aplicativo Web Zoom

Solução de problemas

Para obter informações sobre solução de problemas, consulte Orientação para solução de problemas para aplicativos otimizados com o SDK de Comunicações Unificadas da Citrix.

Problemas e limitações conhecidos

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

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