Создание очереди вызовов с помощью командлетов

Предположения

  1. PowerShell установлен на компьютере

    • Настройка компьютера для Windows PowerShell

    • Установленный модуль MSTeams

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Установленный модуль Microsoft Graph

      Install-Module -Name Microsoft.Graph -Force -AllowClobber
      
  2. У вас есть права администрирования клиента

  3. Вы приобрели Телефонная система Microsoft Teams

  4. Агенты, списки рассылки и каналы Teams, упомянутые ниже, уже созданы.

Примечание. Командлет Teams Channel, используемый ниже, является частью общедоступной предварительной версии модуля Teams PowerShell. Дополнительные сведения см. в статье Установка общедоступной предварительной версии Teams PowerShell , а также в заметках о выпуске Microsoft Teams PowerShell.

Пользователи, у которых уже установлен модуль MicrosoftTeams, должны Update-Module MicrosoftTeams убедиться, что установлена самая последняя версия.

Сценарий

Будут созданы следующие три очереди звонков:

Сведения об очереди вызовов продаж:

  • Переднее по автосекретарю: Да
  • Прямой вызов из ТСОП: Нет
  • Язык: английский( США)
  • Приветствие: Нет
  • Музыка на удержании: воспроизведение звукового файла
    • Имя файла: sales-hold-in-queue-music.wav
  • Ответы на звонки: пользователи
    • Bill@contoso.com
    • Mary@contoso.com
  • Режим конференции: включено
  • Метод маршрутизации: сопровождающий
  • Маршрутизация на основе присутствия: выкл.
  • Агенты звонков могут отказаться от приема звонков: Да
  • Время оповещения агента вызова: 15
  • Обработка переполнения вызовов: 200
    • Перенаправление на: Adele@contoso.com
  • Обработка времени ожидания вызова: 120 секунд
    • Перенаправление на: Adele@contoso.com

Сведения об очереди звонков поддержки:

  • Переднее по автосекретарю: Да
  • Прямой вызов из ТСОП: Нет
  • Язык: Английский, Соединенное Королевство
  • Приветствие: воспроизведение звукового файла
    • Имя файла: support-greeting.wav
  • Музыка на удержании: воспроизведение звукового файла
    • Имя файла: support-hold-in-queue-music.wav
  • Ответы на звонки: список рассылки поддержки
    • Support@contoso.com
  • Режим конференции: включено
  • Метод маршрутизации: самый длительный простой
  • Маршрутизация на основе присутствия: N/A — включена по умолчанию из-за длительного простоя
  • Агенты звонков могут отказаться от звонков: Нет
  • Время оповещения агента вызова: 15
  • Обработка переполнения вызовов: 200
    • Перенаправление: поддержка общей голосовой почты
      • Воспроизведение аудиофайла (support-shared-voicemail-greeting.wav)
      • Транскрибирование включено
  • Обработка времени ожидания вызова: 45 минут
    • Перенаправление: поддержка общей голосовой почты
      • TTS: "Мы сожалеем, что оставили вас в ожидании и теперь переносят ваш звонок на голосовую почту".
      • Транскрибирование включено

Сведения о очереди звонков для совместной работы:

  • Переднее по автосекретарю: Нет
  • Прямой вызов из ТСОП: Нет (только внутренние вызовы)
  • Язык: Французский FR
  • Приветствие: Нет
  • Музыка на удержании: по умолчанию
  • Ответы на вызовы: Команда: Средства
  • Канал ответов на звонки: служба технической поддержки
    • Владелец канала: Fred@contoso.com
  • Режим конференции: включено
  • Метод маршрутизации: циклический перебор
  • Маршрутизация на основе присутствия: включено
  • Агенты звонков могут отказаться от звонков: Нет
  • Время оповещения агента вызова: 15
  • Обработка переполнения вызовов: 200
    • Отключить
  • Обработка времени ожидания вызова: 45 минут
    • Отключить

Вход

Вам будет предложено ввести учетные данные администратора Teams.

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

Очередь продаж

Создание аудиофайлов

Замените "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

Получение идентификатора пользователей

$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"

Получение типов лицензий

Get-MgSubscribedSku

Создание и назначение учетной записи ресурса

Примечание. Номер телефона здесь не требуется, так как очередь звонков заканчивается автосекретарем.

  • ApplicationID
    • Автосекретарь: ce933385-9390-45d1-9512-c8d228074e07
    • Очередь вызовов: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Примечание. Указанный ниже тип лицензии (PHONESYSTEM_VIRTUALUSER) должен быть указан в приведенном выше командлете Get-MgSubscribedSku .

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

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

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

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

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

Очередь поддержки

Создание звуковых файлов

Замените "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

Получение идентификатора группы поддержки

$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

Очередь совместных вызовов для объектов

Получение идентификатора группы "Объекты"

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

Получение идентификатора канала службы технической поддержки служб

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

Получение идентификатора пользователя владельца канала технической поддержки служб

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

Получение от имени идентификатора учетной записи ресурса

$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