Unified Communications SDK の最適化
はじめに
Citrix Virtual Apps and Desktops を使用すると、様々なエンドポイントデバイス上のユーザーにアプリケーションを配信できます。これらのアプリケーションの多くには、音声会議やビデオ会議などのリアルタイム通信 (RTC) 機能が含まれています。しかし、仮想化環境でこれらのアプリケーションを配信する際には、課題が生じることがあります。従来の配信方法では、メディアストリーム (オーディオ/ビデオ) をクライアントデバイスからデータセンター内の VDI サーバーにルーティングし、その後エンドポイントに送り返します。この「ヘアピン」方式は、特に帯域幅を大量に消費するオーディオおよびビデオ通話の場合、サーバーに不要なトラフィックと処理オーバーヘッドを発生させます。
Citrix Unified Communications SDK (UCSDK) は、テクノロジーベンダーがCitrix環境で使用するためにこれらのRTCアプリケーションを最適化できるようにするテクノロジーです。アプリケーションが最適化されると、ローカルデスクトップで実行されているアプリケーションと同等か、それ以上のユーザーエクスペリエンスを提供できます。今日の社会では、生産性とコラボレーションのために、シームレスなリアルタイム通信が不可欠です。仮想環境でアプリケーションを使用する場合、音声通話やビデオ通話、画面共有、その他の通信機能がローカルデスクトップと同じくらいスムーズに機能することが重要です。最適化されたアプリケーションは、このエクスペリエンスを提供します。
この製品ドキュメントでは、Citrixのお客様がUCSDK最適化アプリケーションを学習し、展開するために必要なすべての詳細を説明します。
動作の仕組み
Citrixは、VDI内のリアルタイム通信アプリケーション向けに最適化された配信方法を提供しています。このアプローチでは、Unified Communications SDK (UCSDK) を活用して、仮想化されたアプリケーションを2つの部分に分割します。
-
ユーザーインターフェイス (UI): ユーザーインターフェイスは仮想ホスト内に残り、仮想デスクトップまたはアプリケーションウィンドウ内にシームレスに表示されます。
-
メディアエンジン: メディア処理タスク (オーディオとビデオのエンコード/デコード) は、ユーザーのローカルデバイスにオフロードされます。これにより、サーバーの負荷が最小限に抑えられ、ネットワーク使用量が最適化されます。
通常、Citrixはリアルタイム通信分野のテクノロジーベンダーにUCSDKを提供し、それらのアプリケーションにUCSDKを統合するために協力しています。一度統合されると、UCSDK最適化アプリケーションを使用するCitrixのお客様は、強化されたエクスペリエンスを得ることができます。Citrix UCSDKは、カスタムの社内アプリケーションが構築される場合にも、Citrixのお客様が利用できます。ただし、ほとんどの場合、お客様はUCSDKを利用して開発する必要はなく、最適化されたエクスペリエンスを実現するためにCitrix環境とアプリケーションを構成するだけで済みます。
注:
Citrix WebRTC SDKまたはHDX™最適化アプリケーションへの言及は、Citrix UCSDKとの統合を示しており、互換的に使用できます。
主な利点
Citrix UCSDKで最適化されたアプリケーションを使用すると、次のことが期待できます。
-
プロセッサ負荷の高いメディアエンコード/デコードをCitrix Virtual Delivery Agent (VDA) からクライアントエンドポイントにオフロードすることで、メディア処理パフォーマンスが向上し、エンドユーザーの全体的な応答性が高まります。
-
Citrix VDAでのCPUと帯域幅の使用量を削減し、IT部門がホストあたりより多くの同時実行ユーザーをサポートできるようにし、企業がCitrix仮想デスクトップの展開を費用対効果の高い方法で拡張できるようにします。
-
最適化されたエンドポイントがレガシー仮想デスクトップの寿命を延ばし、ホストインフラストラクチャの必要性を減らすことで、企業の総所有コストを削減し、時間の経過とともに設備投資と運用コストを削減します。
-
Windows、Mac、Linux、ChromeOS、およびHTML5エンドポイントプラットフォームのサポート。
ユースケース
UCSDKは、WebRTC標準に準拠するリアルタイム通信アプリケーションを最適化するために特別に構築されています。ここでは、主要なシナリオと、UCSDKを使用できる/すでに使用しているWebRTCベースのアプリケーションの種類を示します。
-
サービスとしてのコンタクトセンター (CCaaS) / クラウドコンタクトセンタープラットフォーム: 主に複数のチャネルにわたる顧客とのやり取りを管理し、エージェントのワークフローを最適化します。
-
例: アマゾン コネクト、トゥイリオ、アバイア エクスペリエンス プラットフォーム、トークデスク、コンテンツ グル
-
-
サービスとしてのユニファイドコミュニケーション (UCaaS) / クラウドビジネスコミュニケーション: 音声、ビデオ、チームメッセージング、プレゼンスを統合し、包括的なビジネスコミュニケーションを実現します。
-
例: リング セントラル、エイトバイエイト、インターメディア、アルカテル・ルーセント レインボー
-
-
サービスとしてのコミュニケーションプラットフォーム (CPaaS): リアルタイム通信機能をカスタムアプリケーションに直接組み込むためのAPIを提供します。
-
例: トゥイリオ、リボン コミュニケーションズ
-
-
エンタープライズビデオ会議とコラボレーション: 高品質のビデオ会議、カンファレンス、高度なコラボレーション機能のための専用プラットフォーム。
-
例: Pexip
-
-
金融取引通信: 金融市場の独自の、高性能でコンプライアンスに準拠した通信ニーズのために設計されています。
-
例: IPC Unigy
-
-
仮想学習およびトレーニングプラットフォーム: インタラクティブで高品質な仮想教室およびトレーニング体験のために設計されています。
-
例: ヴィテロ
-
Citrix UCSDKの基盤となるWebRTCは、その最適化機能がWebRTCベースのあらゆる通信アプリケーションに拡張できることを意味します。これにより、現在UCSDKで最適化されているとリストされていない場合でも、リアルタイムインタラクションにWebRTCを利用する幅広いアプリケーションの最適化が可能になります。最適化を希望するユースケースやアプリケーションについては、Citrixまでお問い合わせください。
UCSDK アーキテクチャ
UCSDK アーキテクチャ (/en-us/citrix-virtual-apps-desktops/2503/media/ucsdk-architecture.png)
-
ベンダーアプリケーション: これは、UCSDK を統合した、デスクトップベースまたはブラウザベースのサードパーティ製リアルタイム通信アプリケーションです。
-
UCSDK JS: UCSDK JS は、ベンダーアプリケーションがオーディオ/ビデオをエンドポイントにオフロードするために利用する API を提供します。
-
HdxRtcEngine: これは、Citrix Workspace Appに組み込まれたWebRTCメディアエンジンで、オフロードされたオーディオ/ビデオ通話を処理および管理します。
SDKがロードされて使用されると、リダイレクトが成功した場合、クライアントエンドポイントで
HdxRtcEngine.exeプロセスが起動されます。HdxRtcEngine.exeがクライアントエンドポイントで起動されると、すべてのシグナリングおよびペイロードデータはCitrix VDAからクライアントエンドポイントに流れ、クラウドに到達し、クライアントエンドポイントに戻ってからVDAに転送されます。たとえば、フローの完全な往復は次のようになります。
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
システム要件
システム要件は、最新バージョンのUCSDK - 5.0.0で必要となるCitrixコンポーネントのさまざまなバージョンを示しています。SDKの以前のバージョンおよび特定の機能要件に関する互換性の詳細については、以下のバージョンと機能マトリックス表を参照してください。
注:
お客様が UCSDK に追加された機能を使用するには、ベンダーアプリケーションが適切な UCSDK バージョンを統合し、その機能を有効にしていること、および環境で適切な VDA および CWA バージョンを使用していることを確認してください。
完全互換バージョン
完全互換バージョンとは、これらのバージョンのCitrixコンポーネントを最新バージョンのUCSDKと組み合わせて使用することで、利用可能なすべての機能を利用できることを示します。UCSDKの現在の最新バージョンである5.0.0の場合、Citrixコンポーネントの完全互換バージョンは以下のとおりです。
-
シトリックス バーチャル アプリ™ アンド デスクトップ:2603
-
シトリックス ワークスペース アプリ Windows:2603
-
Citrix Workspace App Mac: リリース予定
-
Citrix Workspace アプリ リナックス: 2603
-
Citrix Workspace App ChromeOS/HTML5: リリース予定
注記:
UCSDK最適化は、Windows、Mac、Linux、ChromeOS、HTML5のすべてのエンドポイントプラットフォームでサポートされています。上記のリストで特定のエンドポイントプラットフォームにリリース予定と表示されている場合、それは最新のUCSDK機能と完全に互換性のあるバージョンがまだリリースされていないことを意味します。したがって、お客様は、新しいUCSDKを使用しても、Citrix Workspaceアプリの古いバージョンを使用して既存の機能を継続して使用できます。
構成
UCSDKの機能は、ベンダーが統合したUCSDKのバージョンとベンダーが有効にした機能、Citrix Virtual Apps and Desktops、および使用中のCitrix Workspaceアプリのバージョンの3つの要因に依存します。
Citrix側では、最適化されたアプリケーションが最適化されるように、以下が構成されていることを確認してください。
-
Microsoft Teamsリダイレクトポリシーがオンになっていることを確認します。詳細については、(/ja-jp/citrix-virtual-apps-desktops/2503/policies/reference/ica-policy-settings/multimedia-policy-settings#microsoft-teams-redirection)を参照してください。このポリシーはデフォルトでONになっています。
-
CitrixWebrtc.jsSDKを利用するサードパーティのElectronまたはブラウザベースのアプリケーションは、デフォルトではサポートされていません。CtxHdxWebSocketService(WebSocketService.exe) は、許可リストにないアプリケーションからの接続を許可しません。目的のアプリケーションバイナリ実行可能ファイル名をホワイトリストレジストリキーに追加する必要があります。
VDA上
-
キーパスを作成します:
HKLM\Software\WOW6432Node\Citrix\WebSocketService -
キー名:
ProcessWhitelist -
種類:
MULTISZ -
キー値:
Mytestapp.exe
複数のアプリケーションがある場合は、各アプリケーションを新しい行に入力します。テキストファイルからコピー&ペーストしたり、コンマを挿入したりしないでください。指定された名前がアプリケーションの実行可能ファイル名と一致していることを確認してください。このレジストリ値は大文字と小文字を区別しません。
アプリケーションが本格的なデスクトップアプリケーションではなくブラウザ経由でアクセスされる場合、レジストリ値で例えば
chrome.exe を許可する必要があります。
上記のレジストリが正常に構成されたら、VDA を再起動するか、
CtxHdxWebSocketService を再起動してホワイトリストの設定を完了します。
クライアント上
設定は不要です。Citrix Workspace アプリをインストールするだけです。
各ベンダーは非常に特定のアプリケーション名を持っている場合があります。したがって、WebSocketService で許可する必要があるアプリケーション名を決定するには、現在のベンダーサポート セクションにリンクされているベンダーのドキュメントを参照してください。
バージョンと機能マトリックス
バージョンアップは頻繁に行われるため、特定のバージョンがサポートされていることを確認するには、Citrix Virtual Apps and Desktops および Citrix Workspace app の製品ライフサイクルページを参照してください。多くの古い機能については、表に記載されているバージョンは、このドキュメントの作成時点での最終サポート対象のCurrent Release (CR) バージョンです。
| 機能 | UCSDK バージョン | VDA | CWA ウィンドウズ | CWA Mac | CWA リナックス | CWA ChromeOS/HTML5 |
|---|---|---|---|---|---|---|
| オーディオ/ビデオ (p2p & 会議) | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| 画面共有 | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| DTMF | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| プロキシサーバーのサポート | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| アプリ共有 | 3.1.0 | 2203 LTSR 最新のCU / 2311 CR | 2402 LTSR 最新のCU / 2311 CR | 2311 | 2311 | N/A |
| 動的e911 | 3.1.0 | 2203 LTSR 最新のCU / 2311 CR | 2402 LTSR 最新のCU / 2311 CR | 2311 | 2311 | 2312 |
| マルチウィンドウ | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| SDP Unified Plan サポート | 3.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2402 LTSR 最新 CU / 2311 CR | 2311 | 2311 | 2312 |
| ストリーム解像度 / Simulcast | 3.1.0 | 2203 LTSR 最新のCU / 2311 CR | 2402 LTSR 最新のCU / 2311 CR | 2311 | 2311 | 2312 |
| リモートオーディオ (ループ付き) | 3.1.0 | 2203 LTSR 最新のCU / 2311 CR | 2402 LTSR 最新のCU / 2311 CR | 2311 | 2311 | 2405 |
| ブラウザベースのUCSDK (ブートストラップサポート) | 4.0.2 | 2407 CR | 2402 LTSR 最新CU / 2311 CR | 2311 | 2311 | 2312 |
| Web HID API | 4.0.2 | 2203 LTSR 最新CU / 2311 CR | 2409.10 | 2411 | 2411 | 2505 |
| ウェブオーディオAPI | 4.0.2 | 2203 LTSR 最新CU / 2311 CR | 2405 | 2405 | 2405 | N/A |
| ICEを再起動 | 4.1.0 | 2203 LTSR 最新 CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| 画面録画 (プレビュー)¹ | 4.1.0 | 2503 | 2503.2 | N/A | N/A | N/A |
| SmartSync | 5.0.0 | 2203 LTSR 最新 CU / 2311 CR | 2603 | N/A | 2604 | N/A |
注:
画面録画用の新しいポリシーを導入しました。そのため、CVAD 2503 に付属する Delivery Controller™ のバージョン 2503 が必要です。
現在のベンダーサポート
いくつかのサードパーティベンダーが、Unified Communications SDK を自社製品に統合しています。ベンダーとそのサポートドキュメントの現在のリストを以下に示します。
| ベンダー | ドキュメント |
|---|---|
| アマゾン コネクト | Citrixクラウドデスクトップ向けAmazon Connectオーディオの最適化 |
| RingCentral | Citrix VDI環境でのRingCentralの使用 |
| ファイブナイン | Citrix環境でのFive9 WebRTC |
| トゥイリオ | シトリックス VDIでのトゥイリオ フレックス |
| アバイア | Citrix向けAvaya Experience Platform Public Cloud VDIソリューション |
| 8x8 | デスクトップおよびWeb向け8x8 WorkとのCitrix VDI統合 |
| コンテンツ グル | コンテンツ グル シトリックス統合 |
| リボンコミュニケーションズ | リボンコミュニケーションズ Citrix WebRTC SDK |
| インターメディア | 「Citrix Virtual Apps and Desktops への Intermedia Unite のインストール」(https://support.intermedia.com/app/articles/detail/a_id/24355) |
| アルカテル・ルーセント レインボー | レインボー デスクトップ アプリケーション 用 Citrix 最適化 |
| トークデスク | トークデスク Agent Workspace VDI Connect |
| IPC | IPC ユニジー ソフト クライアント Citrix VDI |
| ヴィテロ | Citrix VDI 用 ヴィテロ インスパイア |
| ペクシプ | 「Citrix Pexip Infinity Docs での Connect デスクトップアプリの展開」(https://docs.pexip.com/clients/using_citrix_client.htm) |
| Zoom Web アプリ | Zoom Web App の WebRTC リダイレクトを構成する](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0083142) |
トラブルシューティング
トラブルシューティング情報については、Citrix Unified Communications SDK で最適化されたアプリのトラブルシューティング ガイダンス を参照してください。
既知の問題と制限事項
このセクションでは、現在認識されている既知の問題と制限事項について説明します。