Citrix Virtual Apps and Desktops

Microsoft Teamsの最適化

重要:

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

Citrixでは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のインストール

注:

ゴールデンイメージでTeamsをインストールする前に、VDAをインストールすることをお勧めします。このインストール順序は、ALLUSER=1フラグを有効にするために必要です。VDAをインストールする前に仮想マシンにTeamsがインストールされている場合は、Teamsをアンインストールして再インストールします。App Layeringを使用している場合は、このセクションの最後にある「App Layering」の手順を参照してください。

Microsoft Teamsのマシン全体のインストールガイドラインに記載のとおり、AppDataにTeamsをインストールする.exeインストーラーを使用しないことをお勧めします。代わりに、コマンドラインでALLUSER=1フラグを使用してC:\Program Files (x86)\Microsoft\Teamsにインストールします。

msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1

この例では、ALLUSERS=1パラメーターも使用します。このパラメーターを設定すると、Teamsのマシン全体のインストーラーが、そのコンピューターのすべてのユーザーのコントロールパネルにある [プログラムと機能] とWindows設定にある [アプリと機能] に表示されます。管理者の資格情報があれば、すべてのユーザーがTeamsをアンインストールできます。ALLUSERS=1ALLUSER=1の違いを理解することが重要です。ALLUSERS=1パラメーターは、非VDI環境とVDI環境で使用できます。マシンごとのインストールを指定するには、VDI環境でのみALLUSER=1パラメーターを使用します。

ALLUSER=1モードでは、Teamsアプリケーションのバージョンが新しくなるたびに自動更新されることはありません。非永続環境では、このモードの使用をお勧めします。たとえば、Windows ServerまたはWindows 10のランダム/プールカタログからホストされた共有アプリまたはデスクトップなどです。詳しくは、「MSIを使用してMicrosoft Teamsをインストールする」(VDIインストールセクション)を参照してください。

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

App Layeringの場合:

警告:

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

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\PortICA

または

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\PortICA

Profile Managementの推奨事項

Windows Server環境およびプールされたVDI Windows 10環境では、マシン全体のインストーラーを使用することをお勧めします。

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

マシン全体のインストーラー

以下は、Windows Server 2016 64ビット仮想マシンに、Teamsのマシン全体のインストーラーをインストールすることによって作成されるフォルダー、デスクトップショートカット、およびレジストリの例です:

フォルダー:

  • C:\Program Files (x86)\Microsoft\Teams
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

デスクトップのショートカット:

C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe

レジストリ:

  • HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run

推奨事項

  • Teamsのレジストリキーを削除して、自動起動を無効にすることをお勧めします。これにより、「午前8時にログオンが集中する」ことで仮想マシンのCPU消費量が急増するのを防ぐことができます。
  • 仮想デスクトップにGPUまたはvGPUがない場合は、Teamsの [設定][GPUハードウェアアクセラレーションを無効にする] を選択し、パフォーマンスを改善します。この設定("disableGpu":true)は、desktop-config.jsonファイル内の%Appdata%\Microsoft\Teamsに格納されます。ログオンスクリプトを使用してファイルを編集し、値をtrueに設定できます。
  • Citrix Workspace Environment Management(WEM)を使用している場合は、[CPUスパイク保護]を有効にして、Teamsのプロセッサ消費を管理します。

重要:

ALLUSER=1フラグを渡さない場合、MSIはTeams.exeインストーラーとsetup.jsonC:\Program Files (x86)\Teams Installerに配置します。 レジストリキー(TeamsMachineInstaller)が次の場所に追加されます: HKEY_LOCAL_MACHINE \SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

後続のユーザーログオンは、代わりにAppDataの最終インストールをトリガーします。

ユーザーごとのインストーラー

.exeインストーラーを使用すると、インストールプロセスが大幅に変更され、すべてのファイルがAppDataに配置されます。

