Configurazione - Coda delle chiamate tramite PowerShell

Prerequisiti

  • Assicurarsi di avere i diritti di amministrazione del tenant.
  • Gli agenti, le liste di distribuzione e i canali di Teams menzionati in questo articolo sono già stati creati.
  1. Determinare se il MicrosoftTeams modulo PowerShell è già installato.

    Get-InstalledModule -Name MicrosoftTeams
    

    Se il MicrosoftTeams modulo PowerShell è già installato, l'output del comando sarà simile al seguente:

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

    Procedere al passaggio 2.

    Se il modello PowerShell MicrosoftTeams non è già installato, vai al passaggio 3.

  2. Aggiornare il MicrosoftTeams modulo

    Update-Module MicrosoftTeams
    

    Procedi con gli scenari

  3. Installare il MicrosoftTeams modem PowerShell nel computer.

    • Configurare il computer per Windows PowerShell

    • Modulo MSTeams installato

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Modulo Microsoft Graph installato

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

Scenari

Vendite (utenti e gruppi)

  • Annidato dietro l'operatore automatico: Sì
  • Chiamata: solo tramite l'operatore automatico di vendita - non è necessario un account di risorsa
  • Lingua: Inglese Stati Uniti
  • Messaggio di saluto: Nessuno (le chiamate vengono accolte dall'operatore automatico Vendite)
  • Musica di attesa: riprodurre un file audio
    • Nome file: sales-hold-in-queue-music.wav
  • Risponditore di chiamata: utenti
    • Bill@contoso.com
    • Mary@contoso.com
  • Risposta alle chiamate: Gruppo
    • Sales@contoso.com
  • Modalità conferenza: attivata
  • Metodo di instradamento: Round Robin
  • Routing basato sulla presenza: attivato
  • Gli agenti di chiamata possono rifiutare esplicitamente di ricevere chiamate: Sì
  • Tempo di allerta agente di chiamata: 15
  • Gestione dell'overflow delle chiamate: 200
    • Reindirizza a: Adele@contoso.com
  • Gestione del timeout di chiamata: 120 secondi
    • Reindirizza a: Adele@contoso.com
  • Nessun agente che gestisce
    • Applica a tutte le chiamate
    • Reindirizza a: Adele@contoso.com
  • Richiamata: No
  • Livello di servizio: 20 secondi
  • Utente di autenticazione
    • Adele@contoso.com
  • Applicazioni vocali Criterio: Vendite
  • Registrazione della conformità: No
  • Cronologia delle chiamate condivise: Sì
    • Modello: Vendite
  • Registrazione automatica: No
Espandere per visualizzare i comandi di PowerShell

Accesso

Quando richiesto, immettere le credenziali di amministratore di Teams.

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

Creare file audio Files

Sostituisci d:\\ con il percorso in cui sono archiviati i file wav nel computer.

$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

Creare un modello di registro delle chiamate condiviso

Crea registrazione automatica per il modello di coda delle chiamate

Ottenere l'ID utenti

$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

Ottieni l'elenco delle lingue supportate

Get-CsAutoAttendantSupportedLanguage

Crea coda di chiamata

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"

Supporto (turni Microsoft)

  • Annidato dietro l'operatore automatico: sì -
  • Chiamata: tramite l'operatore automatico di supporto, internamente e tramite PSTN - è necessario un account di risorsa
  • Lingua: Inglese Regno Unito
  • Messaggio di saluto: riproduci un file audio
    • Nome file: support-greeting.wav
  • Musica di attesa: riprodurre un file audio
    • Nome file: support-hold-in-queue-music.wav
  • Risposta alle chiamate: team di supporto di Microsoft Turns
    • Support@contoso.com
  • Modalità conferenza: attivata
  • Metodo di instradamento: inattivo più lungo
  • Routing basato sulla presenza: N/D - attivato per impostazione predefinita a causa del tempo di inattività più lungo
  • Gli agenti di chiamata possono rifiutare esplicitamente di rispondere alle chiamate: No
  • Tempo di allerta agente di chiamata: 15
  • Gestione dell'overflow delle chiamate: 200
    • Reindirizzamento: supporto della segreteria telefonica condivisa
      • Riprodurre un file audio (support-shared-voicemail-greeting.wav)
      • Trascrizione abilitata
  • Gestione del timeout di chiamata: 45 minuti
    • Reindirizzamento: supporto della segreteria telefonica condivisa
      • TTS: "Siamo spiacenti di averti fatto aspettare e ora stiamo trasferendo la tua chiamata alla segreteria telefonica."
      • Trascrizione abilitata
  • Nessun agente che gestisce
  • Richiamata: Sì
  • Livello di servizio: 30 secondi
  • Utente di autenticazione
  • Registrazione della conformità
  • Cronologia delle chiamate condivise
  • Registrazione automatica
Espandere per visualizzare i comandi di PowerShell

Accesso

Quando richiesto, immettere le credenziali di amministratore di Teams.

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

Creare file audio

Sostituisci d:\\ con il percorso in cui sono archiviati i file wav nel computer.

$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

Ottenere l'ID del gruppo del team di supporto

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

Ottieni l'elenco delle lingue supportate

Get-CsAutoAttendantSupportedLanguage

Crea coda di chiamata

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"

Ottenere i tipi di licenza

Get-MgSubscribedSku

Creare e assegnare un account di risorsa

In questo caso, non è necessario un numero di telefono perché la coda delle chiamate è annidata dietro un operatore automatico.

  • ID applicazione
    • Operatore automatico: ce933385-9390-45d1-9512-c8d228074e07
    • Coda di chiamata: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Il tipo di licenza indicato dopo (PHONESYSTEM_VIRTUALUSER) deve essere uno elencato dal 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

Strutture (canale di Teams)

  • Annidato dietro l'operatore automatico: No
  • Chiamata diretta da PSTN: No (solo chiamate interne)
  • Lingua: Francese FR
  • Messaggio di saluto: nessuno
  • Musica d'attesa: impostazione predefinita
  • Risposta alle chiamate: Team: Strutture
  • Canale risponditore: Help Desk
    • Proprietario del canale: Fred@contoso.com
  • Modalità conferenza: attivata
  • Metodo di instradamento: Round Robin
  • Routing basato sulla presenza: attivato
  • Gli agenti di chiamata possono rifiutare esplicitamente di rispondere alle chiamate: No
  • Tempo di allerta agente di chiamata: 15
  • Gestione dell'overflow delle chiamate: 200
    • Disconnetti
  • Gestione del timeout di chiamata: 45 minuti
    • Disconnetti
  • Nessun agente che gestisce
  • Richiamata: Sì
  • Livello di servizio: 30 secondi
  • Utente di autenticazione
  • Registrazione della conformità
  • Cronologia delle chiamate condivise
  • Registrazione automatica
Espandere per visualizzare i comandi di PowerShell

Accesso

Quando richiesto, immettere le credenziali di amministratore di Teams.

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

Ottenere l'ID del gruppo del team Facilities

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

Ottenere l'ID canale del team Help Desk delle strutture

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

Ottenere l'Help Desk delle strutture ID utente proprietario del canale

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

Ottenere per conto di ID account risorsa chiamante

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

Ottieni l'elenco delle lingue supportate

Get-CsAutoAttendantSupportedLanguage

Crea coda di chiamata

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

Ottenere i tipi di licenza

Get-MgSubscribedSku

Creare e assegnare un account di risorsa

In questo caso, non è necessario un numero di telefono perché la coda delle chiamate è annidata dietro un operatore automatico.

  • ID applicazione
    • Operatore automatico: ce933385-9390-45d1-9512-c8d228074e07
    • Coda di chiamata: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Il tipo di licenza indicato dopo (PHONESYSTEM_VIRTUALUSER) deve essere uno elencato dal 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

Pianificare per Teams Operatori automatici e code di chiamate

Ecco cosa ottieni con il Telefono di Microsoft Teams

Creare un operatore automatico tramite cmdlet