Microsoft Teamsの最適化

重要:

Microsoft Teamsの最適化には、Microsoft Teamsバージョン1.2.00.31357以降が必要です。

シトリックスではCitrix Virtual Apps and DesktopsおよびCitrix Workspaceアプリを通じてデスクトップベースのMicrosoft Teamsの最適化を提供します。必要なコンポーネントはデフォルトでCitrix WorkspaceアプリとVirtual Delivery Agent(VDA)に付属しています。

Microsoft Teamsの最適化には、Microsoft Teamsのホストアプリとのインターフェイスとしてコマンドを受信する、VDA側のHDXサービスとAPIが含まれます。これらのコンポーネントによりCitrix Workspaceアプリ側のメディアエンジンにつながる制御用の仮想チャネル(CTXMTOP)が開かれます。エンドポイントではマルチメディアがローカルでデコーディングされ、レンダリングされます。リバースシームレスの仕組みにより、Citrix WorkspaceアプリのローカルウィンドウはホストされているMicrosoft Teamsアプリにスナップインとして渡されます。

認証とシグナリングは他のMicrosoft Teamsサービス(チャットやコラボレーションなど)と同様に、Microsoft Teamsがホストされているアプリでネイティブに行われます。これらのアプリはオーディオやビデオのリダイレクトによる影響を受けません。

CTXMTOPはコマンドであり、制御用の仮想チャネルです。つまり、Citrix WorkspaceアプリとVDAの間でメディアは交換されません。

クライアント側で取得/クライアント側でレンダリングのみを利用できます。

このデモ動画をご覧いただければMicrosoft TeamsがCitrixの仮想環境でどのように機能するのかがお分かりいただけると思います。

Microsoft Teamsの最適化のデモ

Microsoft Teamsのインストール

警告:

レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、オペレーティングシステムの再インストールが必要になる場合もあります。レジストリエディターの誤用による障害に対して、シトリックスでは一切責任を負いません。レジストリエディターは、お客様の責任と判断の範囲でご使用ください。また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。

Microsoft Teamsのマシン全体のインストールガイドラインどおり、AppdataにTeamsをインストールする.exeインストーラーの使用を回避することをお勧めします。代わりに、コマンドラインでALLUSER=1フラグを使用してC:\Program Files (x86)\Microsoft\Teamsにインストールします。このモードでは、Teamsアプリケーションのバージョンが新しくなるたびに自動更新されることはありません。非永続環境では、このモードの使用をお勧めします。詳しくは、「MSIを使用してMicrosoft Teamsをインストールする」(VDIインストールセクション)を参照してください。

専用の永続VDI環境がありTeamsアプリケーションが自動更新され、Appdata/LocalにユーザーごとにTeamsをインストールする場合、.exeインストーラーを使用するか、ALLUSER =1を設定せずにMSIを使用します。

Citrix App Layeringを使用してVDAとMicrosoft Teamsインストールを異なるレイヤーで管理する場合、ALLUSER =1でTeamsをインストールする前にWindowsで次のレジストリキーを使用します:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix

または

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix

PortICAという名前の空のレジストリキーを作成します(デフォルトの名前、種類、データはそのままにします)。

Profile Managementの推奨事項

コマンドラインでALLUSER =1フラグをMSIに渡すと、TeamsアプリはC:\Program Files(~300MB)にインストールされます。このアプリはログにAppData\Localを、ユーザー独自の構成、ユーザーインターフェイスの要素のキャッシュなどに AppData\Roaming\Microsoft\Teamsを使用します。

システム要件

最小バージョン - Delivery Controller(DDC)1906.2:

以下のオペレーティングシステムがサポートされています:

  • Windows Server 2019、2016、2012 R2のStandard Edition、Datacenter Edition、およびServer Coreオプション付き

最小バージョン - Virtual Delivery Agent(VDA)1906.2:

以下のオペレーティングシステムがサポートされています:

  • Windows 10 64ビット 最小バージョン1607からバージョン1903まで。
  • Windows Server 2019、2016および2012 R2のStandardおよびDatacenterエディション

要件:

  • BCR_x64.msi - Microsoft Teamsの最適化コードが格納されたMSIファイルです。自動的にGUIで起動します。VDAのインストールにコマンドラインインターフェイスを使用する場合は、このファイルを除外しないでください。