フォルダー:

  • C:\Users\<username>\AppData\Local\Microsoft\Teams
  • C:\Users\<username>\AppData\Local\Microsoft\TeamsPresenceAddin
  • C:\Users\<username>\AppData\Local\Microsoft\TeamsMeetingAddin
  • C:\Users\<username>\AppData\Local\SquirrelTemp
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

デスクトップのショートカット:

C:\Users\<username>\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe"

レジストリ:

HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Run

ベストプラクティス

ベストプラクティスの推奨事項は、ユースケースのシナリオに基づいています。 非永続的な設定でTeamsを使用するには、Teamsランタイムのデータ同期を効率的に実行するために、プロファイルキャッシュマネージャーが必要です。プロファイルキャッシュマネージャーを使用すると、適切なユーザー固有の情報(ユーザーデータ、プロファイル、設定など)がユーザーセッション中に確実にキャッシュされます。次の2つのフォルダー内のデータを同期してください:

  • C:\Users\<username>\AppData\Local\Microsoft\IdentityCache
  • C:\Users\<username>\AppData\Roaming\Microsoft\Teams

非永続的な設定用のTeamsでキャッシュしたコンテンツ除外一覧:

次のアイテムをTeamsキャッシュフォルダー%AppData%/Microsoft/Teamsから除外します。これらのアイテムを除外すると、ユーザーキャッシュサイズを小さくして、非永続的な設定をさらに最適化できます。

除外の一覧 - ファイル

  • Roaming\Microsoft\Teams\* .txt

除外の一覧 - ディレクトリ

  • Roaming\Microsoft\Teams\Logs
  • Roaming\Microsoft\Teams\media-stack
  • Roaming\Microsoft\Teams\Service Worker\CacheStorage
  • Roaming\Microsoft\Teams\Application Cache
  • Roaming\Microsoft\Teams\Cache
  • Roaming\Microsoft\Teams\GPUCache
  • Roaming\Microsoft\Teams\meeting-addin\Cache(Outlookでアドインが見つからない問題のために重要)

ユースケース:シングルセッションシナリオ:

このシナリオでは、エンドユーザーは、一度に1つの場所でMicrosoft Teamsを使用します。2つの異なるWindowsセッションで同時にTeamsを実行する必要はありません。たとえば、共通の仮想デスクトップ展開では、各ユーザーが1つのデスクトップに割り当てられ、Teamsは1つのアプリケーションとして仮想デスクトップ内に展開されます。 Citrix Profileコンテナを有効にして、前述のユーザーごとのディレクトリをコンテナにリダイレクトすることをお勧めします。

  1. Microsoft Teamsのマシン全体のインストーラー(ALLUSER=1)をゴールデンイメージで展開します。
  2. Citrix Profile Managementを有効にし、適切な権限でユーザープロファイルストアを設定します。
  3. 次のProfile Managementポリシー設定を有効にします:[ファイルシステム] >[同期]>[プロファイルコンテナ - プロファイルディスクに含まれるフォルダー一覧]

    プロファイルの内容

    前述のすべてのフォルダーをこの構成にリストします。または、Citrix Workspace Environment Management(WEM)サービスを使用して、これらの設定を構成することもできます。

  4. 設定を適切なデリバリーグループに適用します。
  5. ログインして展開を検証します。

システム要件

推奨される最小バージョン - Delivery Controller(DDC)1906.2(以前のバージョンを使用している場合は、「Microsoft Teamsの最適化を有効にする」を参照してください):

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

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

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

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

  • Windows 10 64ビット版、バージョン1607以降。(VM Hosted Appはサポートされていません)。
  • Windows Server 2019、2016および2012 R2のStandardおよびDatacenterエディション

要件:

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

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

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

最小バージョン - Linux向けCitrix Workspaceアプリ2006:

詳しくは、Linux向けCitrix Workspaceアプリドキュメントの「Microsoft Teamsの最適化」を参照してください。

