Setup: Anrufwarteschleife über PowerShell

Voraussetzungen

  • Stellen Sie sicher, dass Sie über Mandantenverwaltungsrechte verfügen.
  • Die in diesem Artikel erwähnten Agents, Verteilerlisten und Teams-Kanäle wurden bereits erstellt.
  1. Ermitteln Sie, ob das MicrosoftTeams PowerShell-Modul bereits installiert ist.

    Get-InstalledModule -Name MicrosoftTeams
    

    Wenn das MicrosoftTeams PowerShell-Modul bereits installiert ist, sieht die Ausgabe des Befehls in etwa wie folgt aus:

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

    Fahren Sie mit Schritt 2 fort.

    Wenn das MicrosoftTeams PowerShell-Modell noch nicht installiert ist, fahren Sie mit Schritt 3 fort.

  2. Aktualisieren des Moduls MicrosoftTeams

    Update-Module MicrosoftTeams
    

    Fahren Sie mit den Szenarien fort.

  3. Installieren Sie das MicrosoftTeams PowerShell-Modeule auf Ihrem Computer.

    • Einrichten des Computers für Windows PowerShell

    • MsTeams-Modul installiert

      Install-Module -Name MicrosoftTeams -Force -AllowClobber
      
    • Microsoft Graph-Modul installiert

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

Szenarien

Vertrieb (Benutzer und Gruppen)

  • Geschachtelt hinter der automatischen Telefonzentrale: Ja
  • Anruf: Nur über die automatische Vertriebszentrale – kein Ressourcenkonto erforderlich
  • Sprache: Englisch US
  • Begrüßung: Keine (Anrufe werden von der automatischen Vertriebszentrale begrüßt)
  • Musik im Warteschleifen: Wiedergeben einer Audiodatei
    • Dateiname: sales-hold-in-queue-music.wav
  • Anrufbeantwortung: Benutzer
    • Bill@contoso.com
    • Mary@contoso.com
  • Anrufbeantwortung: Gruppe
    • Sales@contoso.com
  • Konferenzmodus: Ein
  • Routingmethode: Roundrobin
  • Anwesenheitsbasiertes Routing: Ein
  • Anruf-Agents können die Annahme von Anrufen deaktivieren: Ja
  • Anruf-Agent-Warnungszeit: 15
  • Anrufüberlaufbehandlung: 200
    • Umleiten zu: Adele@contoso.com
  • Anruftimeoutbehandlung: 120 Sekunden
    • Umleiten zu: Adele@contoso.com
  • Keine Agents verarbeiten
    • Auf alle Aufrufe anwenden
    • Umleiten zu: Adele@contoso.com
  • Rückruf: Nein
  • Servicelevel: 20 Sekunden
  • Authentifizierungsbenutzer
    • Adele@contoso.com
  • VoIP-Anwendungsrichtlinie: Vertrieb
  • Compliance-Aufzeichnung: Nein
  • Verlauf des freigegebenen Anrufs: Ja
    • Vorlage: Vertrieb
  • Automatische Aufzeichnung: Nein
Erweitern, um PowerShell-Befehle anzuzeigen

Anmeldung

Wenn Sie dazu aufgefordert werden, geben Sie Ihre Teams-Administratoranmeldeinformationen ein.

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

Erstellen von Audio-Files

Ersetzen Sie durch d:\\ den Pfad, in dem die WAV-Dateien auf Ihrem Computer gespeichert sind.

$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

Erstellen einer Vorlage für den freigegebenen Anrufverlauf

Vorlage "Automatische Aufzeichnung für Anrufwarteschleife erstellen"

Abrufen der Benutzer-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

Liste der unterstützten Sprachen abrufen

Get-CsAutoAttendantSupportedLanguage

Erstellen einer Anrufwarteschleife

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-Schichten)

  • Geschachtelt hinter der automatischen Telefonzentrale: Ja -
  • Anruf: Über die automatische Supportzentrale, intern und über das PSTN-Ressourcenkonto erforderlich
  • Sprache: Englisch UK
  • Begrüßung: Wiedergeben einer Audiodatei
    • Dateiname: support-greeting.wav
  • Musik im Warteschleifen: Wiedergeben einer Audiodatei
    • Dateiname: support-hold-in-queue-music.wav
  • Anrufbeantwortung: Microsoft Shifts-Supportteam
    • Support@contoso.com
  • Konferenzmodus: Ein
  • Routingmethode: Längster Leerlauf
  • Anwesenheitsbasiertes Routing: N/A – standardmäßig aktiviert aufgrund des längsten Leerlaufs
  • Anruf-Agents können die Annahme von Anrufen deaktivieren: Nein
  • Anruf-Agent-Warnungszeit: 15
  • Anrufüberlaufbehandlung: 200
    • Umleitung: Unterstützung freigegebener Voicemails
      • Wiedergeben einer Audiodatei (support-shared-voicemail-greeting.wav)
      • Transkription aktiviert
  • Anruftimeoutbehandlung: 45 Minuten
    • Umleitung: Unterstützung freigegebener Voicemails
      • TTS: "Es tut uns leid, dass Sie warten und jetzt Ihren Anruf an Voicemail übertragen."
      • Transkription aktiviert
  • Keine Agents verarbeiten
  • Rückruf: Ja
  • Servicelevel: 30 Sekunden
  • Authentifizierungsbenutzer
  • Compliance-Aufzeichnung
  • Verlauf gemeinsam genutzter Anrufe
  • Automatische Aufzeichnung
