View a markdown version of this page

优化 Omnissa 云桌面的 Connect 客户音频 - Amazon Connect Customer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

优化 Omnissa 云桌面的 Connect 客户音频

当您的代理使用Omnissa虚拟桌面基础架构 (VDI) 环境时,Connect Customer可以更轻松地提供高质量的语音体验。您的代理可以使用他们的Omnissa远程桌面应用程序(例如Omnissa Horizon Client)将音频处理工作卸载到代理的本地设备,并自动将音频重定向到Connect Customer,从而提高具有挑战性的网络上的音频质量。

首先,您可以使用 Connect Customer 开源库来创建新的或更新现有的代理用户界面,例如自定义联系人控制面板 (CCP)。

系统要求

本节描述了在 Connect Customer 中使用 Omnissa Horizon SDK 的系统要求。

  • Omnissa Horizon 客户端版本

    • 最低要求版本:座席和客户端均需 8.15.0(Horizon 2503)

    • 目前,Omnissa 仅支持运行 Windows 的座席工作站使用此功能。

    • 下载最新的 Omnissa 客户端

      重要
      • 2503 版本将是首个支持 ICE 重启功能的版本。早期版本不支持此功能。

      • Omnissa Horizon Client 版本 2503 将通过 Omnissa Customer Connect 提供。请查看 Customer Connect 以获取最新版本。

  • Omnissa 扩展程序和 SDK 要求

    • Horizon WebRTC Web App 同时支持扩展程序和 SDK 8.15.0 或更高版本。

    • 此浏览器扩展程序使网页应用能够支持 Horizon Agent 内部的 WebRTC SDK,可在此处从 Chrome 应用商店下载该程序。

  • 浏览器支持(最新 3 个版本)

    • Google Chrome

    • Microsoft Edge (Chromium)

  • Omnissa 服务器设置:Omnissa Horizon SDK 默认情况下不启用。系统管理员需要在 Omnissa Horizon Agent 虚拟机内部配置以下注册表设置 [建议通过注册表编辑器(regedit)配置]。

    • 打开注册表编辑器

      • 对于 Windows:

        • 按 Windows + R

        • 键入 regedit 并按 Enter。

    • Create/Navigate 到以下注册表路径:

      Key Path: Computer\HKLM\SOFTWARE\Policies\Omnissa\Horizon\WebRTCRedirSDKWebApp Key Names and Values: chrome_enabled (REG_DWORD) = 1 edge_chrome_enabled (REG_DWORD) = 1 enabled (REG_DWORD) = 1
      Key Path: Computer\HKLM\SOFTWARE\Policies\Omnissa\Horizon\WebRTCRedirSDKWebApp\UrlAllowList Key Name: https://*.connect.aws/* Key Name: https://*.connect.aws.a2z.com/* Key Type: REG_SZ

    在安装 Omnissa Agent 之后,无论 SDK 启用状态如何,html5server.exe 和 wsnm.exe 进程将始终在任务管理器中运行。下图显示正在任务管理器中运行的 html5server.exe 进程。

    任务管理器,html5server.exe 进程正在运行。

    下图显示正在任务管理器中运行的 wsnm.exe 进程。

    任务管理器,wsnm.exe 进程正在运行。
  • 故障排查

    • 可从以下位置找到 Omnissa 日志文件:

      %tmp%\omnissa-{username}\horizon-html5Client-{pid}.log

      注意

      {pid} 指 Horizon 客户端“horizon-protocol.exe”进程 ID,可以在任务管理器中找到该 ID。

    • 用于增强日志记录的注册表设置

      要为故障排查启用详细日志记录,请添加以下注册表项:

      HKEY_LOCAL_MACHINE\SOFTWARE\Omnissa\Horizon\Html5mmr: - "html5mmr.log.noThrottle" = dword:00000001
      HKEY_LOCAL_MACHINE\SOFTWARE\Omnissa\Horizon\Html5mmr\WebrtcRedir: - "html5mmr.log.webrtc.allowFullText" = dword:00000001 - "html5mmr.log.webrtc.allowThrottle" = dword:00000000 - "html5mmr.log.webrtc.sharedlib.internal" = dword:00000001 - "html5mmr.log.webrtc.sharedlib.network" = dword:00000001 - "html5mmr.log.webrtc.sharedlib.media" = dword:00000001 - "html5mmr.log.webrtc.shim.logToConsole" = dword:00000001 - "html5mmr.log.webrtc.sharedlib.signal" = dword:00000001 - "html5mmr.log.noThrottle" = dword:00000001 - "html5mmr.log.webrtc.tracelevel" = dword:00000001

      这些注册表设置能够启用详细日志记录,这有助于诊断与 Omnissa VDI 集成相关的问题。

  • 网络/防火墙配置

    • Omnissa VDI 配置

      管理员需要允许Omnissa服务器访问下图中提及的域的亚马逊连接 TCP/443 流量。有关此设置,请参阅设置网络主题。

    • 座席工作站配置

      此解决方案需要代理瘦客户机之间建立媒体连接才能连接客户。按照设置网络主题允许代理计算机和 “连接客户软电话媒体 UDP 端口 3478” 之间的流量。

      下图说明了 UDP 端口 3478 的使用。

      使用 UDP 端口 3478。

