Citrix Virtual Apps and Desktops

Microsoft Teamsの最適化

重要:

Windows 2009.6およびLinux 2009向けのWorkspaceアプリのWebRTCメディアエンジンの名前が、HdxTeams.exeからHdxRtcEngine.exeに変更されました。

CitrixではCitrix Virtual Apps and DesktopsおよびCitrix Workspaceアプリを通じてデスクトップベースのMicrosoft Teams(1.2.00.31357以降)の最適化を提供します。必要なコンポーネントはデフォルトで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をインストールする前に、VDAをインストールすることをお勧めします。このインストール順序は、ALLUSER=1フラグを有効にするために必要です。VDAをインストールする前に仮想マシンにMicrosoft Teamsがインストールされている場合は、Microsoft Teamsをアンインストールして再インストールします。App Layeringを使用している場合について詳しくは、「App Layeringの場合」を参照してください。

Microsoft Teamsのマシン全体のインストールガイドラインに記載のとおり、AppDataにMicrosoft 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設定にある [アプリと機能] に表示されます。管理者の資格情報があれば、すべてのユーザーがMicrosoft Teamsをアンインストールできます。

ALLUSERS=1ALLUSER=1の違いを理解することが重要です。ALLUSERS=1パラメーターは、非VDI環境とVDI環境で使用できます。マシンごとのインストールを指定するには、VDI環境でのみALLUSER=1パラメーターを使用します。

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

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

App Layeringの場合

Citrix App Layeringを使用してVDAとMicrosoft Teamsインストールを異なるレイヤーで管理する場合、ALLUSER=1でMicrosoft Teamsをインストールする前にWindowsでこのレジストリキーを使用します。詳しくは、レジストリを介して管理される機能の一覧にある「Citrix App LayeringによるMicrosoft Teamsの最適化」を参照してください。

Profile Managementの推奨事項

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

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

重要:

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

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

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

以下は、Windows Server 2016 64ビット仮想マシンに、Microsoft 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

推奨事項

  • Microsoft Teamsのレジストリキーを削除して、自動起動を無効にすることをお勧めします。そうすることで、多数のログオンが同時に行われる場合(たとえば、就業日の開始時刻)に、VMのCPU使用量が急上昇するのを防ぎます。
  • 仮想デスクトップにGPUまたはvGPUがない場合は、Microsoft Teamsの [設定][GPUハードウェアアクセラレーションを無効にする] を選択し、パフォーマンスを改善します。この設定("disableGpu":true)はdesktop-config.json%Appdata%\Microsoft\Teamsに格納されています。ログオンスクリプトを使用してファイルを編集し、値をtrueに設定できます。
  • Citrix Workspace Environment Management(WEM)を使用している場合は、[CPUスパイク保護]を有効にして、Microsoft Teamsのプロセッサ消費を管理します。

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

.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

ベストプラクティス

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

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

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

次のアイテムをMicrosoft 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セッションで同時にMicrosoft Teamsを実行する必要はありません。たとえば、共通の仮想デスクトップ展開では、各ユーザーが1つのデスクトップに割り当てられ、Microsoft 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アプリの最新CRおよび最小バージョン - Windows向けCitrix Workspaceアプリ1907

  • Windows 8および10(Embeddedエディションを含む32ビットおよび64ビットエディション)(Windows 7のサポートはバージョン2006で終了しました)
  • Windows 10 IoT Enterprise 2016 LTSB(v1607)および2019 LTSC(v1809)
  • サポートされているプロセッサ(CPU)アーキテクチャ:x86およびx64(ARMはサポートされていません)
  • エンドポイントの要件:2.1~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アプリにより自動的にダウンロードとインストールが行われます。

管理者はTeams最適化ポリシーを変更することにより、最適化モードで開始するMicrosoft Teamsを有効にするか無効にするかを選択できます。Citrix Workspaceアプリで最適化モードで開始するユーザーは、Microsoft Teamsを無効にすることを選択できません。

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

詳しくは、「2006の新機能」の「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アプリをインストールする前提条件」を参照してください。

/opt/Citrix/ICAClient/config/module.iniファイル内のVDWEBRTCフィールドの値をオフに更新して、Teamsの最適化機能を無効にすることができます。デフォルトではVDWEBRTCがオンになっています。更新を実行した後、セッションを再開します。(ルート権限が必要です)。

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

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

  • macOS Catalina(10.15)。
  • macOS Big Sur 11.0.1以降。

サポートされる機能:

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

注:

Citrix Viewerアプリでは、画面共有を機能させるためにmacOSの[セキュリティとプライバシー]の環境設定にアクセスする必要があります。この環境設定を行うには、アップルメニュー >[システム環境設定]>[セキュリティとプライバシー]>[プライバシー]タブ>[画面収録] の順に進み、[Citrix Viewer] を選択します。

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

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

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

