Configuration - File d’attente d’appels via PowerShell

Conditions préalables

  • Vérifiez que vous disposez des droits d’administration du locataire.
  • Les agents, les listes de distribution et les canaux Teams mentionnés dans cet article ont déjà été créés.
  1. Déterminez si le MicrosoftTeams module PowerShell est déjà installé.

    Get-InstalledModule -Name MicrosoftTeams
    

    Si le MicrosoftTeams module PowerShell est déjà installé, la sortie de la commande se présente comme suit :

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

    Passez à l’étape 2.

    Si le MicrosoftTeams modèle PowerShell n’est pas déjà installé, passez à l’étape 3.

  2. Mettre à jour le MicrosoftTeams module

    Update-Module MicrosoftTeams
    

    Passez aux scénarios

  3. Installez le MicrosoftTeams modeule PowerShell sur votre ordinateur.

    • Configurer votre ordinateur pour Windows PowerShell

    • Module MSTeams installé

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Module Microsoft Graph installé

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

Scénarios

Ventes (utilisateurs et groupes)

  • Imbriqué derrière le standard automatique : Oui
  • Appel : via le standard automatique Sales uniquement - aucun compte de ressource n’est requis
  • Langue : Anglais ÉTATS-UNIS
  • Message d’accueil : Aucun (les appels sont accueillis par le standard automatique Sales)
  • Musique en attente : lire un fichier audio
    • Nom de fichier : sales-hold-in-queue-music.wav
  • Réponses aux appels : utilisateurs
    • Bill@contoso.com
    • Mary@contoso.com
  • Réponse aux appels : Groupe
    • Sales@contoso.com
  • Mode conférence : Activé
  • Méthode de routage : tourniquet (round robin)
  • Routage basé sur la présence : Activé
  • Les agents d’appel peuvent refuser de passer des appels : Oui
  • Heure d’alerte de l’agent d’appel : 15
  • Gestion du dépassement de capacité d’appel : 200
    • Redirigez vers : Adele@contoso.com
  • Gestion du délai d’expiration des appels : 120 secondes
    • Redirigez vers : Adele@contoso.com
  • Aucun agent n’est géré
    • Appliquer à tous les appels
    • Redirigez vers : Adele@contoso.com
  • Rappel : Non
  • Niveau de service : 20 secondes
  • Utilisateur d’authentification
    • Adele@contoso.com
  • Stratégie des applications vocales : Ventes
  • Enregistrement de conformité : Non
  • Historique des appels partagé : Oui
    • Modèle : Ventes
  • Enregistrement automatique : Non
Développer pour afficher les commandes PowerShell

Connexion

Lorsque vous y êtes invité, entrez vos informations d’identification d’administrateur Teams.

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

Créer un Files audio

Remplacez par d:\\ le chemin d’accès à l’emplacement où les fichiers wav sont stockés sur votre ordinateur.

$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

Créer un modèle d’historique des appels partagé

Créer un enregistrement automatique pour le modèle file d’attente d’appels

Obtenir l’ID des utilisateurs

$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

Obtenir la liste des langues prises en charge

Get-CsAutoAttendantSupportedLanguage

Créer une file d’attente d’appels

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"

Support (Microsoft Shifts)

  • Imbriqué derrière le standard automatique : Oui -
  • Appel : via le standard automatique de support, en interne et via le RTC - compte de ressource requis
  • Langue : Anglais Royaume-Uni
  • Message d’accueil : lire un fichier audio
    • Nom de fichier : support-greeting.wav
  • Musique en attente : lire un fichier audio
    • Nom de fichier : support-hold-in-queue-music.wav
  • Réponse aux appels : Équipe de support microsoft Shifts
    • Support@contoso.com
  • Mode conférence : Activé
  • Méthode de routage : Inactif le plus long
  • Routage basé sur la présence : N/A : activé par défaut en raison de la durée d’inactivité la plus longue
  • Les agents d’appel peuvent refuser de passer des appels : Non
  • Heure d’alerte de l’agent d’appel : 15
  • Gestion du dépassement de capacité d’appel : 200
    • Redirection : Prise en charge de la messagerie vocale partagée
      • Lire un fichier audio (support-shared-voicemail-greeting.wav)
      • Transcription activée
  • Gestion du délai d’expiration des appels : 45 minutes
    • Redirection : Prise en charge de la messagerie vocale partagée
      • TTS : « Nous sommes désolés de vous avoir gardé en attente et nous transférons maintenant votre appel à la messagerie vocale. »
      • Transcription activée
  • Aucun agent n’est géré
  • Rappel : Oui
  • Niveau de service : 30 secondes
  • Utilisateur d’authentification
  • Enregistrement de conformité
  • Historique des appels partagé
  • enregistrement automatique