您的自定义 CCP 上必要的代码更改

要在 Omnissa VDI 环境中启用音频优化,您必须使用以下更改配置您的自定义 CCP。

  1. 在 CCP 初始化之前添加以下代码片段。它有助于管理 CCP 的窗口标识,这在座席打开多个窗口时尤其重要。它添加了一个时间戳和“Active Softphone Tab”标记,以帮助识别活动的 CCP 窗口。

    const ACTIVE_SOFTPHONE_TAB = "Active Softphone Tab"; window.addEventListener('message', (event) => { if (event.data.type === 'get_horizon_window_title') { let title = document.title; const currentTime = new Date(); if (!title.endsWith(ACTIVE_SOFTPHONE_TAB)) { title += ` ${currentTime.getHours()}${currentTime.getMinutes()}${currentTime.getSeconds()} ` + ACTIVE_SOFTPHONE_TAB; document.title += ` ${currentTime.getHours()}${currentTime.getMinutes()}${currentTime.getSeconds()} ` + ACTIVE_SOFTPHONE_TAB; } event.source.postMessage( { type: 'horizon_window_title_response', title: title, source: 'parent' }, event.origin ); } });
  2. 在您的 initCCP 配置中添加 VDI 平台参数。这是为了启用音频重定向功能。

    softphone: { allowFramedSoftphone: true, VDIPlatform: "OMNISSA" }
    重要

    设置 VDIPlatform: "OMNISSA" 后,如果 Omnissa 音频优化失败,CCP 将不会回退到标准的 Web 浏览器音频。这意味着:

    • 如果座席在 Omnissa 虚拟机之外访问 CCP,则呼叫将失败。

    • 在设置此参数之前,CCP 开发人员必须确定 CCP 是否正在 Omnissa 虚拟机内运行。

    实施选项:

    1. 使用单独的 URL 路径访问 Omnissa 和非 Omnissa。

    2. 使用 URL 参数来确定环境。

    3. 实现一个 API 以根据用户上下文确定正确的配置。

在通话期间如何确认瘦客户端和 Amazon Connect 之间的媒体流

  1. 确保 Omnissa Horizon WebRTC 扩展程序已启用并处于“就绪”状态。

  2. 检查浏览器工具栏中的扩展程序图标:

    1. 蓝色图标表示“就绪”状态且功能正常。

    2. 灰色图标表示“未就绪”状态且存在潜在问题。

    下图显示 Omnissa Horizon WebRTC 浏览器扩展程序处于启用及“就绪”状态时的样子。

    Omnissa Horizon WebRTC 浏览器扩展程序处于启用状态时。
  3. 查看进程状态:

    1. 打开任务管理器。

    2. 验证 html5server.exe 和 wsnm.exe 进程是否正在运行。

    3. 确保这些进程在呼叫期间保持运行。如果任一进程崩溃,VDI 功能都将失败。

  4. 测试音频流:

    1. 拨打测试电话

    2. 通过在虚拟机的浏览器中禁用麦克风访问来验证音频优化 - 在本地处理音频时,呼叫应继续工作

    3. 检查是否存在任何音频延迟或质量问题。

  5. 使用 Wireshark 来验证:

    Wireshark 是一款免费的开源网络数据包分析器。有关更多信息,请访问 Wireshark 网站。

    1. 从此处下载 Wireshark。

    2. 安装 Wireshark 后,在瘦客户端上打开 Wireshark,开始监控您的本地网络。

    3. 连接到呼叫,在顶部的筛选栏中输入以下过滤器:

      (udp.srcport == 3478 or udp.dstport == 3478) and ((ip.dst_host = "15.193.6.0/24"))
    4. 确认您可以看到代理计算机和 Connect Customer 之间的媒体数据包流动。

    5. 如果看不到任何数据包:

      • 检查网络连接和防火墙规则。

      • 验证音频优化设置。

    注意

    上面显示的 IP 范围适用于美国东部(弗吉尼亚州北部) AWS 区域。有关其他区域的 IP 范围,请参阅设置网络。

    下图显示 IP 范围。

    Omnissa Horizon WebRTC 浏览器扩展程序处于启用状态时。
  6. 控制台日志记录

    1. 对于 Windows:打开浏览器开发者工具(按 F12)。

    2. 查找以下确认 Omnissa 初始化的 WebRTC-related 消息:R TC.js is using OmnissaVDIStrategy

      配置消息类似如下示例。

      { "component": "softphone", "level": "LOG", "text": " RTC.js is using OmnissaVDIStrategy", "time": "2025-04-03T20:47:40.460Z", "exception": null, "objects": [], "line": 64, "agentResourceId": "20c6b5a3-259e-4e18-a8a7-b962d54a6344", "loggerId": "1743713238678-pz6yp1q4n9s", "contextLayer": "CRM" },

限制

不支持以下 CCP 配置:

  • 原生 CCP:原生 CCP 不支持音频优化功能。使用原生 CCP 处理的通话,其媒体流将继续通过虚拟机内部的浏览器进行传输。

  • Salesforce CTI 适配器:不支持 VDI 平台检测,这导致媒体流通过虚拟机的浏览器进行路由,而不是经过优化的客户端音频处理。