推奨バージョン - Windows向けCitrix Workspaceアプリ1911および最小バージョン - Windows向けCitrix Workspaceアプリ1907:

  • Windows 7、8、および10 32ビット版および64ビット版(Embeddedエディションを含む)
  • Windows 10 IoT Enterprise 2016 LTSB(v1607)および2019 LTSC(v1809)
  • エンドポイントの要件:2.1~2.4GHz程度のデュアルCPUを搭載し、ピアツーピアのビデオ会議通話で720p HDの解像度に対応していること。
  • デュアルまたはクアッドコアCPU、低い基本速度(~1.5GHz)でIntel Turbo BoostまたはAMD Turbo Coreを搭載し、少なくとも2.4GHzまでブーストできる。
  • 検証済みのHPシンクライアント: t630/t640、t730/t740、mt45。
  • 検証済みのDellシンクライアント:5070、5470モバイルTC。
  • 検証済みエンドポイントの完全な一覧については、「シンクライアント」を参照してください。
  • Citrix Workspaceアプリでは、少なくとも600MBのディスクスペースと1GBのRAMが必要です。
  • Microsoft .NET Frameworkの最小要件はバージョン4.6.2です。システムに.NET Frameworkが導入されていない場合は、Citrix Workspaceアプリにより自動的にダウンロードとインストールが行われます。

Microsoft Teamsの最適化を有効にする

Microsoft Teamsの最適化を有効にするには、「Microsoft Teamsのリダイレクトポリシー」で説明されているStudio用ポリシーを使用します(デフォルトはONです)。HDXはこのポリシーが有効になっていることと、Citrix Workspaceアプリのバージョンが最低限必要とされるバージョンよりも新しいことを確認します。ポリシーが有効でCitrix Workspaceアプリがサポート対象のバージョンである場合は、VDAでレジストリキーHKEY_CURRENT_USER\Software\Citrix\HDXMediaStream\MSTeamsRedirSupportの値が1に自動的に設定されます。Microsoft TeamsアプリケーションはこのレジストリキーをVDIモードで読み取ってロードします。

[バージョン情報] をクリックすると、Optimized for Citrixと表示されます:

Optimized for Citrixの表示

Optimized for Citrixが表示されない場合、システムトレイのアイコンを右クリックしてTeamsを終了し、再起動します。

ネットワークの要件

Microsoft Teamsは、会議またはマルチパーティ通話でOffice 365のメディアプロセッササーバーに依存します。次のシナリオでOffice 365トランスポートリレーに依存します:

  • ピアツーピア通話の2つのピアが直接接続できない。
  • 参加者がメディアプロセッサに直接接続できない。

そのため、ピアとOffice 365クラウドの間のネットワークの状態が通話のパフォーマンスを左右します。

環境を評価し、クラウド全体のオーディオおよびビデオ環境に影響を与える可能性のあるリスクと要件を特定することをお勧めします。 Skype for Businessネットワーク評価ツールを使用して、ネットワークがMicrosoft Teamsに対応できるかどうかをテストします。サポート情報については、「サポート」セクションを参照してください。

リアルタイムプロトコル(RTP)トラフィックに関する主要なネットワーク推奨事項の要約:

  • 可能な限り支社から直接Office 365ネットワークに接続します。
  • 支社で次のいずれかを使用する必要がある場合は、RTP/UDPのTeamsトラフィックが妨げられないことを確認してください。HdxTeams.exeは、エンドポイントで構成された明示的なプロキシを適用しません。
    • プロキシサーバーのバイパス
    • ネットワークのSSLインターセプト
    • ディープパケットインスペクションデバイス
    • VPNヘアピン(可能な場合は分割トンネリングを使用)
  • 十分な帯域幅を計画して提供します。
  • 各支社のネットワークの接続性と品質について確認してください。

Workspaceアプリ(HdxTeams.exe)のWebRTCメディアエンジンは、クライアントにオフロードされるマルチメディアストリームのSecure Real-time Transport Protocol(SRTP)を使用します。SRTPは、対称キー(128ビット)を使用してメディアを暗号化しメッセージを制御することにより、RTPに機密性と認証を提供し、カウンターモードでAES暗号化を使用します。

ポジティブなユーザーエクスペリエンスを保証するために、次の測定基準をお勧めします:

測定基準 エンドポイントからOffice 365
遅延(片道) 50ミリ秒未満
遅延(RTT) 100ミリ秒未満
パケット損失 15秒間隔で1%未満
パケット到着間ジッタ― 15秒間隔で30ミリ秒未満

詳しくは、「Microsoft Teams用に組織のネットワークを準備する」を参照してください。

帯域幅の要件に関して、Microsoft Teams用の最適化では、オーディオ(OPUS/G.722/PCM G711)およびビデオ(H264/VP9)用にさまざまなコーデックを使用できます。

