ユニファイドコミュニケーション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との統合を示しており、互換的に使用できます。
新機能
UCSDK 4.1.0は、テクノロジーベンダーが統合できる最新の一般提供バージョンです。さらに、UCSDK 4.0.2とUCSDK 3.1.0の2つのリリースもサポートされています。新機能はUCSDKリリースとともに導入され、お客様がその機能を利用できるように、テクノロジーベンダーはSDKをアップグレードする必要があります。このようにして、Citrixのお客様は、新機能を利用するために必要なCitrixコンポーネントのアップグレードに集中できます。
UCSDK 4.1.0のリリースにより、重要なユーザーエクスペリエンスの強化と、まったく新しい機能が導入されます。これにより、パートナー製品とのより深い統合と、お客様へのさらなる価値提供が可能になります。
新機能
-
UCSDK エンドポイント画面録画 (技術プレビュー): コンプライアンス録画における主要なギャップに対処するため、新しいUCSDK APIは、アプリケーションがVDI内で実行されている場合でも、エンドポイント上のコンテンツをキャプチャできるようになりました。現在Windowsエンドポイント向けにプレビュー中のこの機能により、テクノロジーベンダーはCitrixでのエンドポイント画面録画をサポートするようにアプリケーションを強化できます。この機能はベンダーアプリケーションの強化に焦点を当てており、Citrixセッション録画とは異なります。
-
セッション再接続処理: Bootstrapへの重要な機能強化により、ブラウザアプリケーションのエクスペリエンスが大幅に向上し、Electronベースのデスクトップアプリケーションのエクスペリエンスに近づきました。Bootstrapを使用するブラウザベースのアプリケーションは、Citrixセッションの切断を動的に処理できるようになり、エンドユーザーにシームレスなユーザーエクスペリエンスを提供します。
-
新しいメソッドのサポート: ICEギャザリングの再開と、
RTCConfigurationにおけるiceCandidatePoolSizeのサポートが追加されました。 -
エラー処理の改善とコンプライアンスの向上:
getUserMediaに関するWebRTC仕様への準拠が改善されました。エラー発生時にvoidではなく空のレポートを返すように、CitrixPeerConnection、RtpSender、およびRtpReceiverのgetStats()が改善されました。
UCSDK 4.1.0の完全互換バージョンには以下が含まれます。
-
シトリックス バーチャル アプリ アンド デスクトップ™ 2503
-
Citrix Workspace™ Windows用アプリ 2503
-
Citrix Workspace Mac用アプリ 2503
-
Citrix Workspace Linux用アプリ 2503
-
最新のChromeOS/HTML5リリース。
注記:
Citrixのお客様は、新しく導入された機能で達成できるユースケースがある場合、SDKをアップグレードするか、特定の機能のサポートを追加するためにテクノロジーベンダーに連絡することができます。
主な利点
Citrix UCSDKで最適化されたアプリケーションを使用すると、以下が期待できます。
-
プロセッサ負荷の高いメディアエンコーディング/デコーディングをCitrix Virtual Delivery Agent (VDA) からクライアントエンドポイントにオフロードすることで、メディア処理性能が向上し、エンドユーザーの全体的な応答性が高まります。
-
Citrix VDA の CPU および帯域幅の使用量を削減し、IT 部門がホストあたりより多くの同時ユーザーをサポートできるようにするとともに、企業が Citrix 仮想デスクトップの展開を費用対効果の高い方法で拡張できるようにします。
-
最適化されたエンドポイントがレガシー仮想デスクトップの寿命を延ばし、ホストインフラストラクチャの必要性を減らすことで、企業の総所有コストを削減し、設備投資と運用コストを長期的に削減します。
-
Windows、Mac、Linux、ChromeOS、および HTML5 エンドポイントプラットフォームをサポートします。
ユースケース
UCSDK は、WebRTC 標準に準拠するリアルタイム通信アプリケーションを最適化するために特別に構築されています。ここでは、UCSDK を使用できる、またはすでに使用している WebRTC ベースのアプリケーションの主要なシナリオと種類を紹介します。
-
Contact Center as a Service (CCaaS) / クラウドコンタクトセンタープラットフォーム: 主に複数のチャネルにわたる顧客とのやり取りを管理し、エージェントのワークフローを最適化します。
-
例: アマゾンコネクト、トゥイリオ、アバイアエクスペリエンスプラットフォーム、トークデスク、コンテンツグル
-
-
Unified Communications as a Service (UCaaS) / クラウドビジネスコミュニケーション: 音声、ビデオ、チームメッセージング、プレゼンスを統合し、包括的なビジネスコミュニケーションを実現します。
-
例: リングセントラル、8x8、インターメディア、アルカテル・ルーセント レインボー
-
-
Communications Platform as a Service (CPaaS): カスタムアプリケーションにリアルタイム通信機能を直接組み込むための API を提供します。
-
例: トゥイリオ、リボンコミュニケーションズ
-
-
エンタープライズビデオ会議およびコラボレーション: 高品質のビデオ会議、カンファレンス、高度なコラボレーション機能のための専用プラットフォーム。
-
例: Pexip
-
-
金融取引通信: 金融市場の独自の、高性能で、コンプライアンスに準拠した通信ニーズのために設計されています。
-
例: IPC Unigy
-
-
仮想学習およびトレーニングプラットフォーム: インタラクティブで高品質な仮想教室およびトレーニング体験のために設計されています。
-
例: ヴィテロ
-
Citrix UCSDKの基盤となるWebRTCにより、その最適化機能はWebRTCベースのあらゆる通信アプリケーションに拡張できます。これにより、WebRTCをリアルタイムインタラクションに利用する幅広いアプリケーションの最適化が可能になります。たとえそれらが現在UCSDKで最適化されているとリストされていなくてもです。お客様には、最適化を希望するユースケースやアプリケーションについてCitrixにお問い合わせいただくことをお勧めします。
UCSDKアーキテクチャ
UCSDKアーキテクチャ(/en-us/citrix-daas/media/ucsdk-architecture.png)
-
ベンダーアプリケーション: これは、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の最新バージョン(4.1.0)で必要となるCitrixコンポーネントのさまざまなバージョンを示しています。SDKの古いバージョンとの互換性の詳細および特定の機能要件については、以下のバージョンと機能マトリックス表を参照してください。
注:
お客様がUCSDKに追加された機能を使用するには、ベンダーアプリケーションが適切なUCSDKバージョンを統合し、その機能を有効にしていること、および環境で適切なVDAおよびCWAバージョンを使用していることを確認してください。
完全に互換性のあるバージョン
完全に互換性のあるバージョンとは、これらのCitrixコンポーネントのバージョンをUCSDKの最新バージョンと組み合わせて使用することで、お客様が利用可能なすべての機能を利用できることを示します。UCSDKの現在の最新バージョンである4.1.0の場合、Citrixコンポーネントの完全に互換性のあるバージョンは以下のとおりです。
-
シトリックス バーチャルアプリおよびデスクトップ: 2503
-
シトリックス ワークスペースアプリ Windows: 2503
-
シトリックス ワークスペース アプリ Mac版: 2503
-
シトリックス ワークスペース アプリ Linux版: 2503
-
Citrix Workspace App ChromeOS/HTML5: 最新バージョン
構成
UCSDKの機能は、ベンダーが統合したUCSDKのバージョンとベンダーが有効にした機能、Citrix Virtual Apps and Desktops、および使用中のCitrix Workspaceアプリのバージョンの3つの要因に依存します。
Citrix側では、最適化されたアプリケーションが最適化されることを許可するために、以下が構成されていることを確認してください。
-
Microsoft Teamsのリダイレクトポリシーがオンになっていることを確認してください。詳細については、マルチメディアポリシー設定を参照してください。このポリシーはデフォルトでオンになっています。
-
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 アプリ の製品ライフサイクルページを参照してください。多くの古い機能については、表に記載されているバージョンは、このドキュメントの作成時点での最終サポート対象の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 |
| ストリーム解像度 / サイマルキャスト | 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 |
注:
画面録画用の新しいポリシーを導入しました。そのため、CVAD 2503に付属するdelivery controller™のバージョン2503が必要です。
現在のベンダーサポート
複数のサードパーティベンダーが、Unified Communications SDKを自社製品に統合しています。現在のベンダーとそのサポートドキュメントのリストを以下に示します。
| ベンダー | ドキュメント |
|---|---|
| アマゾン コネクト | Citrixクラウドデスクトップ向けAmazon Connectオーディオの最適化 |
| リングセントラル | Citrix VDI環境でのRingCentralの使用 |
| ファイブナイン | Citrix環境におけるFive9 WebRTC |
| トゥイリオ | シトリックスVDI上でのTwilio Flex |
| アバイア | Citrix向けAvaya Experience Platform Public Cloud VDIソリューション |
| 8x8 | 8x8 Work for Desktop & WebとのシトリックスVDI統合 |
| コンテンツグル | コンテンツグルー シトリックス 統合 |
| リボンコミュニケーションズ | リボンコミュニケーションズ シトリックス WebRTC SDK |
| インターメディア | Citrix Virtual Apps and DesktopsへのIntermedia Uniteのインストール |
| アルカテル・ルーセント レインボー | Rainbowデスクトップアプリケーション向けCitrix最適化 |
| トークデスク | トークデスク エージェント ワークスペース VDI コネクト |
| IPC | IPC ユニジー ソフトクライアント シトリックス VDI |
| ヴィテロ | シトリックス VDI 用 ヴィテロ インスパイア |
| ペクシプ | Citrix Pexip Infinity DocsでのConnectデスクトップアプリの展開 |
トラブルシューティング
トラブルシューティング情報については、Citrix Unified Communications SDKで最適化されたアプリのトラブルシューティングガイダンスを参照してください。
既知の問題と制限事項
このセクションでは、認識され次第、現在の既知の問題と制限事項を文書化します。