设置 - 通过 PowerShell 的呼叫队列

通话队列 (最近六个月的新增功能)

先决条件

  • 确保你具有租户管理权限。
  • 本文中提到的代理、通讯组列表和 Teams 频道已创建。
  1. 确定是否 MicrosoftTeams 已安装 PowerShell 模块。

    Get-InstalledModule -Name MicrosoftTeams
    

    如果已安装 PowerShell 模块,则 MicrosoftTeams 该命令的输出将类似于:

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

    继续执行步骤 2。

    如果尚未安装 PowerShell 模型,请 MicrosoftTeams 继续执行步骤 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 (用户和组)

  • 嵌套在自动助理后面:是
  • 呼叫:仅通过销售自动助理 - 无需资源帐户
  • 语言:美国英语
  • 问候语:销售自动助理) 不会迎接任何 (呼叫
  • 音乐保持:播放音频文件
    • 文件名: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排班)

  • 嵌套在自动助理后面:是 -
  • 呼叫:通过支持自动助理、内部和通过 PSTN - 需要资源帐户
  • 语言:英国英语
  • 问候语:播放音频文件
    • 文件名:support-greeting.wav
  • 音乐保持:播放音频文件
    • 文件名:support-hold-in-queue-music.wav
  • 呼叫应答:Microsoft Shifts 支持团队
    • Support@contoso.com
  • 会议模式:开
  • 路由方法:最长空闲时间
  • 基于状态的路由:不适用 - 默认打开,因为最长空闲时间
  • 呼叫代理可以选择不接听电话:否
  • 呼叫代理警报时间: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) 显示的许可证类型必须是 cmdlet 列出的 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 直接呼叫:无 (仅限内部呼叫)
  • 语言:法国法语
  • 问候语:无
  • 音乐保持:默认
  • 电话接听:团队:设施
  • 呼叫应答频道:技术支持
    • 频道所有者: 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) 显示的许可证类型必须是 cmdlet 列出的 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 电话获得的功能

通过 cmdlet 创建自动助理