ピアは、セッション記述プロトコル(SDP)のオファー/アンサーを使用して、通話の確立プロセス中にこれらのコーデックをネゴシエートします。 シトリックスの最低推奨要件は次のとおりです:

種類 帯域幅 コーデック
オーディオ(片道) 最大90kbps G.722
オーディオ(片道) 最大60kbps オーパス*
ビデオ(片道) 最大700kbps H264 360p @ 30 fps 16:9
ビデオ(片道) 最大2500kbps VP9 720p @ 30 fps 16:9
画面共有 最大300kbps H264 1080p @ 15 fps

* Opusは、6kbps〜510kbpsの固定および可変ビットレートのエンコードをサポートしています。

OpusおよびVP9は、最適化された2 VDIユーザー間のピアツーピア通話の優先コーデックです。

G.722およびH264は、会議に参加するVDIユーザーに推奨されるコーデックです。

通話の確立とメディアフローパス

可能であれば、Citrix WorkspaceアプリのHDXメディアエンジン(HdxTeams.exe)が、ピアツーピア通話でユーザーデータグラムプロトコル(UDP)上で直接ネットワークSecure Real-time Transport Protocol(SRTP)接続を確立しようとします。UDPポートがブロックされている場合、メディアエンジンはTCP 443にフォールバックします。

HDXメディアエンジンは、ICE、Session Traversal Utilities for NAT(STUN)、Traversal Using Relays around NAT(TURN)をサポートして、候補の検出と接続の確立を行います。

2つのピア間、またはピアと会議サーバーの間に直接のパスがない(ユーザーがマルチパーティ通話または会議に参加している)場合、HdxTeams.exeはOffice 365のMicrosoft Teamsトランスポートリレーサーバーを使用して、他のピアまたは(会議がホストされている)メディアプロセッサにアクセスします。ユーザーのクライアントマシンは、2つのOffice 365サブネットIPアドレス範囲と4つのUDPポートにアクセスできる必要があります。詳しくは、下の「通話のセットアップ」セクションのアーキテクチャ図と「Office 365のURLとIPアドレスの範囲ID 11」を参照してください。

ID カテゴリ アドレス ターゲットポート
11 最適化が必要 13.107.64.0/18, 52.112.0.0/14 UDP: 3478、3479、3480、3481、TCP: 443(フォールバック)

これらの範囲には、トランスポートリレーとメディアプロセッサの両方が含まれます。 Teamsトランスポートリレーは、STUNおよびTURN機能を提供しますが、ICEエンドポイントではありません。また、Teamsトランスポートリレーはメディアを終了せず、トランスコード処理も実行しません。他のピアまたはメディアプロセッサにトラフィックを転送するときに、TCP(HdxTeams.exeがTCPを使用している場合)をUDPに中継できます。

HdxTeams.exeは、Office 365クラウド内の最も近いMicrosoft Teamsトランスポートリレーと通信します。HdxTeams.exeは、エニーキャストIPとポート3478〜3481 UDP(ワークロードごとに異なるUDPポート、多重化によって発生する場合あり)またはフォールバックに443 TCP TLSv1.2を使用します。通話品質は、基盤となるネットワークプロトコルによって異なります。UDPは常にTCPよりも推奨されるため、支社のUDPトラフィックに対応するようネットワークを設計することをお勧めします。

Teamsが最適化モードで読み込まれ、HdxTeams.exeがエンドポイントで実行されている場合、対話型接続確立(ICE)の失敗により、通話のセットアップエラーが発生するか、オーディオ/ビデオが一方通行になります。通話を完了できない場合、またはメディアストリームが全二重でない場合は、最初にエンドポイントのWiresharkトレースを確認してください。ICE候補の収集プロセスについて詳しくは、「サポート」セクションの「ログの収集」を参照してください。

注:

エンドポイントにインターネットアクセスがない場合でも、同じLAN上でピアツーピア通話ができる可能性があります。会議は失敗します。この場合、通話のセットアップが始まる前に30秒のタイムアウトがあります。

通話のセットアップ

このアーキテクチャ図は、通知フローシーケンスの視覚的なリファレンスとして使用します。対応する手順が図に示されています。

アーキテクチャ:

