ユニファイドコミュニケーション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を統合した、デスクトップベースまたはブラウザベースのサードパーティ製リアルタイム通信アプリケーションです。
-
UCSDK JS: UCSDK JSは、ベンダーアプリケーションがオーディオ/ビデオをエンドポイントにオフロードするために利用するAPIを提供します。
-
HdxRtcEngine: これは、Citrix Workspaceアプリに組み込まれた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バージョンを使用していることを確認してください。
完全互換バージョン
完全互換バージョンとは、UCSDKの最新バージョンとともにこれらのCitrixコンポーネントのバージョンを使用することで、お客様が利用可能なすべての機能を活用できることを示します。UCSDKの現在の最新バージョン(5.0.0)の場合、Citrixコンポーネントの完全互換バージョンは以下のとおりです。
-
シトリックス バーチャル アプリケーションズ アンド デスクトップ™: 2607 LTSR
-
シトリックス ワークスペース アプリ Windows: 2607 LTSR
-
Citrix Workspaceアプリ Mac: リリース予定
-
シトリックス ワークスペース アプリ Linux: 2607 LTSR
-
Citrix Workspaceアプリ 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リダイレクトポリシーが有効になっていることを確認します。詳細については、「マルチメディアポリシー設定」を参照してください。このポリシーはデフォルトで有効になっています。
-
CitrixWebrtc.jsSDKを利用するサードパーティのElectronまたはブラウザベースのアプリケーションは、デフォルトではサポートされていません。CtxHdxWebSocketService(WebSocketService.exe) は、許可リストにないアプリケーションからの接続を許可しません。目的のアプリケーションバイナリ実行可能ファイル名をホワイトリストレジストリキーに追加する必要があります。
注:
CVAD 2607 LTSR以降、Citrix Unified Communications SDK (UCSDK) を使用するアプリケーションの最適化は、Microsoft Teamsリダイレクトポリシーに依存しなくなりました。管理者は、他のUCSDK統合アプリケーションに影響を与えることなく、Microsoft Teamsの最適化を無効にできるようになりました。この分離を使用するには、ベンダーアプリケーションがCVAD 2607 LTSRと並行してBootstrapメソッド(UCSDK 4.0で初めて導入)を利用する必要があります。詳細については、「Unified Communications SDKのドキュメント」を参照してください。
VDA上
-
キーパスを作成します:
HKLM\Software\WOW6432Node\Citrix\WebSocketService -
キー名:
ProcessWhitelist -
種類:
MULTISZ -
キー値:
Mytestapp.exe
複数のアプリケーションがある場合は、各アプリケーションを新しい行に入力します。テキストファイルからコピー&ペーストしたり、コンマを挿入したりしないでください。指定された名前がアプリケーションの実行可能ファイル名と一致していることを確認してください。このレジストリ値は大文字と小文字を区別しません。
アプリケーションが本格的なデスクトップアプリケーションではなくブラウザ経由でアクセスされる場合、レジストリ値で、たとえば
chrome.exeを許可する必要があります。
上記のレジストリが正常に構成されたら、VDAを再起動するか、
CtxHdxWebSocketServiceを再起動してホワイトリストの設定を完了します。
クライアント上
設定は不要です。Citrix Workspaceアプリをインストールするだけです。
各ベンダーには非常に具体的なアプリケーション名がある場合があります。そのため、WebSocketServiceで許可する必要があるアプリケーション名を判断するには、現在のベンダーサポートセクションにリンクされているベンダーのドキュメントを参照してください。
機能リファレンス
リダイレクトされたコンテンツをスクリーンショットでキャプチャする
UCSDK最適化アプリケーションにビデオまたは共有画面オーバーレイが含まれる場合、そのコンテンツはエンドポイントでレンダリングされるため、標準のセッション内スクリーンショットツールでは空白領域としてキャプチャされます。このコンテンツをスクリーンショットに含めるには、Citrix Snipping Toolを使用してください。Citrixでは、見つけやすくするためにCitrix Virtual Desktop Assistantから起動することをお勧めします。詳しくは、Citrix Virtual Desktop Assistantのドキュメントを参照してください。
Smart Syncによる通話接続時間の短縮
UCSDK 5.0.0で導入されたSmart Sync機能は、VDAとクライアントエンドポイント間の通信を効率化することで、通話接続時間を短縮します。この機能強化により、全体的に通話設定が高速化され、特に高遅延ネットワーク環境で最も顕著なパフォーマンス向上をもたらします。
Citrixは、この機能を利用するために、お客様がアプリケーションベンダーに連絡してUCSDK 5.0.0にアップグレードすることをお勧めします。
注:
この機能は、UCSDK 5.0.0とCitrix Workspaceアプリのみに依存します。正確なクライアントバージョンについては、バージョンと機能マトリックスを参照してください。VDAのバージョン依存性はないため、以前のサポート対象VDAも引き続き使用できます。
UCSDKとHDX Microsoft Teams最適化の分離
この機能は、Unified Communications SDK (UCSDK) の最適化ロジックをMicrosoft Teamsの最適化ポリシーから分離します。以前は、「Microsoft Teamsリダイレクト」ポリシーがマスター切り替えスイッチとして機能しており、Teamsに対してこれを無効にすると、他のすべてのUCSDKベースのアプリケーションが意図せずサーバー側レンダリングにフォールバックされていました。
この機能強化により、WebRTCリダイレクトに必要な仮想チャネルは、Teamsポリシーの状態に関係なく、サードパーティアプリケーションで引き続き利用可能になります。
-
利点
-
きめ細かな制御: 管理者は、Amazon Connect、Five9、RingCentral、その他のUCSDK統合アプリケーションなどの重要なビジネスアプリケーションの最適化に影響を与えることなく、Microsoft Teamsの最適化ポリシーを選択的に管理できます。
-
運用安定性: UCSDK最適化アプリケーションにおける意図しないパフォーマンス低下を防ぐことで、ビジネス継続性を確保します。管理者は、主要なビジネスツールの高精細オーディオ/ビデオエクスペリエンスを損なうことなく、トラブルシューティングやコンプライアンス上の理由でHDX Teams最適化を無効にできます。
-
-
要件
-
VDA要件: Citrix Virtual Apps/Desktops 2607 LTSR 以降
-
アプリケーションの互換性: サードパーティ製アプリケーションは、UCSDKブートストラップ初期化メソッドを利用する必要があります
-
注:
-
この機能は、Microsoft Teams SlimCore最適化には影響しません。SlimCore最適化は、Microsoft独自の仮想チャネルを使用して独立して動作し、Citrix CTXMTOP仮想チャネルには依存しません。
-
この機能を活用するには、サードパーティ製アプリケーションがUCSDK 4.0以降で構築されている必要があります。お客様は、アプリケーションベンダー(例:Amazon Connect、Five9、RingCentral)に、特定のバージョンがブートストラップ初期化を使用していることを確認する必要があります。
Microsoft Teams最適化のための明示的なサービス依存関係
Citrix Virtual Apps / Desktops 2607 LTSR以降、Citrix HDX Teamsリダイレクトサービス(HDX最適化Microsoft TeamsおよびUCSDK最適化アプリケーションで使用)は、**Citrix HDX HTML5ビデオリダイレクトサービス(WebSocketService)**への依存関係を明示的に宣言するようになりました。
このアップデートにより、Teamsサービスが起動する際にHTML5サービスが自動的に検証および開始されるようになり、サービスが厳密に管理されている環境でのMicrosoft TeamsおよびUCSDK統合アプリケーションの最適化の失敗を防ぎます。
パフォーマンスとユーザーエクスペリエンスを向上させるための最適化されたオーバーレイクリッピング
CVAD 2511以降、HDX Microsoft Teams最適化やUCSDK最適化などの機能におけるリダイレクトされたビデオオーバーレイを処理するメカニズムは、ユーザーエクスペリエンスとサーバーパフォーマンスの両方を向上させるために再設計されました。
主な利点
-
視覚的な正確性の向上: この機能強化により、ポップアップメニューや通知などのアプリケーション要素がビデオコンテンツの背後に誤って表示される視覚的な不具合が解決されます。新しいロジックにより、すべてのコンポーネントが正しい順序でレンダリングされ、よりシームレスで予測可能なエクスペリエンスが提供されます。
-
パフォーマンスの向上: この最適化により、Virtual Delivery AgentでのCPU使用率が大幅に削減されます。古いリソース集約型のポーリングメソッドをより効率的なグラフィックスベースのアプローチに置き換えることで、この変更はサーバーのスケーラビリティを向上させ、より高いユーザー密度を可能にします。
注:
この機能は、将来のバージョンのMicrosoft Teams(またはその他のUCSDKパートナーアプリケーション)に依存し、Citrix Workspace App for Windows 2511が必要です。
バージョンと機能マトリックス
バージョンアップが頻繁に行われるため、特定のバージョンがサポートされていることを確認するには、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 | 該当なし |
| 動的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 統合プランのサポート | 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 | 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 | 該当なし |
| ICEの再起動 | 4.1.0 | 2203 LTSR 最新CU / 2311 CR | 2503.2 | 2503 | 2503 | 2502.10 |
| スクリーンレコーディング (プレビュー)¹ | 4.1.0 | 2503 | 2503.2 | 該当なし | 該当なし | 該当なし |
| スマート同期 | 5.0.0 | 2203 LTSR 最新のCU / 2311 CR | 2607 LTSR | 該当なし | 2604 | 該当なし |
注:
スクリーンレコーディング用の新しいポリシーを導入しました。そのため、delivery controller™ の2503バージョンが必要です。これはCVAD 2503に付属しています。
現在のベンダーサポート
複数のサードパーティベンダーが、Unified Communications SDK を自社製品に統合しています。現在のベンダーとそのサポートドキュメントのリストを以下に示します。
| ベンダー | ドキュメント |
|---|---|
| スプリンクラー | Citrix 音声通話用メディアオフロード - Sprinklr |
| マイクロソフト ダイナミクス 365 | Dynamics 365 Contact Center ドキュメント |
| アマゾン コネクト | Citrix Cloud Desktops 用 Amazon Connect オーディオの最適化 |
| リングセントラル | Citrix VDI 環境での RingCentral の使用 |
| ファイブナイン | Citrix 環境における Five9 WebRTC |
| トゥイリオ | Citrix VDI 環境における Twilio Flex |
| アバイア | Citrix 向け Avaya Experience Platform Public Cloud VDI ソリューション |
| 8x8 | デスクトップおよび Web 用 8x8 Work との Citrix VDI 統合 |
| コンテンツ・グル | コンテンツ・グル Citrix 統合 |
| リボン・コミュニケーションズ | リボン・コミュニケーションズ Citrix WebRTC SDK |
| インターメディア | Citrix Virtual Apps and Desktops への Intermedia Unite のインストール |
| アルカテル・ルーセント レインボー | Rainbow デスクトップアプリケーションの Citrix 最適化 |
| トークデスク | Talkdesk エージェントワークスペース VDIコネクト |
| IPC | IPC Unigy ソフトクライアント Citrix VDI |
| ヴィテロ | シトリックス VDI 向け ヴィテロ インスパイア |
| ペクシプ | Citrix Pexip Infinity Docs で Connect デスクトップアプリを展開する(https://docs.pexip.com/clients/using_citrix_client.htm) |
| Zoom Web アプリ | Zoom Web アプリの WebRTC リダイレクトを構成する(https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0083142) |
トラブルシューティング
トラブルシューティング情報については、Citrix Unified Communications SDK で最適化されたアプリのトラブルシューティングガイダンスを参照してください。
既知の問題と制限事項
このセクションでは、現在認識されている既知の問題と制限事項について説明します。