ソフトウェア:

  • GStreamer 1.0以降またはCairo 2
  • libc++-9.0以降
  • libgdk 3.22以降
  • OpenSSL 1.1.1d
  • x64 Linuxディストリビューション

ハードウェア:

  • 1.8GHz以上のデュアルCPUを搭載し、ピアツーピアのビデオ会議通話で720p HDの解像度に対応している。
  • デュアルまたはクアッドコアCPU、基本速度1.8GHzで、2.9GHz以上の高速Intel Turbo Boostを搭載している。

詳しくは、「Citrix Workspaceアプリをインストールする前提条件」を参照してください。

最小バージョン - Mac向けCitrix Workspaceアプリ2012:

サポートされるオペレーティングシステム

  • macOS Catalina(10.15)
  • テスト環境でのみmacOS Big Sur Beta 8。実稼働環境では使用しないでください。

サポートされる機能:

  • オーディオ
  • ビデオ
  • 画面共有の最適化(受信および送信)

ユーザーがCitrix Workspaceアプリ2012以降とmacOS 10.15を使用している場合、Teamsの最適化はデフォルトで機能します。

チームの最適化を無効にする場合は、ターミナルで次のコマンドを実行し、Workspaceアプリを再起動します:

defaults write com.citrix.receiver.nomas mtopEnabled -bool NO

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モードで読み取ってロードします。

注:

Studioで使用可能なポリシーがない古いControllerバージョン(たとえばバージョン7.15)でバージョン1906.2以上のVDAを使用している場合、そのVDAではMicrosoft TeamsのHDX最適化がデフォルトで有効になっているため、まだ最適化されていることがあります。

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

Citrix用に最適化されている凡例

代わりにCitrix HDX Not Connectedと表示される場合は、Citrix APIがTeamsに読み込まれますが(リダイレクトの最初のステップです)、スタックの後続の部分にエラーがありました。このエラーは、VDAサービスまたはCitrix Workspaceアプリで発生する可能性があります。

Citrix用に最適化されていない凡例

凡例が表示されない場合、TeamsでCitrix APIが読み込まれていません。通知領域のアイコンを右クリックしてTeamsを終了し、再起動します。Studioポリシーが [禁止] に設定されておらず、Citrix Workspaceアプリのバージョンがサポートされていることを確認します。

Citrixがない凡例

ネットワークの要件

Microsoft Teamsは、会議またはマルチパーティ通話でOffice 365のメディアプロセッササーバーに依存します。次のシナリオでMicrosoft Teamsは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)のオファー/アンサーを使用して、通話の確立プロセス中にこれらのコーデックをネゴシエートします。 Citrixのユーザーごとの最低推奨要件は次のとおりです:

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

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

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

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

Citrix Gateway

オンプレミスのCitrix GatewayまたはCitrix GatewayサービスがHDXプロキシとして存在しても、Microsoft Teamsの最適化には影響しません。これは、WorkspaceアプリとVDAの間にコマンドアンドコントロールの仮想チャネルしか確立されていないためです。

すべてのオーディオまたはビデオストリームは、ローカル処理のためにクライアントにオフロードされます。その結果、サーバー側でのレンダリングは行われません。

環境の構成に応じて、コマンドアンドコントロール仮想チャネルは、次のいずれかを使用してCitrix Gatewayを通過します。

  • TLSを使用したTCP
  • DTLSを使用したEDT

VPNにCitrix Gatewayも使用している場合は、クライアントマシンがO365 Microsoft Teamsサーバーに直接アクセスできるようにしてください。これは、分割トンネリングまたはその他の方法で実現できます。

プロキシサーバー