Microsoft Teamsの最適化のしくみ

  1. Microsoft Teamsを起動します。
  2. TeamsがO365に対する認証を行います。テナントポリシーがTeamsクライアントにプッシュダウンされ、関連するTURNおよびシグナリングチャネル情報がアプリに中継されます。
  3. TeamsはVDAで実行されていることを検出し、Citrix JavaScript APIへのAPI呼び出しを行います。
  4. Teams内のCitrix JavaScriptは、VDA上で実行されているWebSocketService.exeへのセキュアなWebSocket接続を開き(127.0.0. 1:9002)、ユーザーセッション内で実行されるWebSocketAgent.exeを起動します。
  5. WebSocketAgent.exeは、Citrix HDX Teamsリダイレクトサービス(CtxSvcHost.exe)を呼び出すことによって、汎用仮想チャネルをインスタンス化します。
  6. Citrix Workspaceアプリのwfica32.exe(HDXエンジン)は、Teamsの最適化に使用される新しいWebRTCエンジンであるHdxTeams.exeという新しいプロセスを生成します。
  7. HdxTeams.exeとTeams.exeは、双方向仮想チャネルパスを持ち、マルチメディア要求の処理を開始できます。

    —–ユーザー呼び出し——

  8. ピアA呼び出し ボタンをクリックします。Teams.exeはOffice 365のTeamsサービスと通信し、ピアBとのエンドツーエンドのシグナリングパスを確立します。Teamsは、サポートされている一連の呼び出しパラメーター(コーデック、解像度など、セッション記述プロトコル(SDP)サービスとして知られています)をHdxTeamsに要求します。これらの呼び出しパラメーターは、Office 365のTeamsサービスへのシグナリングパスを使用して、そこから他のピアに中継されます。
  9. SDPオファーまたは応答(シングルパスネゴシエーション)はシグナリングチャネル経由で実行され、対話型接続確立(ICE)接続チェック(Session Traversal Utilities for NAT(STUN)バインド要求を使用したNATおよびファイアウォールトラバーサル)が完了します。次に、Secure Real-time Transport Protocol(SRTP)メディアは、HdxTeams.exeと他のピア(または会議の場合はOffice 365会議サーバー)の間で直接やり取りされます。

Microsoft電話システム

電話システムは、Microsoft Teamsを使用してOffice 365クラウドで通話制御機能および構内交換 (PBX) 機能を有効にできるMicrosoftのテクノロジです。Microsoft Teamsの最適化は、Office 365通話プランまたはダイレクトルーティングを使用する電話システムをサポートします。ダイレクトルーティングを使用すると、オンプレミスのソフトウェアを追加しなくても、サポートされている独自のセッションボーダーコントローラーをMicrosoft電話システムに直接接続できます。

ファイアウォールについての考慮事項

ユーザーが初めてMicrosoft Teamsクライアントを使用して最適化された呼び出しを開始すると、Windowsファイアウォール設定の警告が表示される場合があります。この警告は、HdxTeams.exe(HDX Overlay Teams)の通信を許可するようユーザーに求めます。

ファイアウォールの警告

以下の4つのエントリが [セキュリティが強化されたWindows Defenderファイアウォール] コンソールの [受信規則] に追加されます必要に応じて、より制限的な規則を適用できます。

ファイアウォールの受信規則

Citrix SD-WAN:Microsoft Teams向けに最適化されたネットワーク接続

オーディオとビデオの最適な品質には、Office 365クラウドへのネットワーク接続で低遅延、低ジッター、低パケット損失が必要です。Citrix Workspaceアプリユーザーによる支社からデータセンターへのMicrosoft Teams音声ビデオRTPトラフィックのバックホールで追加の遅延が発生し、WANリンクの輻輳が発生することがあります。Citrix SD-WANはMicrosoft Office 365ネットワーク接続の原則に従って、Microsoft Teamsの接続を最適化します。Microsoft RESTベースのOffice 365 IPアドレスとWebサービス、および近接DNSにより、Microsoft Teamsトラフィックを識別、分類、および誘導します。

多くの地域のビジネス用ブロードバンドインターネット接続は、断続的なパケット損失、過度のジッター期間、停止に悩まされています。

Citrix SD-WANは、ネットワークの状態がさまざまに異なる場合、または低下している場合、Microsoft Teamsのオーディオ/ビデオ品質を保持する2つのソリューションを提供します。

  • Microsoft Azureを使用している場合、Azure VNETで導入されたCitrix SD-WAN仮想アプライアンス(VPX)は、高度な接続の最適化を提供します。これらの最適化には、シームレスなリンクフェールオーバーとオーディオパケットトレースが含まれます。
  • または、Citrix SD-WANのお客様はCitrix Cloud Directサービスを介してOffice 365に接続できます。このサービスは、すべてのインターネットのトラフィックに信頼できる安全な配信を提供します。