Développer pour afficher les commandes PowerShell

Connexion

Lorsque vous y êtes invité, entrez vos informations d’identification d’administrateur Teams.

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

Créer des fichiers audio

Remplacez par d:\\ le chemin d’accès à l’emplacement où les fichiers wav sont stockés sur votre ordinateur.

$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

Obtenir l’ID de groupe de l’équipe de support technique

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

Obtenir la liste des langues prises en charge

Get-CsAutoAttendantSupportedLanguage

Créer une file d’attente d’appels

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"

Obtenir les types de licences

Get-MgSubscribedSku

Créer et attribuer un compte de ressource

Un numéro de téléphone n’est pas nécessaire ici, car la file d’attente des appels est imbriquée derrière un standard automatique.

  • Id d’application
    • Standard automatique : ce933385-9390-45d1-9512-c8d228074e07
    • File d’attente des appels : 11cd3e2e-fccb-42ad-ad00-878b93575e07

Le type de licence indiqué après (PHONESYSTEM_VIRTUALUSER) doit être celui répertorié par l’applet de Get-MgSubscribedSku commande .

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

Installations (canal Teams)

  • Imbriqué derrière le standard automatique : Non
  • Appel direct à partir de PSTN : Non (appel interne uniquement)
  • Langue : Français FR
  • Message d’accueil : Aucun
  • Musique en attente : par défaut
  • Répondre aux appels : Équipe : Installations
  • Canal de réponse aux appels : support technique
    • Propriétaire du canal : Fred@contoso.com
  • Mode conférence : Activé
  • Méthode de routage : tourniquet (round robin)
  • Routage basé sur la présence : Activé
  • Les agents d’appel peuvent refuser de passer des appels : Non
  • Heure d’alerte de l’agent d’appel : 15
  • Gestion du dépassement de capacité d’appel : 200
    • Déconnexion
  • Gestion du délai d’expiration des appels : 45 minutes
    • Déconnexion
  • Aucun agent n’est géré
  • Rappel : Oui
  • Niveau de service : 30 secondes
  • Utilisateur d’authentification
  • Enregistrement de conformité
  • Historique des appels partagé
  • enregistrement automatique
Développer pour afficher les commandes PowerShell

Connexion

Lorsque vous y êtes invité, entrez vos informations d’identification d’administrateur Teams.

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

Obtenir l’ID du groupe d’équipe Facilities

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

Obtenir l’ID de canal de l’équipe Facilities Help Desk

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

Obtenir l’ID utilisateur du propriétaire du canal d’assistance Facilities

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

Obtenir au nom de l’ID de compte de ressource appelant

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

Obtenir la liste des langues prises en charge

Get-CsAutoAttendantSupportedLanguage

Créer une file d’attente d’appels

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 

Obtenir les types de licences

Get-MgSubscribedSku

Créer et attribuer un compte de ressource

Un numéro de téléphone n’est pas nécessaire ici, car la file d’attente des appels est imbriquée derrière un standard automatique.

  • Id d’application
    • Standard automatique : ce933385-9390-45d1-9512-c8d228074e07
    • File d’attente des appels : 11cd3e2e-fccb-42ad-ad00-878b93575e07

Le type de licence indiqué après (PHONESYSTEM_VIRTUALUSER) doit être celui répertorié par l’applet de Get-MgSubscribedSku commande .

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

Planifier les standards automatiques Teams et les files d’attente d’appels

Voici ce que vous obtenez avec Téléphonie Microsoft Teams

Créer un standard automatique via des applets de commande