Criar uma fila de chamadas por meio de cmdlets
Suposições
O PowerShell está instalado em seu computador
Configure seu 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
Você tem direitos de administração de locatários
Você comprou Telefonia do Microsoft Teams
Os agentes, as listas de distribuição e os canais do Teams mencionados abaixo já foram criados
Observação: o cmdlet do Teams Channel usado abaixo faz parte da versão de visualização pública do Módulo do Teams PowerShell. Para obter mais informações, consulte Instalar a versão prévia pública do Teams PowerShell e também ver Notas de Versão do Microsoft Teams PowerShell.
Os usuários que já têm o módulo MicrosoftTeams instalado devem Update-Module MicrosoftTeams
garantir que a versão mais atualizada esteja instalada.
Cenário
As três filas de chamada a seguir serão criadas:
Informações da Fila de Chamadas de Vendas:
- Fronted by Auto Attendant: Sim
- Chamada direta do PSTN: Não
- Idioma: Inglês nos EUA
- Saudação: Nenhum
- Música em espera: reproduzir um arquivo de áudio
- Nome do arquivo: sales-hold-in-queue-music.wav
- Resposta de chamada: usuários
- Bill@contoso.com
- Mary@contoso.com
- Modo de Conferência: Ativado
- Método de roteamento: Atendente
- Roteamento baseado em presença: Desativado
- Os agentes de chamada podem optar por não atender chamadas: Sim
- Hora do alerta do agente de chamada: 15
- Tratamento de estouro de chamada: 200
- Redirecionar para: Adele@contoso.com
- Tratamento de tempo limite de chamada: 120 segundos
- Redirecionar para: Adele@contoso.com
Informações de fila de chamadas de suporte:
- Fronted by Auto Attendant: Sim
- Chamada direta do PSTN: Não
- Idioma: Inglês no Reino Unido
- Saudação: reproduzir um arquivo de áudio
- Nome do arquivo: suporte-saudação.wav
- Música em espera: reproduzir um arquivo de áudio
- Nome do arquivo: support-hold-in-queue-music.wav
- Resposta de chamada: lista de distribuição de suporte
- Support@contoso.com
- Modo de Conferência: Ativado
- Método de roteamento: ocioso mais longo
- Roteamento baseado em presença: N/A – ativado por padrão devido ao ocioso mais longo
- Os agentes de chamada podem optar por não atender chamadas: Não
- Hora do alerta do agente de chamada: 15
- Tratamento de estouro de chamada: 200
- Redirecionamento: suporte à caixa postal compartilhada
- Reproduzir um arquivo de áudio (suporte-compartilhado-voicemail-greeting.wav)
- Transcrição habilitada
- Redirecionamento: suporte à caixa postal compartilhada
- Tratamento de tempo limite de chamada: 45 minutos
- Redirecionamento: suporte à caixa postal compartilhada
- TTS: "Lamentamos tê-lo mantido esperando e agora estamos transferindo sua chamada para a caixa postal."
- Transcrição habilitada
- Redirecionamento: suporte à caixa postal compartilhada
Informações sobre a fila de chamadas colaborativa das instalações:
- Fronted by Auto Attendant: No
- Chamada direta do PSTN: Não (somente chamada interna)
- Idioma: FR francês
- Saudação: Nenhum
- Música em espera: padrão
- Resposta de chamada: equipe: instalações
- Canal de Resposta de Chamadas: Help Desk
- Proprietário do canal: Fred@contoso.com
- Modo de Conferência: Ativado
- Método de roteamento: Round Robin
- Roteamento baseado em presença: Ativado
- Os agentes de chamada podem optar por não atender chamadas: Não
- Hora do alerta do agente de chamada: 15
- Tratamento de estouro de chamada: 200
- Desconectar
- Tratamento de tempo limite de chamada: 45 minutos
- Desconectar
Login
Você será solicitado a inserir suas credenciais de administrador do Teams.
$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential
Connect-MgGraph -Credential $credential
Fila de vendas
Criar Arquivos de Áudio
Substitua "d:\" pelo caminho para onde os arquivos wav são armazenados em 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
Obter iD de usuários
$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 com suporte
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"
Obter tipos de licença
Get-MgSubscribedSku
Criar e atribuir conta de recursos
Observação: o número de telefone não é necessário aqui, pois a fila de chamadas é encerrada antecipadamente por um Atendente Automático
- Applicationid
- Atendente Automático: ce933385-9390-45d1-9512-c8d228074e07
- Fila de chamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07
Observação: o tipo de licença mostrado abaixo (PHONESYSTEM_VIRTUALUSER) deve ser aquele listado pelo Get-MgSubscribedSku
cmdlet acima.
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
Fila de suporte
Criar arquivos de áudio
Substitua "d:\" pelo caminho para onde os arquivos wav são armazenados em 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 ID do grupo de equipe de suporte
$teamSupportID = (Get-Team -DisplayName "Support").GroupID
Obter lista de idiomas com suporte
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 recursos
Observação: o número de telefone não é necessário aqui, pois a fila de chamadas é encerrada antecipadamente por um Atendente Automático
- Applicationid
- Atendente Automático: ce933385-9390-45d1-9512-c8d228074e07
- Fila de chamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07
Observação: o tipo de licença mostrado abaixo (PHONESYSTEM_VIRTUALUSER) deve ser aquele listado pelo Get-MgSubscribedSku
cmdlet acima.
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
Fila de chamada colaborativa de instalações
Obter A ID do grupo de equipe do Facilities
$teamFacilitiesGroupID = (Get-Team -DisplayName "Facilities").GroupID
Obter ID do canal de equipe do Help Desk de Instalações
Get-TeamChannel -GroupId $teamFacilitiesGroupID
$teamFacilitiesHelpDeskChannelID = "{assign ID from output of above command}"
Obter a ID do usuário do proprietário do canal do Help Desk
$teamFacilitiesHelpDeskChannelUserID = (Get-TeamChannelUser -GroupId $teamFacilitiesGroupID -DisplayName "Help Desk" -Role Owner).UserId
Obter em nome da ID da conta de recurso de chamada
$oboResourceAccountID = (Get-CsOnlineUser -Identity "MainAA-RA@contoso.com").Identity
Obter lista de idiomas com suporte
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 recursos
Observação: o número de telefone não é necessário aqui, pois a fila de chamadas é encerrada antecipadamente por um Atendente Automático
- Applicationid
- Atendente Automático: ce933385-9390-45d1-9512-c8d228074e07
- Fila de chamadas: 11cd3e2e-fccb-42ad-ad00-878b93575e07
Observação: o tipo de licença mostrado abaixo (PHONESYSTEM_VIRTUALUSER) deve ser aquele listado pelo Get-MgSubscribedSku
cmdlet acima.
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