支社のインターネット接続の品質が問題にならない場合は、Microsoft TeamsトラフィックをCitrix SD-WANブランチアプライアンスから最も近いOffice 365フロントドアに直接誘導し、遅延を最小限に抑えることができます。詳しくは、「Citrix SD-WAN Office 365の最適化」を参照してください。

Citrix SD-WAN

Microsoft Teamsのギャラリービューとアクティブスピーカー

会議またはグループ通話では、単一の受信ビデオストリームのみがサポートされます。ビデオを送信する参加者が複数いる場合、常に主要なスピーカーのビデオのみが表示されます。アクティブなスピーカーが検出されてからビデオフィードが表示されるまでの間に、1、2秒の遅延が発生することがあります。

Microsoft Teamsの画面共有

Microsoft Teamsは、H264のようなビデオコーデックで共有されているデスクトップを効果的にエンコードし高画質ストリームを作成する、ビデオベースの画面共有(VBSS)に依存しています。HDX最適化により、受信画面共有はビデオストリームとして扱われます。したがって、ビデオ通話の最中に他のピアがデスクトップの共有を開始すると、元のカメラのビデオフィードが一時停止され、代わりに画面共有のビデオフィードが表示されます。その後、このピアは手動でカメラ共有を再開する必要があります。

重要:

画面共有は、音声通話またはビデオ通話がアクティブな場合にのみ使用でき、音声やビデオがないチャットウィンドウから直接使用することはできません。

送信画面の共有も最適化され、Citrix Workspaceアプリ(バージョン1907以降)にオフロードされます。この場合、HdxTeams.exeは、Citrix Desktop Viewer(CDViewer.exe)ウィンドウのみをキャプチャして送信します。クライアントマシンで実行されているローカルアプリケーションを共有する場合は、CDViewerにオーバーレイとして適用することができ、それもキャプチャされます。

マルチモニター:CDViewerが全画面モードでマルチモニターにまたがっている場合、プライマリモニターのみが共有されます。ユーザーは、仮想デスクトップ内の目的のアプリケーションを、通話中の他のピアのプライマリモニターにドラッグして表示する必要があります。

画面共有

注:

Teamsをスタンドアロンのシームレスアプリケーションとして公開している場合、画面共有は、Citrix Workspaceアプリのバージョン1909以降で物理エンドポイントのローカルデスクトップをキャプチャします。

Microsoft Teamsの周辺機器

Microsoft Teamsの最適化がアクティブな場合、Citrix Workspaceアプリは周辺機器に(ヘッドセット、マイク、カメラ、スピーカーなど)アプリにアクセスします。その後、周辺機器はMicrosoft Teams UIに正しく列挙されます(設定 > デバイス)。

Microsoft Teamsの最適化モード

Microsoft Teamsはデバイスに直接アクセスしません。メディアの取得、キャプチャ、処理には、代わりにHdxTeams.exeが使用されます。Microsoft Teamsでは、ユーザーが選択できるデバイスが一覧表示されます。

推奨事項:

  • エコーキャンセルが内蔵されたMicrosoft Teams認定ヘッドセット。マイクとスピーカーが別のデバイスにある複数周辺機器のセットアップでは、エコーが発生する可能性があります。これは、マイクがWebカメラに内蔵されており、スピーカーがモニターに搭載されている場合などです。外部スピーカーを使用する場合は、マイクと、マイクに音を屈折させる可能性のある面から可能な限り離れた場所に配置します。
  • Skype for Business認定周辺機器はMicrosoft Teamsと互換性がありますが、Microsoft Teams認定カメラ
  • HdxTeams.exeは、オンボードH.264エンコーディング-UVC 1.1および1.5を実行するWebカメラでCPUオフロードを利用できません。

注:

HdxTeams.exeは、特定のオーディオデバイス形式(チャネル、ビット深度、サンプルレート)のみをサポートします:

  • 再生デバイス:最大2チャネル、16ビット、最大48000Hzの周波数
  • 録音デバイス:最大3チャネル、16ビット、最大48000Hzの周波数

1つのスピーカーまたはマイクが通常の設定と一致しない場合でも、Teamsのデバイス列挙は失敗し、[設定]>[デバイス]なしが表示されます。 この問題を回避するには、サウンドコントロールパネル(mmsys.cpl)を開き、再生または録音デバイスを選択して、[プロパティ]>[詳細設定] でサポートされているモードに変更します。または、特定のデバイスを無効にします。