プロキシの場所に応じて、次のことを考慮してください:

  • VDAでのプロキシ構成:

    VDAで明示的なプロキシサーバーを構成し、プロキシ経由でローカルホストに接続をルーティングすると、リダイレクトは失敗します。プロキシを正しく構成するには、[インターネットオプション]>[接続]>[LANの設定]>[プロキシサーバー][ローカルアドレスにはプロキシサーバーを使用しない] を選択し、127.0.0.1:9002が確実にバイパスされるようにする必要があります。

    PACファイルを使用する場合、PACファイルのVDAプロキシ構成スクリプトはwss://127.0.0.1:9002に対してDIRECTを返す必要があります。そうでない場合、最適化は失敗します。このスクリプトがDIRECTを返すようにするには、shExpMatch(url, "wss://127.0.0.1:9002/*")を使用します。

  • Citrix Workspaceアプリでのプロキシ構成:

    ブランチオフィスがプロキシ経由でインターネットにアクセスするように構成されている場合、Windows向けCitrix Workspaceアプリバージョン2012(NegotiateまたはKerberos、NTLM、Basic、およびDigest)、Linux向けCitrix Workspaceアプリバージョン2101(匿名認証)、Mac向けのCitrix Workspaceアプリバージョン2104(匿名認証)は、プロキシサーバーをサポートします。クライアントデバイスで以前のリリースのCitrix Workspaceアプリを使用している場合、プロキシ構成を読み取ることができません。これらのデバイスは、トラフィックをOffice 365 TURNサーバーに直接送信します。

    重要:

    クライアントデバイスがDNSサーバーに接続してDNS解決を実行できることを確認します。クライアントデバイスは、Microsoft Teams TURNサーバーの3つのFQDNを解決できる必要があります:worldaz.turn.teams.microsoft.comusaz.turn.teams.microsoft.com、およびeuaz.turn.teams.microsoft.com

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

可能であれば、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, 52.120.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トレースを確認してください。

注:

エンドポイントにインターネットアクセスがない場合でも、同じ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ファイアウォール] コンソールの [受信規則] に追加されます。必要に応じて、より制限的な規則を適用できます。

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

Microsoft TeamsとSkype for Businessの共存

Microsoft TeamsとSkype for Businessを、機能が重複する2つの個別のソリューションとして並べて展開できます。詳しくは、「Microsoft TeamsとSkype for Businessの共存と相互運用性を理解する」を参照してください。

Citrix RealTime Optimization PackとTeamsマルチメディアエンジンのHDX最適化は、環境に設定されている構成をすべて尊重します(たとえば、アイランドモード、Skype for BusinessとTeamsのコラボレーション、Skype for BusinessとTeamsのコラボレーションおよび会議)。

周辺機器アクセス権限は、一度に1つのアプリケーションにのみ付与されます。たとえば、通話中にRealTime Media EngineがWebカメラにアクセスすると、通話の間、イメージデバイスがロックされます。デバイスがリリースされると、Teamsで使用できるようになります。

TeamsとSkypeの共存

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を使用して、Citrix SD-WANが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のギャラリービューとアクティブスピーカー

Microsoft Teamsは、[ギャラリー][大きいギャラリー]、および[集合モード] のレイアウトをサポートしています。

Microsoft Teamsは、4人の参加者のビデオストリームによる2x2グリッドを表示します(ギャラリーと呼ばれます)。この場合、Teamsはデコードのために4つの個別のビデオストリームをクライアントデバイスに送信します。ビデオを共有している参加者が4人を超える場合、最新の4人のうち最もアクティブなスピーカーのみが画面に表示されます。

Microsoft Teamsは、最大7x7のグリッドを表示する大きなギャラリービューも提供します。その結果、Teams会議サーバーは単一のビデオフィードを合成し、それをデコードのためにクライアントデバイスに送信するため、CPU消費量を抑えられます。この単一のマス目形式のフィードには、ユーザーのセルフプレビュービデオも含まれる場合があります。

最後に、Microsoft Teamsは、新しい会議エクスペリエンスの一部である集合モードをサポートしています。Teamsは、AIセグメンテーションテクノロジを使用して参加者を共有の背景にデジタルで配置し、すべての参加者を同じホールの客席に表示します。