最小バージョン - ChromeOS向けCitrix Workspaceアプリ2105.5

サポートされる機能:

  • オーディオ
  • ビデオ
  • 画面共有の最適化(受信および送信) - デフォルトで無効有効にする方法については、これらの設定を参照してください。

機能マトリックスとバージョンのサポート

機能 Windows CR Windows 1912 LTSR(およびCU1-CU4) Windows 1912 CU5以降 Mac Linux ChromeOS
オーディオ/ビデオ(P2Pおよび会議) 1907 はい はい 2009 2004 2106
画面共有 1907 はい はい 2012 2006 2106 (1)
i. 赤い枠線を画面に表示 2002 はい はい 2012 2006 X
ii. キャプチャをDesktop Viewerに制限 2009.5 X はい 2012 2006 X
iii. マルチモニター 2106 (2) X X 2106 2106 X
DTMF 2102 X はい(5) 2101 2101 X
プロキシサーバーのサポート 2012 (3) X はい(3)(5) 2104 (4) 2101 (4) X
  1. デフォルトでは無効になっています。有効にするには管理者権限が必要です。
  2. CDビューアはフルスクリーンモードでのみ使用できます。SHIFT+F2はサポートされていません。
  3. Negotiate/Kerberos、NTLM、Basic、およびダイジェスト。Pacファイルもサポートされています。
  4. 匿名のみ。
  5. Windows 10クライアントOSのみ。

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

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

注:

[管理]コンソール(Studio)で使用可能なポリシーがない古いバージョンのコントローラー(たとえばバージョン7.15)でバージョン1906.2以上のVDAを使用している場合、そのVDAでは引き続き最適化が有効になっています。Microsoft TeamsのHDX最適化は、VDAではデフォルトで有効になっています。

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

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

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

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

凡例が表示されない場合、Microsoft TeamsがCitrix APIの読み込みに失敗しています。通知領域のアイコンを右クリックしてMicrosoft Teamsを終了し、再起動します。[管理]コンソールのポリシーが [禁止] に設定されていないこと、および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またはHdxRtcEngine.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)用にさまざまなコーデックを使用できます。

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

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

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

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

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

プロキシサーバー

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

  • 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バージョン2012向けCitrix Workspaceアプリ(NegotiateまたはKerberos、NTLM、Basic、およびDigest。Pacファイルもサポートされています)
    • Windowsバージョン1912 CU5向けCitrix Workspaceアプリ(NegotiateまたはKerberos、NTLM、Basic、およびDigest。Pacファイルもサポートされています)
    • Linuxバージョン2101向けCitrix Workspaceアプリ(匿名認証)
    • Macバージョン2104向けCitrix Workspaceアプリ(匿名認証)

クライアントデバイスで以前のリリースの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 WebRTCメディアエンジン(HdxTeams.exeまたはHdxRtcEngine.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)をサポートして、候補の検出と接続の確立を行います。

エンドポイントでDNS解決を実行できる必要があることに注意してください。

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(フォールバック)

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

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

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

注:

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

通話のセットアップ

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

アーキテクチャ

Microsoft Teamsの最適化のしくみ

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

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

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

Microsoft電話システム

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

DTMF:

デュアルトーンマルチ周波数(DTMF)は、次のバージョン以降のCitrix Workspaceアプリでサポートされています:

  • Windows向けCitrix Workspaceアプリバージョン2102
  • Windows向けCitrix WorkspaceアプリLTSR 1912 CU5
  • Linux向けCitrix Workspaceアプリバージョン2101
  • Mac向けCitrix Workspaceアプリバージョン2101

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

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

ファイアウォールの警告

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

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

Microsoft TeamsとSkype for Businessの共存

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

Microsoft Teamsマルチメディアエンジン用のCitrix RealTime Optimization PackおよびHDX最適化は、環境で設定された構成を尊重します。例としては、アイランドモード、Skype for BusinessとMicrosoft Teamsのコラボレーション、Skype for BusinessとMicrosoft Teamsのコラボレーションおよび会議などがあります。

周辺機器アクセス権限は、一度に1つのアプリケーションにのみ付与されます。たとえば、通話中にRealTime Media EngineがWebカメラにアクセスすると、通話の間、イメージデバイスがロックされます。デバイスがリリースされると、Microsoft 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のグリッドを表示する大きなギャラリービューも提供します。その結果、Microsoft Teams会議サーバーは単一のビデオフィードを合成し、それをデコードのためにクライアントデバイスに送信するため、CPU消費量を抑えられます。この単一のマス目形式のフィードには、ユーザーのセルフプレビュービデオも含まれることがあります。

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

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

ビデオレイアウト

