セットアップ - PowerShell 経由のコール キュー

通話キューの新機能 (過去 6 か月)

前提条件

  • テナント管理権限があることを確認します。
  • この記事で説明するエージェント、配布リスト、および Teams チャネルは既に作成されています。
  1. MicrosoftTeams PowerShell モジュールが既にインストールされているかどうかを確認します。

    Get-InstalledModule -Name MicrosoftTeams
    

    MicrosoftTeams PowerShell モジュールが既にインストールされている場合、コマンドの出力は次のようになります。

    Get-InstalledModule -Name MicrosoftTeams
    
    Version              Name                                Repository           Description
    -------              ----                                ----------           -----------
    7.7.0                MicrosoftTeams                      PSGallery            Microsoft Teams cmdlets module for Windows PowerShell and PowerShell Core....
    

    手順 2 に進みます。

    MicrosoftTeams PowerShell モデルがまだインストールされていない場合は、手順 3 に進みます。

  2. MicrosoftTeams モジュールを更新する

    Update-Module MicrosoftTeams
    

    シナリオに進む

  3. MicrosoftTeams PowerShell モードをコンピューターにインストールします。

    • コンピューターを Windows PowerShell 用にセットアップする

    • インストールされている MSTeams モジュール

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • インストールされている Microsoft Graph モジュール

      Install-Module -Name Microsoft.Graph -Force -AllowClobber
      

シナリオ

Sales (Users and Groups)

  • 自動応答の背後に入れ子にする: はい
  • 通話: 販売経由の自動応答のみ - リソース アカウントは必要ありません
  • 言語: 英語 (米国)
  • 案内応答: なし (通話は営業の自動応答が応答します)
  • 保留音: オーディオ ファイルの再生
    • ファイル名: sales-hold-in-queue-music.wav
  • 通話応答: ユーザー
    • Bill@contoso.com
    • Mary@contoso.com
  • 通話応答: グループ
    • Sales@contoso.com
  • 会議モード: オン
  • ルーティング方法:ラウンドロビン
  • プレゼンスベースのルーティング: オン
  • 通話エージェントは、電話の受信をオプトアウトできます。はい
  • エージェント アラートの呼び出し時間: 15
  • コール オーバーフロー処理: 200
    • リダイレクト先: Adele@contoso.com
  • 通話タイムアウト処理: 120 秒
    • リダイレクト先: Adele@contoso.com
  • エージェントが処理する必要はない
    • すべての通話に適用する
    • リダイレクト先: Adele@contoso.com
  • コールバック: いいえ
  • サービス レベル: 20 秒
  • 認証ユーザー
    • Adele@contoso.com
  • 音声アプリケーション ポリシー: 販売
  • コンプライアンス記録: いいえ
  • 共有通話履歴: はい
    • テンプレート: 営業
  • 自動記録: いいえ
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

Create Audio Files

d:\\ を、wav ファイルがコンピューターに保存されているパスに置き換えます。

$content = [System.IO.File]::ReadAllBytes('d:\sales-hold-in-queue-music.wav')
$audioFileSalesHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "sales-hold-in-queue-music.wav" -Content $content).ID

共有通話履歴テンプレートを作成する

通話キューの自動録音のテンプレートを作成する

ユーザー ID を取得する

$userAdeleID = (Get-CsOnlineUser -Identity "sip:adele@contoso.com").Identity
$userSalesBillID = (Get-CsOnlineUser -Identity "sip:bill@contoso.com").Identity
$userSalesMaryID = (Get-CsOnlineUser -Identity "sip:mary@contoso.com").Identity

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Sales" -AgentAlertTime 15 -AllowOptOut $true -MusicOnHoldAudioFileID $audioFileSalesHoldInQueueMusicID -OverflowAction Forward -OverflowActionTarget $userAdeleID -OverflowThreshold 200 -TimeoutAction Forward -TimeoutActionTarget $userAdeleID -TimeoutThreshold 120 -RoutingMethod Attendant -ConferenceMode $true -User @($userSalesBillID, $userSalesMaryID) -LanguageID "en-US"