ユーザーは、省略記号メニューで [ギャラリー][大きいギャラリー]、または [集合モード] のレイアウトを選択することにより、会議中にこれらのモードを制御できます。

ビデオレイアウト

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

注:

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

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

1つのスピーカーまたはマイクが通常の設定と一致しない場合でも、Teamsのデバイス列挙は失敗し、[設定]>[デバイス]なしが表示されます。 HdxTeams.exeWebrpcログはこのような情報を表示します:

Mar 27 20:58:22.885 webrtcapi.WebRTCEngine Info: init. initializing...

Mar 27 20:58:23.190 webrtcapi.WebRTCEngine Error: init. couldn't create audio module!

この問題を回避するには、サウンドコントロールパネル(mmsys.cpl)を開き、再生または録音デバイスを選択して、[プロパティ]>[詳細設定] でサポートされているモードに変更します。または、特定のデバイスを無効にします。

フォールバックモード

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

VDAで次のいずれかのレジストリDWORD値を設定することで、フォールバックメカニズムを細かく制御できるようになりました:

HKLM\SOFTWARE\Microsoft\Teams\DisableFallback

HKCU\SOFTWARE\Microsoft\Office\Teams\DisableFallback

フォールバックモードを無効にするには、値を1に設定します。オーディオのみを有効にするには、値を2に設定します。値がない、または0に設定されている場合、フォールバックモードが有効になります。この機能を使用するには、Teamsバージョン1.3.0.13565以降が必要です。

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

Microsoft Teamsの非最適化モード

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

既知の制限事項

Citrixの制限

Citrix Workspaceアプリでの制限:

  • DTMFトーンはサポートされていません。
  • HIDボタン - 応答と通話終了はサポートされていません。音量の増減はサポートされています。
  • マルチモニター環境で画面共有を行うと、メインモニターのみが共有されます。
  • 受信カメラまたは画面共有ストリームからのビデオストリームは1つしかサポートしません。受信画面共有がある場合、優先度の高いスピーカーのビデオではなく、画面共有が表示されます。
  • セカンダリ呼び出し( [Teams]>[設定]>[デバイス] )はサポートされていません。
  • Microsoft Teamsの管理センターのQoS(サービス品質)設定は、VDIユーザーには適用されません。
  • Citrix Workspaceアプリのアプリ保護アドオン機能は、発信画面共有を妨げます。
  • Teamsのズームインおよびズームアウト機能はサポートされていません。

VDAでの制限:

  • Citrix Workspaceアプリの高DPI設定を [はい] または [いいえ、ネイティブ解像度を使用します] に設定すると、モニターのDPIスケールファクターが100%を超えて設定された場合、リダイレクトされたビデオウィンドウがずれて表示されます。

Citrix WorkspaceアプリとVDAでの制限:

  • 発信画面共有:アプリケーション共有はサポートされていません。
  • 最適化された通話の音量は、VDAではなくクライアントマシンの音量バーでのみ制御できます。

Microsoftの制限

  • 背景をぼかしたりカスタマイズしたりするオプションはサポートされていません。
  • 3x3ギャラリービューはサポートされていません。Teamsの依存関係 - 3x3グリッドの実装予定については、Microsoftにお問い合わせください。
  • Skype for Businessとの相互運用性は音声通話に限定され、ビデオのモダリティはありません。
  • 受信および発信ビデオストリームの最大解像度は720pです。Teamsの依存関係 - 1080pの実装予定については、Microsoftにお問い合わせください。
  • PSTN通話の呼び出し音はサポートされていません。
  • ダイレクトルーティングのメディアバイパスはサポートされていません。

CitrixとMicrosoftの制限

  • 画面共有を行うと [システムオーディオを含める] オプションを使用できません。
  • ポップアウトチャット(マルチウィンドウチャットまたは新しい会議エクスペリエンスとも呼ばれます)はサポートされていません。
  • VDI参加者はブレークアウトルーム機能を使用できます。主催者がVDIユーザーの場合、Teamsはブレークアウトルームをサポートしません。
  • 制御を渡すまたは獲得する:デスクトップ画面共有またはアプリケーション共有セッション中はサポートされません。PowerPoint共有セッション中のみ、サポートされています。
  • E911およびロケーションベースルーティング(LBR)はサポートされていません。