HDXテクノロジは、周辺機器のマッピングに次のいずれかの方法を使用できます:

  • Microsoft Teamsの最適化(推奨モード)
  • 最適化されたVDIモードでMicrosoft Teamsが読み込めない場合、VDAは、Webカメラリダイレクトやクライアントのオーディオとマイクのリダイレクトのような従来のHDXテクノロジを使用します。非最適化モードでは、周辺機器がVDAにマップされます。周辺機器は、Microsoft Teamsアプリには仮想デスクトップにローカルで接続されているように表示されます。

    Teamsの [設定]>[デバイス] タブで最適化モードになっているかどうかを判断する場合、わかりやすい違いはカメラ名です。Microsoft Teamsが非最適化モードで読み込まれた場合、従来のHDXテクノロジが起動します。以下の画像のように、Webカメラ名の冒頭にはCitrix HDXが表示されます。スピーカーとマイクのデバイス名は、最適化モードと比べてわずかに異なる(または省略される)場合があります。

Microsoft Teamsの非最適化モード

従来のHDXテクノロジを使用する場合、Microsoft Teamsはオーディオ、ビデオ、および画面共有処理をエンドポイントのCitrix WorkspaceアプリWebRTCメディアエンジンにオフロードしません。代わりに、HDXテクノロジでサーバー側でのレンダリングが使用されます。ビデオをオンにすると、VDAのCPU消費量が高くなることが予想されます。リアルタイムのオーディオパフォーマンスは最適ではない場合があります。

既知の制限事項

  • ギャラリービュー - アクティブスピーカーのみ。
  • HIDボタン - 応答と通話終了はサポートされていません。音量の増減はサポートされています。
  • 通話中に [設定]>[デバイス] で周辺機器の入力または出力を切り替えると、通話の途中で1秒のオーディオの乱れが発生する場合があります。
  • マルチモニター環境で画面共有を行うと、メインモニターのみが共有されます。
  • Skype for Businessとの相互運用性は音声通話に限定され、ビデオのモダリティはありません。
  • テレフォニーシステムでのDual Tone Multi Frequency(DTMF)の使用はサポートしていません。
  • 受信および発信ビデオストリームの最大解像度は720pです。
  • 受信カメラまたは画面共有ストリームからのビデオストリームは1つしかサポートしません。受信画面共有がある場合、優先度の高いスピーカーのビデオではなく、画面共有が表示されます。
  • 発信画面共有:アプリケーション共有はサポートされていません。
  • 制御を渡すまたは獲得する:
    • 画面共有またはアプリケーション共有セッション中はサポートされていません。
    • PowerPoint共有セッション中はサポートされています。

Teamsの監視

このセクションでは、HDXによるMicrosoft Teamsの最適化を監視するためのガイドラインを提供します。 ユーザーが最適化モードで実行していて、HdxTeams.exeがクライアントマシンで実行されている場合、VDAにはセッションで実行されているWebSocketAgent.exeというプロセスがあります。Directorで [アクティビティマネージャー] を使用してアプリケーションを表示します。

アクティビティマネージャーのTeamsの監視

VDAバージョン1912以降では、Citrix HDX Monitor(最小バージョン3.11)を使用してアクティブなTeams通話を監視できます。Citrix Virtual Apps and Desktops製品のISOには、フォルダーlayout\image-full\Support\HDX Monitorに最新のhdxmonitor.msiが含まれます。

詳しくは、Knowledge CenterCTX253754Monitoringを参照してください。

トラブルシューティング

このセクションでは、Microsoft Teamsの最適化を実施する際に想定される問題に対処するためのヒントを提供します。 詳しくは、CTX253754を参照してください。

Virtual Delivery Agentの状態

BCR_x64.msi.により4つのサービスがインストールされています。そのうちの2つが、VDAでのMicrosoft Teamsのリダイレクトを担当します。

