Configuração - Fila de Chamadas através do PowerShell

Pré-requisitos

  • Certifique-se de que tem direitos de administração de inquilinos.
  • Os agentes, listas de distribuição e canais do Teams mencionados neste artigo já foram criados.
  1. Determine se o módulo do MicrosoftTeams PowerShell já está instalado.

    Get-InstalledModule -Name MicrosoftTeams
    

    Se o módulo do MicrosoftTeams PowerShell já estiver instalado, o resultado do comando terá um aspeto semelhante a:

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

    Avance para o Passo 2.

    Se o modelo do MicrosoftTeams PowerShell ainda não estiver instalado, avance para o Passo 3.

  2. Atualizar o MicrosoftTeams módulo

    Update-Module MicrosoftTeams
    

    Avançar para os Cenários

  3. Instale o modeule do MicrosoftTeams PowerShell no seu computador.

    • Configurar o computador para Windows PowerShell

    • Módulo MSTeams Instalado

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Módulo do Microsoft Graph instalado

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

Cenários

Vendas (Utilizadores e Grupos)

  • Aninhado atrás do Atendedor Automático: Sim
  • Chamadas: apenas através do atendedor automático de Vendas – não é necessária nenhuma conta de recurso
  • Idioma: Inglês E.U.A.
  • Saudação: Nenhuma (as chamadas são recebidas pelo atendedor automático de Vendas)
  • Música em espera: Reproduzir um ficheiro de áudio
    • Nome do ficheiro: sales-hold-in-queue-music.wav
  • Atendimento de Chamadas: Utilizadores
    • Bill@contoso.com
    • Mary@contoso.com
  • Atendimento de Chamadas: Grupo
    • Sales@contoso.com
  • Modo de Conferência: Ativado
  • Método de encaminhamento: Round Robin
  • Encaminhamento baseado na presença: Ativado
  • Os agentes de chamada podem optar por não receber chamadas: Sim
  • Hora do alerta do agente de chamada: 15
  • Processamento de chamadas excedidas: 200
    • Redirecionar para: Adele@contoso.com
  • Processamento do tempo limite da chamada: 120 segundos
    • Redirecionar para: Adele@contoso.com
  • Sem agentes a processar
    • Aplicar a todas as chamadas
    • Redirecionar para: Adele@contoso.com
  • Chamada de retorno: Não
  • Nível de Serviço: 20 segundos
  • Utilizador de Autenticação
    • Adele@contoso.com
  • Política de Aplicações de Voz: Vendas
  • Gravação de Conformidade: Não
  • Histórico de chamadas partilhadas: Sim
    • Modelo: Vendas
  • Gravação automática: Não
Expandir para ver os comandos do PowerShell

Login

Quando lhe for pedido, introduza as suas credenciais de administrador do Teams.

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

Criar Files de Áudio

Substitua d:\\ pelo caminho para onde os ficheiros wav estão armazenados no seu computador.

$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

Criar modelo de Histórico de Chamadas Partilhadas

Criar Gravação Automática para o modelo fila de chamadas

Obter ID de Utilizadores

$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

Obter lista de idiomas suportados

Get-CsAutoAttendantSupportedLanguage

Criar Fila de chamadas

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"

Suporte (Microsoft Shifts)

  • Aninhado atrás do Atendedor Automático: Sim -
  • Chamadas: através do atendedor automático de suporte, internamente e através da RTPC – conta de recurso necessária
  • Idioma: Inglês do Reino Unido
  • Saudação: Reproduzir um ficheiro de áudio
    • Nome do ficheiro: support-greeting.wav
  • Música em espera: Reproduzir um ficheiro de áudio
    • Nome do ficheiro: support-hold-in-queue-music.wav
  • Atendimento de Chamadas: Equipa de Suporte do Microsoft Shifts
    • Support@contoso.com
  • Modo de Conferência: Ativado
  • Método de encaminhamento: Inativo Mais Longo
  • Encaminhamento baseado na presença: N/D – ativado por predefinição devido a Inatividade Mais Longa
  • Os agentes de chamada podem optar por não receber chamadas: Não
  • Hora do alerta do agente de chamada: 15
  • Processamento de chamadas excedidas: 200
    • Redirecionamento: Suporte para Correio de Voz Partilhado
      • Reproduzir um ficheiro de áudio (support-shared-voicemail-greeting.wav)
      • Transcrição ativada
  • Processamento do tempo limite da chamada: 45 minutos
    • Redirecionamento: Suporte para Correio de Voz Partilhado
      • TTS: "Lamentamos tê-lo mantido à espera e estamos agora a transferir a sua chamada para o voicemail."
      • Transcrição ativada
  • Sem agentes a processar
  • Chamada de retorno: Sim
  • Nível de Serviço: 30 segundos
  • Utilizador de Autenticação
  • Gravação de Conformidade
  • Histórico de chamadas partilhadas
  • gravação automática