EOL予定のMicrosoft Teamsシングルウィンドウ

2024年1月31日、MicrosoftはVDIでMicrosoft Teams最適化を使用した場合のシングルウィンドウUIに対するサポートを終了し、マルチウィンドウ エクスペリエンスのみをサポートします。Microsoftは、この機能廃止についてM365管理センターで2023年9月8日(投稿ID:MC674419)に発表しました。 マルチウィンドウ機能について公開された詳細情報については、Tech Communityの記事「New Meeting and Calling Experience in Microsoft Teams」を参照してください。

引き続きビデオと画面共有が最適化されたモードでMicrosoft Teamsを使用するには、VDAおよびCitrix Workspaceアプリをサポートされているバージョンにアップグレードする必要があります。マルチウィンドウをサポートするためにインフラストラクチャとエンドポイントをアップグレードしない場合は、音声通話のみを確立できます。最適化されたビデオおよび画面共有機能は使用できなくなります。

次の表は、Citrix VDI上のMicrosoft Teamsで最適化された通話を引き続き使用するために必要なVDAおよびCitrix Workspaceアプリの最小バージョン、LTSRバージョン、および推奨バージョンを示しています:

コンポーネント 最小バージョン LTSRでサポートされているバージョン 推奨バージョン
Microsoft Teams 1.5.00.11865 該当なし 最新バージョン
VDA 1912 CU6 LTSR、2112 CR 1912 CU7以降、2203 CU2以降 2308 CR以降
Windows向けCitrix Workspaceアプリ 2205 CR 2203 CU2以降 2309 CR以降
Mac向けCitrix Workspaceアプリ 2209 CR 該当なし 2308 CR以降
Linux向けCitrix Workspaceアプリ 2209 CR 該当なし 2308 CR以降
ChromeOSまたはHTML5向けCitrix Workspaceアプリ 2303 CR 該当なし 2309 CR以降

WebRTCによるSDP形式(Plan B)の廃止に関する情報

Citrixは、将来のリリースでWebRTCによる現在のSDP形式(Plan B)のサポートを廃止する予定です。最適化されたMicrosoft Teams機能をサポートするには、WebRTCでUnified Planを使用する必要があります。

影響を受ける製品

Citrix Workspaceアプリケーションの今後のリリースのいずれかでは、Citrix Workspaceアプリの次期リリースのエンドポイントとCitrix Workspaceアプリ2108以前のバージョンのエンドポイント間の通話はサポートされなくなります。互換性がなくなる通話には、1912 LTSR Citrix Workspaceアプリ クライアント (CWA) が含まれます。次のCitrix Workspaceアプリクライアントが影響を受けます:

  • Windows向けCitrix Workspaceアプリ
  • Linux向けCitrix Workspaceアプリ
  • Mac向けCitrix Workspaceアプリ
  • Chrome向けCitrix Workspaceアプリ

Plan Bを置き換える

2109よりも古いバージョンのCitrix Workspaceアプリを実行している場合は、サポートされているバージョン(可能であれば最新のCRリリース)にアップグレードする必要があります。そうしないと、将来のリリースまたは新しいエンドポイントで通話が接続できません。連携パートナーがCitrix Workspaceをアップグレードしていない場合、将来のリリースと連携通信パートナー間の通話も失敗する可能性があります。

Citrix Workspaceアプリバージョン2108のサポート期限は2023年3月に終了しているため、新しいバージョンにアップグレードする必要があります。詳しくは、WorkspaceアプリでCitrix Workspaceアプリのバージョンサポートの詳細を参照してください。

Plan Bの廃止について詳しくは、WebRTCのドキュメントを参照してください。

追加情報