サポート (Microsoft Shifts)

  • 自動応答の背後に入れ子にする: はい -
  • 通話: サポート自動応答、社内、および PSTN 経由 - リソース アカウントが必要
  • 言語: 英語 (英国)
  • あいさつ: オーディオ ファイルを再生する
    • ファイル名: support-greeting.wav
  • 保留音: オーディオ ファイルの再生
    • ファイル名: support-hold-in-queue-music.wav
  • 通話応答: Microsoft Shifts サポート チーム
    • Support@contoso.com
  • 会議モード: オン
  • ルーティング方法: 最長アイドル
  • プレゼンスに基づくルーティング: N/A – 最長アイドル時間のため既定でオン
  • 通話エージェントは、通話の受信をオプトアウトできます。いいえ
  • エージェント アラートの呼び出し時間: 15
  • コール オーバーフロー処理: 200
    • リダイレクト: 共有ボイスメールのサポート
      • オーディオ ファイルの再生 (support-shared-voicemail-greeting.wav)
      • 文字起こしが有効
  • 通話タイムアウトの処理: 45 分
    • リダイレクト: 共有ボイスメールのサポート
      • TTS: 「お待たせして申し訳ありません。現在、通話をボイスメールに転送します。」
      • 文字起こしが有効
  • エージェントが処理する必要はない
  • コールバック: はい
  • サービス レベル: 30 秒
  • 認証ユーザー
  • コンプライアンス記録
  • 共有通話履歴
  • 自動記録
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

オーディオ ファイルを作成する

d:\\ を、wav ファイルがコンピューターに保存されているパスに置き換えます。

$content1 = [System.IO.File]::ReadAllBytes('d:\support-greeting.wav')
$audioFileSupportGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-greeting.wav" -Content $content1).ID

$content2 = [System.IO.File]::ReadAllBytes('d:\support-hold-in-queue-music.wav')
$audioFileSupportHoldInQueueMusicID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-hold-in-queue-music.wav" -Content $content2).ID

$content3 = [System.IO.File]::ReadAllBytes('d:\support-shared-voicemail-greeting.wav')
$audioFileSupportSharedVoicemailGreetingID = (Import-CsOnlineAudioFile -ApplicationID HuntGroup -FileName "support-shared-voicemail-greeting.wav" -Content $content3).ID

サポート チーム グループ ID を取得する

$teamSupportID = (Get-Team -DisplayName "Support").GroupID

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Support" -AgentAlertTime 15 -AllowOptOut $false -DistributionLists $teamSupportID -WelcomeMusicAudioFileID $audioFileSupportGreetingID -MusicOnHoldAudioFileID $audioFileSupportHoldInQueueMusicID -OverflowAction SharedVoicemail -OverflowActionTarget $teamSupportID -OverflowThreshold 200 -OverflowSharedVoicemailAudioFilePrompt $audioFileSupportSharedVoicemailGreetingID -EnableOverflowSharedVoicemailTranscription $true -TimeoutAction SharedVoicemail -TimeoutActionTarget $teamSupportID -TimeoutThreshold 2700 -TimeoutSharedVoicemailTextToSpeechPrompt "We're sorry to have kept you waiting and are now transferring your call to voicemail." -EnableTimeoutSharedVoicemailTranscription $true -RoutingMethod LongestIdle -ConferenceMode $true -LanguageID "en-US"

ライセンスの種類を取得する

Get-MgSubscribedSku

リソース アカウントの作成と割り当て

通話キューは自動応答の背後にネストされているため、ここでは電話番号は必要ありません。

  • ApplicationID
    • 自動応答: ce933385-9390-45d1-9512-c8d228074e07
    • 通話キュー: 11cd3e2e-fccb-42ad-ad00-878b93575e07

(PHONESYSTEM_VIRTUALUSER)後に表示されるライセンスの種類は、Get-MgSubscribedSku コマンドレットで一覧表示されるライセンスの種類である必要があります。

New-CsOnlineApplicationInstance -UserPrincipalName Support-RA@contoso.com -DisplayName "Support" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Support-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Support-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Support-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Support").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