Erweitern, um PowerShell-Befehle anzuzeigen

Anmeldung

Wenn Sie dazu aufgefordert werden, geben Sie Ihre Teams-Administratoranmeldeinformationen ein.

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

Erstellen von Audiodateien

Ersetzen Sie durch d:\\ den Pfad, in dem die WAV-Dateien auf Ihrem Computer gespeichert sind.

$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

Abrufen der Gruppen-ID des Supportteams

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

Liste der unterstützten Sprachen abrufen

Get-CsAutoAttendantSupportedLanguage

Erstellen einer Anrufwarteschleife

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"

Abrufen von Lizenztypen

Get-MgSubscribedSku

Erstellen und Zuweisen eines Ressourcenkontos

Hier ist keine Telefonnummer erforderlich, da die Anrufwarteschleife hinter einer automatischen Telefonzentrale geschachtelt ist.

  • Applicationid
    • Automatische Telefonzentrale: ce933385-9390-45d1-9512-c8d228074e07
    • Anrufwarteschleife: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Der im Anschluss (PHONESYSTEM_VIRTUALUSER) angezeigte Lizenztyp muss vom Cmdlet aufgelistet Get-MgSubscribedSku sein.

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

Einrichtungen (Teams-Kanal)

  • Geschachtelt hinter der automatischen Telefonzentrale: Nein
  • Direktanrufe aus dem PSTN: Nein (nur interne Anrufe)
  • Sprache: Französisch FR
  • Grußwort: Keine
  • Musik im Warteschleifen: Standard
  • Anrufbeantwortung: Team: Einrichtungen
  • Anrufbeantwortungskanal: Helpdesk
    • Kanalbesitzer: Fred@contoso.com
  • Konferenzmodus: Ein
  • Routingmethode: Roundrobin
  • Anwesenheitsbasiertes Routing: Ein
  • Anruf-Agents können die Annahme von Anrufen deaktivieren: Nein
  • Anruf-Agent-Warnungszeit: 15
  • Anrufüberlaufbehandlung: 200
    • Verbindung trennen
  • Anruftimeoutbehandlung: 45 Minuten
    • Verbindung trennen
  • Keine Agents verarbeiten
  • Rückruf: Ja
  • Servicelevel: 30 Sekunden
  • Authentifizierungsbenutzer
  • Compliance-Aufzeichnung
  • Verlauf gemeinsam genutzter Anrufe
  • Automatische Aufzeichnung
Erweitern, um PowerShell-Befehle anzuzeigen

Anmeldung

Wenn Sie dazu aufgefordert werden, geben Sie Ihre Teams-Administratoranmeldeinformationen ein.

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

Abrufen der Gruppen-ID des Facilities-Teams

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

Abrufen der Teamkanal-ID des Helpdesks für Einrichtungen

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

Abrufen der Benutzer-ID des Kanalbesitzers des Helpdesks für Einrichtungen

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

Abrufen im Namen der aufrufenden Ressourcenkonto-ID

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

Liste der unterstützten Sprachen abrufen

Get-CsAutoAttendantSupportedLanguage

Erstellen einer Anrufwarteschleife

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 

Abrufen von Lizenztypen

Get-MgSubscribedSku

Erstellen und Zuweisen eines Ressourcenkontos

Hier ist keine Telefonnummer erforderlich, da die Anrufwarteschleife hinter einer automatischen Telefonzentrale geschachtelt ist.

  • Applicationid
    • Automatische Telefonzentrale: ce933385-9390-45d1-9512-c8d228074e07
    • Anrufwarteschleife: 11cd3e2e-fccb-42ad-ad00-878b93575e07

Der im Anschluss (PHONESYSTEM_VIRTUALUSER) angezeigte Lizenztyp muss vom Cmdlet aufgelistet Get-MgSubscribedSku sein.

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

Planen für automatische Teams-Telefonzentralen und Anrufwarteschleifen

Hier erfahren Sie, was Sie mit Microsoft Teams Telefon

Erstellen einer automatischen Telefonzentrale über Cmdlets