ブラウザーコンテンツのリダイレクトによりインストールされる4つのサービス

  • Citrix HDX TeamsリダイレクトサービスはMicrosoft Teamsが使用する仮想チャネルを確立します。このサービスはCtxSvcHost.exeに依存します。

  • Citrix HDX HTML 5ビデオリダイレクトサービスはWebSocketService.exeとして実行され、127.0.0.1のTCPポート9002をリッスンします。WebSocketService.exeには主に2つの機能があります。

    i. Microsoft Teamsアプリのコンポーネントとして組み込まれているvdiCitrixPeerConnection.jsからWebSocketのセキュリティを確保するTLSターミネーションに対して、安全なWebSocket接続が渡されます。この接続はプロセスモニターで追跡可能です。証明書の詳細については、「ControllerとVDAの間の通信」の「TLSおよびHTML5ビデオリダイレクション、およびブラウザーコンテンツリダイレクト」を参照してください。

    一部のウィルス対策ソフトウェアおよびデスクトップセキュリティソフトウェアは、WebSocketService.exeおよびその証明書の適切な動作を妨げます。実際のサービス(Citrix HDX HTML5ビデオリダイレクト)は、services.mscコンソールで動作している可能性がありますが、localhost 127.0.0.1:9002 TCPソケットがnetstatで表示されるようにリスニングモードになることはありません。サービスを再起動しようとすると、サービスがハングします(「停止しています…」)。WebScoketService.exeプロセスで適切な除外を適用するようにしてください。

    プロセスモニター

    ii.ユーザーセッションのマッピング。Microsoft Teamsアプリケーションが起動すると、WebSocketService.exeはVDAのユーザーセッションでWebSocketAgent.exeプロセスを起動します。WebSocketService.exeはLocalSystemアカウントの動作として、セッション0で実行されます。

    WebSocketAgent.exeサービス

    netstatを使用して、WebSocketService.exeサービスがVDAでアクティブなリッスン状態であるかどうかを確認できます。

    管理者特権でのコマンドプロンプトウィンドウからnetstat -anob -p tcpを実行します:

    netstatの実行の例

    接続が成功すると、状態がESTABLISHEDに変わります:

    成功したnetstatの例

重要:

WebSocketService.exeは127.0.0.1:9001と127.0.0.1:9002の2つのTCPソケットでリッスンします。ポート9001はブラウザーコンテンツのリダイレクトとHTML5ビデオのリダイレクトに、ポート9002はMicrosoft Teamsのリダイレクトにそれぞれ使用されます。VDAのWindows OSに、Teams.exeとWebSocketService.exeの間の直接通信を妨げる可能性があるプロキシ構成がないことを確認してください。Internet Explorer 11([インターネットオプション]>[接続]>[LAN設定]>[プロキシサーバー])で明示的なプロキシを構成すると、接続は割り当てられたプロキシサーバーを経由する場合があります。手動および明示的なプロキシ設定を使用する場合、[ローカルアドレスではプロキシサーバーを使用しない] がオンになっていることを確認します。

サービスの場所と説明

サービス 実行可能ファイルのパス ログオン名 説明
Citrix HTML5ビデオリダイレクトサービス “C:\Program Files (x86)\Citrix\System32\WebSocketService.exe” /service ローカルシステムアカウント 仮想デスクトップとエンドポイントデバイス間でメディアのリダイレクトを実行する場合に必要な、複数のHDXマルチメディアサービスの初期のフレームワークを提供します。
Citrix HDXブラウザーリダイレクトサービス “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g BrowserRedirSvcs 使用アカウント(ローカルサービス) エンドポイントデバイスと仮想デスクトップ間でWebブラウザーコンテンツのリダイレクトを実行します。
Citrixポート フォワーディングサービス “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g PortFwdSvcs 使用アカウント(ローカルサービス) エンドポイントデバイスと仮想デスクトップ間でWebブラウザーコンテンツのリダイレクトのポート フォワーディングを実行します。
Citrix HDX Teamsリダイレクトサービス “C:\Program Files (x86)\Citrix\System32\CtxSvcHost.exe” -g TeamsSvcs ローカルシステムアカウント エンドポイントデバイスと仮想デスクトップ間でMicrosoft Teamsのリダイレクトを実行します。

Citrix Workspaceアプリ

Windows向けCitrix Workspaceアプリは、ユーザーのエンドポイント上でHdxTeams.exeという名前の新しいサービスをインスタンス化します。これは、Microsoft TeamsがVDAで起動し、ユーザーがセルフプレビューで周辺機器の呼び出しやアクセスを試みたときに行われます。このサービスが表示されない場合は、次の点を確認してください:

  1. Windows向けWorkspaceアプリのバージョン1905以上がインストールされていることを確認します。WorkspaceアプリのインストールパスにHdxTeams.exeとwebrpc.dllバイナリがあるかを確認します
  2. 手順1の確認ができたら、次の手順を実行してHdxTeams.exeが起動するかを確認してください。
    1. VDAでMicrosoft Teamsを終了します。
    2. VDAでservices.mscを起動します。
    3. Citrix HDX Teamsリダイレクトサービスを停止します。
    4. ICAセッションを切断します。
    5. ICAセッションを接続します。
    6. Citrix HDXチームリダイレクトサービスを起動します。
    7. Citrix HDX HTML5ビデオリダイレクトサービスを再起動します。
    8. VDAでMicrosoft Teamsを起動します。
  3. これでもクライアントエンドポイントでHdxTeams.exeが起動しない場合は、次の手順を実行してください:
    1. VDAを再起動します。
    2. クライアントエンドポイントを再起動します。