ビデオのアスペクト比の制約のサポート(Windows 2102の場合はCWA、Linux 2106の場合はCWA、MAC 2106以降の場合はCWA):

  • [Fill to frame] オプションは、[Gallery]ビューまたは[Large Gallery]ビューで使用できます。このオプションにより、サブウィンドウに収まるようにビデオサイズがトリミングされます。一方、[Fit to frame] を使用すると、ビデオの側面に黒いバー(レターボックス)が表示され、トリミングが行われません。

Microsoft Teamsの画面共有

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

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

Windows向けCitrix Workspaceアプリ2009.6は、ウィンドウのネイティブのビットマップキャプチャを実行するため、重複するウィンドウはキャプチャされません。

マルチモニター:Desktop Viewer(CDViewer.exe)が全画面モードでマルチモニター全体にまたがる場合、Citrix Workspaceアプリ2106以降(Windows/Linux/Mac)では、共有するモニターをスクリーンピッカーで選択できます。 (.icaファイルテンプレートまたはStoreFront web.configを編集することにより)Desktop Viewerが無効になっている場合は、またはDesktop Lockが使用されている場合は、マルチモニターは画面の設定で選択できません。SHIFT+F2ホットキーはマルチモニターの画面共有と互換性がありません。

Workspaceアプリの2106より前のバージョンでは、プライマリモニターのみが共有されます。ユーザーは、仮想デスクトップ上のアプリケーションを、通話中の他のピアのプライマリモニターにドラッグして表示する必要があります。

画面共有

注:

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

Microsoft Teamsの周辺機器

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

Microsoft Teamsの最適化モード

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

推奨事項:

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

注:

Windows向けWorkspaceアプリ2009.6では、24ビットのオーディオ形式または96kHzを超える周波数のオーディオ形式の周辺機器を取得できるようになりました。

HdxTeams.exe(Windows 2009以前のWorkspaceアプリ内)は、次の特定のオーディオデバイス形式(チャネル、ビット深度、およびサンプルレート)のみをサポートします:

  • 再生デバイス:最大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!

回避策として、特定のデバイスを無効にするか、以下を実行します:

  1. サウンドコントロールパネル(mmsys.cpl)を開きます。
  2. 再生デバイスまたは録音デバイスを選択します。
  3. [プロパティ]>[詳細設定] に移動し、サポートされているモードに設定を変更します。

フォールバックモード

最適化されたVDIモードでMicrosoft Teamsが読み込めない場合(Teams/About/Versionで「Citrix HDX未接続」)、VDAでは、Webカメラリダイレクトやクライアントのオーディオとマイクのリダイレクトのような従来のHDXテクノロジにフォールバックされます。Teamsの最適化をサポートしていないWorkspaceアプリのバージョンまたはプラットフォームOSを使用している場合は、フォールバックレジストリキーが適用されません。 フォールバックモードでは、周辺機器がVDAにマップされます。周辺機器は、Microsoft Teamsアプリには仮想デスクトップにローカルで接続されているように表示されます。

VDAでレジストリキーを設定することで、フォールバックメカニズムを細かく制御できるようになりました。詳しくは、レジストリを介して管理される機能の一覧にある「Microsoft Teamsフォールバックモード」を参照してください。

この機能を使用するには、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アプリでの制限:

  • HIDボタン - 応答と通話終了はサポートされていません。音量の増減はサポートされています。
  • セカンダリ呼び出し([Teams]>[設定]>[デバイス])はサポートされていません。
  • Microsoft Teamsの管理センターのQoS(サービス品質)設定は、VDIユーザーには適用されません。
  • Citrix Workspaceアプリのアプリ保護アドオン機能は、発信画面共有を妨げ、受信画面共有およびビデオを禁止します。

VDAでの制限:

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

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

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

Microsoftの制限

  • 背景をぼかしたりカスタマイズしたりするオプションはサポートされていません。
  • 3x3ギャラリービューはサポートされていません。Microsoft Teamsの依存関係 - 3x3グリッドの実装予定については、Microsoftにお問い合わせください。
  • Skype for Businessとの相互運用性は音声通話に限定され、ビデオのモダリティはありません。
  • 受信および発信ビデオストリームの最大解像度は720pです。Microsoft Teamsの依存関係 - 1080pの実装予定については、Microsoftにお問い合わせください。
  • PSTN通話の呼び出し音はサポートされていません。
  • ダイレクトルーティングのメディアバイパスはサポートされていません。
  • 受信カメラまたは画面共有ストリームからのビデオストリームは1つのみサポートされます。受信画面共有がある場合、優先度の高いスピーカーのビデオではなく、画面共有が表示されます。
  • ブロードキャストおよびライブイベントのプロデューサーの役割とプレゼンターの役割はサポートされていません。参加者の役割はサポートされていますが、最適化されていません(代わりにVDAでレンダリングされます)。
  • Microsoft Teamsのズームインおよびズームアウト機能はサポートされていません。

CitrixとMicrosoftの制限

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

追加情報