施設 (Teams チャネル)

  • 自動応答の背後に入れ子にする: いいえ
  • PSTN からの直接通話: いいえ (内部通話のみ)
  • 言語: フランス語 (FR)
  • あいさつ: なし
  • 保留音: 既定
  • 通話応答: チーム: 施設
  • 通話応答チャネル: ヘルプ デスク
    • チャネルの所有者: Fred@contoso.com
  • 会議モード: オン
  • ルーティング方法:ラウンドロビン
  • プレゼンスベースのルーティング: オン
  • 通話エージェントは、通話の受信をオプトアウトできます。いいえ
  • エージェント アラートの呼び出し時間: 15
  • コール オーバーフロー処理: 200
    • 切断
  • 通話タイムアウトの処理: 45 分
    • 切断
  • エージェントが処理する必要はない
  • コールバック: はい
  • サービス レベル: 30 秒
  • 認証ユーザー
  • コンプライアンス記録
  • 共有通話履歴
  • 自動記録
展開して PowerShell コマンドを表示する

ログイン

メッセージが表示されたら、Teams 管理者の資格情報を入力します。

$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential

ファシリティー チーム グループ ID を取得する

$teamFacilitiesGroupID = (Get-Team -DisplayName "Facilities").GroupID

施設ヘルプ デスク チーム チャネル ID を取得する

Get-TeamChannel -GroupId $teamFacilitiesGroupID
$teamFacilitiesHelpDeskChannelID = "{assign ID from output of above command}"

施設ヘルプ デスク チャネル所有者のユーザー ID を取得する

$teamFacilitiesHelpDeskChannelUserID = (Get-TeamChannelUser -GroupId $teamFacilitiesGroupID -DisplayName "Help Desk" -Role Owner).UserId

呼び出し元の代理を取得する リソース アカウント ID

$oboResourceAccountID = (Get-CsOnlineUser -Identity "MainAA-RA@contoso.com").Identity

サポートされている言語の一覧を取得する

Get-CsAutoAttendantSupportedLanguage

通話キューの作成

New-CsCallQueue -Name "Facilities" -AgentAlertTime 15 -AllowOptOut $false -ChannelId $teamFacilitiesHelpDeskChannelID -ChannelUserObjectId $teamFacilitiesHelpDeskChannelUserID  -ConferenceMode $true -DistributionList $teamFacilitiesGroupID -LanguageID "fr-FR" -OboResourceAccountIds $oboResourceAccountID -OverflowAction DisconnectWithBusy -OverflowThreshold 200 -RoutingMethod RoundRobin -TimeoutAction Disconnect -TimeoutThreshold 2700 -UseDefaultMusicOnHold $true

ライセンスの種類を取得する

Get-MgSubscribedSku

リソース アカウントの作成と割り当て

通話キューは自動応答の背後にネストされているため、ここでは電話番号は必要ありません。

  • ApplicationID
    • 自動応答: ce933385-9390-45d1-9512-c8d228074e07
    • 通話キュー: 11cd3e2e-fccb-42ad-ad00-878b93575e07

(PHONESYSTEM_VIRTUALUSER)後に表示されるライセンスの種類は、Get-MgSubscribedSku コマンドレットで一覧表示されるライセンスの種類である必要があります。

New-CsOnlineApplicationInstance -UserPrincipalName Facilities-RA@contoso.com -DisplayName "Facilities" -ApplicationID "11cd3e2e-fccb-42ad-ad00-878b93575e07"

Update-MgUser -UserId "Facilities-RA@contoso.com" -UsageLocation US

Set-MgUserLicense -UserId "Facilities-RA@contoso.com" -AddLicenses @(contoso:PHONESYSTEM_VIRTUALUSER) -RemoveLicenses @()

$applicationInstanceID = (Get-CsOnlineUser -Identity "Facilities-RA@contoso.com").Identity
$callQueueID = (Get-CsCallQueue -NameFilter "Facilities").Identity

New-CsOnlineApplicationInstanceAssociation -Identities @($applicationInstanceID) -ConfigurationID $callQueueID -ConfigurationType CallQueue

Teams 自動応答と通話キューの計画

Microsoft Teams 電話でできることは次のとおりです

コマンドレットを使用して自動応答を作成する