サポート

シトリックスとMicrosoftはCitrix Virtual Apps and DesktopsでのMicrosoft Teamsの提供について、Microsoft Teamsの最適化を通じて共同でサポートしています。この共同サポートは両社の緊密な協力関係により実現したものです。サポート契約の有効期間にこのソリューションで問題が発生した場合は、原因と考えられるコードの担当ベンダーのサポートチケットを開いてください。つまりTeamsの場合はMicrosoftの、最適化コンポーネントの場合はシトリックスのサポートチケットを開きます。

シトリックまたはMicrosoftはチケットを受け取ると問題の優先度を判断し、必要に応じてエスカレーションします。管理者が各社のサポートチームに連絡する必要はありません。

問題がある場合は、Teams UIの [Help]>[Report a Problem] にアクセスすることをお勧めします。VDA側のログはCitrixとMicrosoftの間で自動的に共有されるため、技術的な問題をより迅速に解決できます。

ログの収集

HDXTeams.exeログは、ユーザーのマシンの%TEMP%にあるHDXTeamsフォルダー(AppData/Local/Temp)内にあります。「webrpc_Day_Month_timestamp_Year.txt」という名称の.txtファイルを探します。

通話を確立する場合、次の4つのICEフェーズが必要です:

  • 候補の収集
  • 候補の交換
  • 接続性チェック(STUNバインド要求)
  • 候補のプロモーション

HdxTeams.exeログでは、以下のエントリが関連の対話型接続確立(ICE)エントリです。通知のセットアップを成功させるには、次のエントリが必要です(収集段階に関するこのサンプルスニペットを参照):

RPCStubs Info: -> device id = \\?\display#int3470#4&1835d135&0&uid13424#{65e8773d-8f56-11d0-a3b9-00a0c9223196}{bf89b5a5-61f7-4127-a279-e187013d7caf} label = Microsoft Camera Front groupId =

webrtcapi.RTCPeerConnection Info: createOffer. audio = 1 video = 1
webrtcapi.RTCPeerConnection Info: setLocalDescription.
>>> begin:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnSignalingChange. signaling state = HaveLocalOffer

webrtcapi.RTCPeerConnection Info: OnIceGatheringChange. state = Gathering

[…]
>>> begin:sdp
candidate:840548147 1 udp 2122194687 10.108.124.215 56927 typ host generation 0 ufrag oVk6 network-id 1
<<< end:sdp
[…]
>>> begin:sdp
candidate:1938109490 1 udp 24911871 52.114.xxx.xxx 52786 typ relay raddr 73.205.xxx.x rport 25651 generation 0 ufrag dDML network-id 1 network-cost 10
<<< end:sdp
[…]
>>> begin:sdp
candidate:4271145120 1 udp 1685987071 66.xxx.xxx.xxx 55839 typ srflx raddr 10.108.124.215 rport 55839 generation 0 ufrag uAVH network-id 1
<<< end:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnIceGatheringChange. state = Complete webrtcapi.RTCPeerConnection Info: setRemoteDescription.
>>> begin:sdp
[…]

webrtcapi.RTCPeerConnection Info: OnSignalingChange. signaling state = HaveRemotelOffer

複数のICE候補がある場合、優先順位は次のとおりです:

  1. host
  2. peer reflexive
  3. server reflexive
  4. transport relay

問題が発生し、一貫して再現できる場合は、Teamsで [Help]>[Report a problem] にアクセスすることをお勧めします。Microsoftでケースを開いた場合の技術的な問題を解決するために、CitrixとMicrosoftの間でログが共有されます。 シトリックスサポートに連絡する前にCDFトレースをキャプチャすることもお勧めします。詳しくは、Knowledge CenterのCDFcontrolを参照してください。

CDFトレースを収集する際の推奨事項については、Knowledge Centerの記事(Recommendations for Collecting the CDF Traces)を参照してください。

VDA側のCDFトレース - 次のCDFトレースプロバイダーを有効にします:

VDA側のCDFトレース

Workspaceアプリ側のCDFトレース - 次のCDFトレースプロバイダーを有効にします:

Workspaceアプリ側のCDFトレース