Expandir para ver os comandos do PowerShell

Login

Quando lhe for pedido, introduza as suas credenciais de administrador do Teams.

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

Criar ficheiros de áudio

Substitua d:\\ pelo caminho para onde os ficheiros wav estão armazenados no seu computador.

$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

Obter O ID do grupo de equipa de Suporte

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

Obter lista de idiomas suportados

Get-CsAutoAttendantSupportedLanguage

Criar Fila de chamadas

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"

Obter tipos de licença

Get-MgSubscribedSku

Criar e Atribuir Conta de Recurso

Não é necessário um número de telefone aqui, uma vez que a fila de chamadas está aninhada atrás de um atendedor automático.

  • ApplicationID
    • Atendedor Automático: ce933385-9390-45d1-9512-c8d228074e07
    • Fila de Chamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07

O tipo de licença apresentado depois (PHONESYSTEM_VIRTUALUSER) tem de ser um dos listados pelo Get-MgSubscribedSku cmdlet .

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

Instalações (Canal do Teams)

  • Aninhado atrás do Atendedor Automático: Não
  • Chamadas diretas a partir de RTPC: Não (apenas chamadas internas)
  • Idioma: FR francês
  • Saudação: Nenhuma
  • Música em espera: predefinição
  • Atendimento de Chamadas: Equipa: Instalações
  • Canal de Atendimento de Chamadas: Suporte Técnico
    • Proprietário do Canal: Fred@contoso.com
  • Modo de Conferência: Ativado
  • Método de encaminhamento: Round Robin
  • Encaminhamento baseado na presença: Ativado
  • Os agentes de chamada podem optar por não receber chamadas: Não
  • Hora do alerta do agente de chamada: 15
  • Processamento de chamadas excedidas: 200
    • Desconectar
  • Processamento do tempo limite da chamada: 45 minutos
    • Desconectar
  • Sem agentes a processar
  • Chamada de retorno: Sim
  • Nível de Serviço: 30 segundos
  • Utilizador de Autenticação
  • Gravação de Conformidade
  • Histórico de chamadas partilhadas
  • gravação automática
Expandir para ver os comandos do PowerShell

Login

Quando lhe for pedido, introduza as suas credenciais de administrador do Teams.

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

Obter o ID do grupo de equipa das Instalações

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

Obter o ID do canal de equipa do Suporte Técnico das Instalações

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

Obter o ID de utilizador do proprietário do canal do Suporte Técnico das Instalações

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

Obter em nome do ID da Conta de Recurso de Chamada

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

Obter lista de idiomas suportados

Get-CsAutoAttendantSupportedLanguage

Criar Fila de chamadas

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 

Obter tipos de licença

Get-MgSubscribedSku

Criar e atribuir Conta de Recurso

Não é necessário um número de telefone aqui, uma vez que a fila de chamadas está aninhada atrás de um atendedor automático.

  • ApplicationID
    • Atendedor Automático: ce933385-9390-45d1-9512-c8d228074e07
    • Fila de Chamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07

O tipo de licença apresentado depois (PHONESYSTEM_VIRTUALUSER) tem de ser um dos listados pelo Get-MgSubscribedSku cmdlet .

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

Planear para atendedores automáticos do Teams e filas de chamadas

Eis o que obtém com Telefonia do Microsoft Teams

Criar um Atendedor automático através de cmdlets