Fehler im Teams Auto Attendant beheben
Feiertage, Zeitzonen, Menüziele und Ressourcenkonten systematisch prüfenTeams Auto Attendant: wenn Anrufer im Nirwana landen

|
WISSEN Alles zur Teams-Telefonie: Direct Routing, SBC, Wählpläne, Routing, Auto Attendants und Betrieb an einem Ort. |
BERATUNG Deine Zentrale verliert Anrufer, und keiner weiß, wo? Wir gehen Anrufflüsse, Ressourcenkonten und Routing mit dir durch. |
SCHULUNG Für Admins, die Auto Attendants, Warteschlangen und Rufwege selbst sicher bauen und prüfen wollen. |
|---|
Ein Auto Attendant ist die freundliche Computerstimme, die deine Anrufer begrüßt, ihnen ein Menü vorliest und sie dann an die richtige Stelle weiterreicht. So weit die Theorie. In der Praxis ist er oft die freundliche Computerstimme, die Anrufer am Ostermontag in ein besetztes Büro schickt, um acht Uhr morgens die Feierabendansage abspielt oder nach „Für den Vertrieb drücken Sie die 3“ einfach gar nichts mehr tut. Der Anrufer landet im Nirwana, und du erfährst davon drei Wochen später über die Geschäftsführung.
Die gute Nachricht: Typische teams auto attendant fehler sind keine Mysterien. Fast immer steckt eine von fünf Ursachen dahinter: fehlende Feiertage, eine falsche Zeitzone, eine Menüoption ohne gültiges Ziel, ein Ressourcenkonto ohne Rufnummer, Lizenz oder Verknüpfung oder eine Verschachtelung, bei der das falsche Konto die Rechnung für den Weg nach außen bezahlen soll. Dieser Beitrag zeigt dir, wie du jede davon mit lesenden PowerShell-Befehlen nachweist, wie du sie behebst und wie du den Rückweg offen hältst. Er gehört zur Serie rund um die Teams-Telefonie. Wenn Anrufe gar nicht erst beim Auto Attendant ankommen, sondern schon vorher scheitern, lies zuerst Eingehende Anrufe kommen in Teams nicht an.
|
FAKTEN · Das Beispiel in diesem Beitrag Erfundener Tenant Contoso (contoso.com) mit Zentrale in Frankfurt und Standorten in Köln, Berlin, Hamburg und München. Direct Routing über sbc1.contoso.com und sbc2.contoso.com. Die Zentralnummer +49 69 555 0100 gehört dem Ressourcenkonto aa-zentrale@contoso.com, das mit dem Auto Attendant AA-Zentrale-Frankfurt verknüpft ist. Dessen Menü verteilt auf die Warteschlangen CQ-Vertrieb, CQ-Service und CQ-Buchhaltung, auf einen zweiten Auto Attendant AA-Verzeichnis für die Suche nach Namen und über den Operator auf die Warteschlange CQ-Zentrale. |
|---|
Das Symptom: Anrufer verschwinden, und intern klingelt nichts
So klingt es im Helpdesk
Fehler im Auto Attendant sind besonders gemein, weil sie fast nie bei den Leuten auffallen, die sie beheben könnten. Niemand in der Firma ruft die eigene Zentrale an. Die Meldungen kommen deshalb über Umwege, und sie klingen so:
„Ein Kunde sagt, wir hätten am Ostermontag offen gehabt. Er ist im Menü gelandet und hat dann zwanzig Minuten Musik gehört.“
„Morgens bis zehn kommt immer die Ansage, dass wir geschlossen haben. Wir sitzen aber seit acht da.“
„Wenn man die 3 drückt, passiert nichts. Dann kommt das Menü noch mal. Und noch mal.“
„Die Buchhaltung hat seit dem Umzug keinen einzigen Anruf mehr bekommen. Die finden das gar nicht so schlimm.“
„Die neue Servicenummer ist eingerichtet, aber wer sie wählt, hört nur Besetzt.“
„Der Bereitschaftsdienst nachts geht nur, wenn man über die Hamburger Nummer kommt.“
Der vorletzte Satz deutet auf ein Ressourcenkonto ohne Rufnummer oder Verknüpfung hin, der letzte auf eine Verschachtelung, bei der nur ein Einstiegspunkt die Weiterleitung nach außen beherrscht. Die ersten beiden sind Kalenderprobleme. Und die Buchhaltung? Die hat ein Ziel, das es seit dem Umzug nicht mehr gibt. Sie wird es dir nicht übel nehmen, die Kunden schon.
Die typischen Fehlerbilder auf einen Blick
|
Was der Anrufer erlebt |
Wahrscheinliche Ursache |
Wo du zuerst schaust |
|---|---|---|
|
Am Feiertag normales Menü, dann leere Warteschlange |
Feiertag fehlt im Zeitplan oder ist nur für das Vorjahr eingetragen |
Get-CsAutoAttendantHolidays, Zuordnung im Auto Attendant |
|
Feierabendansage mitten am Vormittag, Menü am Abend |
Zeitzone des Auto Attendants falsch, zum Beispiel UTC |
TimeZoneId |
|
Taste gedrückt, Menü wiederholt sich |
Taste wird angesagt, ist aber nicht belegt |
MenuOptions, Ansagetext |
|
Taste gedrückt, Stille oder Abbruch |
Ziel gelöscht, ohne Lizenz oder ohne Telefonie |
CallTarget der Menüoption |
|
„Zentrale“ gesagt oder 0 gedrückt, nichts passiert |
Operator gesetzt, aber keiner Taste zugeordnet |
Operator, Taste 0 |
|
Nummer gewählt, sofort Besetzt oder Ansage des Netzes |
Rufnummer nicht dem Ressourcenkonto zugewiesen oder Konto nicht verknüpft |
Get-CsPhoneNumberAssignment, Get-CsOnlineApplicationInstanceAssociation |
|
Weiterleitung auf Handy oder externe Nummer kommt nie an |
Erstes Ressourcenkonto ohne Voice Routing Policy |
Get-CsUserPolicyAssignment am ersten Konto |
|
Voicemail-Ansage läuft, Nachricht kommt nie an |
Microsoft-365-Gruppe nimmt keine externen E-Mails an |
Eigenschaften der Gruppe |
|
WARNUNG · Der Auto Attendant beschwert sich nicht Weder der Auto Attendant noch das Teams Admin Center warnen dich, wenn ein Feiertag fehlt, eine Zeitzone nicht passt oder ein Ziel inzwischen gelöscht wurde. Die Konfiguration ist formal gültig. Sie tut nur nicht, was du meinst. Das ist der Unterschied zu einem Routing-Fehler, der wenigstens einen SIP-Code hinterlässt. |
|---|
Wie es dazu kommt: fünf Stellen, an denen der Anruf abbiegt
Ein eingehender Anruf auf die Zentralnummer läuft bei Direct Routing durch eine feste Kette: SBC › Rufnummer › Ressourcenkonto › Auto Attendant › Zeitweiche › Menü › Ziel. Bei einem Ziel außerhalb von Teams geht es weiter über Voice Routing Policy › PSTN Usage › Voice Route › SBC. Jedes Glied kann für sich korrekt aussehen und trotzdem nicht zum nächsten passen. Die Skizze zeigt die fünf Stellen, die in der Praxis am häufigsten reißen.

Falle 1: Ressourcenkonto ohne Nummer, Lizenz oder Verknüpfung
Der Auto Attendant selbst hat keine Rufnummer. Die Nummer gehört einem Ressourcenkonto, und dieses Konto wird mit dem Auto Attendant verknüpft. Damit Anrufer von außen durchkommen, müssen drei Dinge zusammenpassen:
Lizenz: Jedes Ressourcenkonto braucht laut Microsoft die kostenlose Lizenz „Microsoft Teams Phone Resource Account“. Im Mandanten muss außerdem mindestens eine reguläre Teams-Phone-Lizenz vorhanden sein.
Rufnummer: Bei Direct Routing weist du die Nummer dem Ressourcenkonto mit dem Typ DirectRouting zu. Hängt sie noch an einem Benutzer oder an einem alten Konto, landet der Anruf dort oder nirgends.
Verknüpfung: Das Ressourcenkonto muss mit genau diesem Auto Attendant verknüpft sein. Ein Konto, das für eine Warteschlange angelegt wurde, hat eine andere Anwendungs-ID und passt nicht zum Auto Attendant.
Wie du doppelte Rufnummernzuweisungen findest, steht in Rufnummer in Teams doppelt vergeben. Die Lizenz ist übrigens auch dann Pflicht, wenn das Konto „nur kurz zum Testen“ angelegt wurde. Kurze Tests haben in der Teams-Telefonie die Angewohnheit, jahrelang in Produktion zu bleiben.
Falle 2: Die Zeitzone, in der der Auto Attendant lebt
Jeder Auto Attendant hat eine eigene Zeitzone. Laut Microsoft-Dokumentation zu New-CsAutoAttendant werden alle Zeitpläne in dieser Zeitzone ausgewertet: Geschäftszeiten, Feierabend und Feiertage. Nicht in der Zeitzone des Admins, nicht in der des Mandanten, nicht in der des Anrufers. Wer einen Auto Attendant per Skript anlegt und das Beispiel aus der Dokumentation übernimmt, bekommt dort „UTC“. Für Frankfurt liegt das im Winter eine Stunde, im Sommer zwei Stunden daneben.

Dazu kommt die Rangfolge der Anrufflüsse. Der Standardfluss gilt immer dann, wenn kein anderer Zeitplan aktiv ist; er ist also in der Regel dein Geschäftszeitenfluss. Der Fluss nach Geschäftszeiten hat Vorrang vor dem Standard, und Feiertage haben laut Microsoft Vorrang vor dem Feierabend. Ist ein Feiertag nicht eingetragen, gibt es keine Ausnahme, und der normale Geschäftstag läuft. Mit Menü, mit Warteschlangen, ohne Menschen.
|
AUS DER PRAXIS · Ein Maschinenbauer mit zwölf Standorten Nach einer Migration hatten alle Auto Attendants die Zeitzone UTC, weil das Migrationsskript sie so angelegt hatte. Im Winter fiel das kaum auf: Die Ansage „Wir sind ab 8 Uhr für Sie da“ lief eben bis 9 Uhr. Mit der Sommerzeit wurden daraus zwei Stunden, und der Vertrieb wunderte sich über ruhige Vormittage und volle Mailboxen. Die Korrektur dauerte zehn Minuten. Die Suche danach drei Wochen. |
|---|
Falle 3: Feiertage, die es nur im Vorjahr gab
Feiertage legst du im Teams Admin Center unter Sprache › Feiertage als feste Datumsbereiche an und ordnest sie dann dem Auto Attendant zu. Wichtig: Ein Feiertag in Teams ist kein wiederkehrendes Ereignis, sondern eine Liste konkreter Daten mit Start- und Endzeit. Ostermontag 2026 ist kein Ostermontag 2027. Wer die Daten für das nächste Jahr nicht nachträgt, hat ab dem 1. Januar wieder Geschäftsbetrieb an jedem Feiertag, zumindest aus Sicht des Auto Attendants.
|
Grenze oder Verhalten |
Wert laut Microsoft-Dokumentation |
Was es für dich bedeutet |
|---|---|---|
|
Datumsbereiche je Feiertag |
bis zu 50 |
Mehrere Jahre in einem Feiertag sind möglich, zum Beispiel „Ostermontag“ mit 2027 bis 2031 |
|
Feiertagssätze je Auto Attendant |
bis zu 20 |
Bundesweite und regionale Feiertage lassen sich trennen |
|
Ganzer Tag |
Ende am Folgetag um 00:00 |
Ein Feiertag von 00:00 bis 23:30 lässt eine halbe Stunde offen |
|
Zeitraster in PowerShell |
30- bzw. 60-Minuten-Grenzen |
„24.12. ab 12:00“ geht, „ab 12:15“ nicht |
|
Rangfolge |
Feiertag vor Feierabend vor Standard |
Ein fehlender Feiertag fällt auf den normalen Tagesablauf zurück |
|
Zeitbasis |
Zeitzone des Auto Attendants |
Mit UTC beginnt der Feiertag in Frankfurt erst um 01:00 bzw. 02:00 Uhr Ortszeit |
Dazu kommt der deutsche Föderalismus. Ein Auto Attendant für Frankfurt braucht Fronleichnam, einer für Hamburg den Reformationstag, einer für Berlin den Internationalen Frauentag. Wenn alle Standorte denselben bundesweiten Feiertagssatz nutzen, ist irgendwo immer offen, obwohl zu ist. Die Einzelheiten zur Pflege beschreibt Microsoft unter Einrichten von Feiertagen.
Falle 4: Menüoption ohne Ziel
Im Teams Admin Center kannst du die Tasten 0 bis 9, Stern und Raute einem Ziel zuordnen. Die Ansage dazu ist ein separater Text oder eine Audiodatei. Und genau da beginnt das Problem: Der Auto Attendant prüft nicht, ob deine Ansage zu deinen Tasten passt. „Für die Buchhaltung drücken Sie die 3“ funktioniert nur, wenn Taste 3 auch belegt ist. Ist sie es nicht, passiert aus Sicht des Anrufers nichts Sinnvolles, und das Menü beginnt von vorn.
Die zweite Variante ist subtiler: Die Taste ist belegt, aber das Ziel ist verwaist. Typische Kandidaten sind:
Person ohne Telefonie: Das Ziel muss ein sprachfähiger Benutzer sein. Hat die Person das Unternehmen verlassen oder die Teams-Phone-Lizenz verloren, zeigt die Taste ins Leere.
Gelöschtes Ressourcenkonto: Nach einem Aufräumen der Ressourcenkonten zeigen alte Menüs noch auf Konten, die es nicht mehr gibt.
Geteilte Voicemail: Die Microsoft-365-Gruppe muss laut Microsoft E-Mails von außerhalb der Organisation annehmen. Sonst läuft die Ansage, aber die Nachricht kommt nicht an.
Externe Nummer: Das Ziel ist eine Rufnummer außerhalb von Teams, aber dem zuständigen Ressourcenkonto fehlt der Weg nach draußen (siehe Falle 5).
Operator ohne Taste: Microsoft weist ausdrücklich darauf hin: Setzt du einen Operator, musst du ihm auch eine Taste zuordnen, sonst ist die Operator-Funktion nicht aktiv, auch nicht per Sprachbefehl.
|
WICHTIG · Der Operator ist dein Sicherheitsnetz Laut Microsoft leitet der Auto Attendant Anrufer zum Operator, wenn sie im Menü nichts auswählen oder wenn bei der Verarbeitung ein Fehler auftritt, etwa bei einer Weiterleitung auf eine ungültige Rufnummer. Ein Auto Attendant ohne Operator hat dieses Netz nicht. Setz ihn, ordne ihm Taste 0 zu und lass ihn auf eine Warteschlange zeigen, nicht auf eine einzelne Person, die gerade Urlaub hat. |
|---|
Falle 5: Verschachtelte Attendants und der Weg nach draußen
Größere Anrufflüsse bestehen aus mehreren Ebenen: Zentrale › Sprachauswahl › Abteilung › Warteschlange. Microsoft nennt das verschachtelte Anrufflüsse und kennt zwei Arten, eine Ebene anzuhängen: direkt als Sprach-App oder über das Ressourcenkonto der nächsten Ebene.
|
Art der Verschachtelung |
Ressourcenkonto der inneren Ebene |
Weg nach draußen |
|---|---|---|
|
Direkt als Sprach-App (empfohlen) |
nicht nötig |
hängt am ersten Ressourcenkonto, das den Anruf angenommen hat |
|
Über das Ressourcenkonto |
nötig, mit Lizenz „Teams Phone Resource Account“ |
zusätzliche Konten, Lizenzen und Richtlinien, die alle stimmen müssen |
Laut Microsoft brauchen direkt verschachtelte Sprach-Apps kein eigenes Ressourcenkonto, auch dann nicht, wenn sie Anrufe nach außen weiterleiten. Lizenziert wird das erste Konto, das den Anruf annimmt. Für Weiterleitungen an externe Nummern braucht dieses Konto bei Direct Routing zusätzlich eine Voice Routing Policy; eine Rufnummer ist dafür laut Microsoft optional. Das erklärt den Helpdesk-Satz vom Bereitschaftsdienst: Kommt der Anruf über die Hamburger Nummer, deren Konto eine Policy hat, klappt die Weiterleitung. Kommt er über Frankfurt, wo die Policy fehlt, scheitert dieselbe Menüoption zwei Ebenen tiefer.
Welche Route die Weiterleitung dann nimmt, entscheidet die bekannte Kette aus Voice Routing Policy, PSTN Usage und Voice Route; das ist in Voice Routing Policy, PSTN Usage und Voice Route: Reihenfolge verstehen ausführlich beschrieben. Welche Rufnummer der Angerufene sieht, hängt bei Direct Routing vom P-Asserted-Identity-Verhalten am SBC ab; mehr dazu in Rufnummernanzeige in Teams falsch: CLIP, Caller ID Policy und SBC. Beachte außerdem: Weiterleitungen zwischen Calling Plan, Operator Connect und Direct Routing unterstützt Microsoft nicht.
|
WARNUNG · Kreisverkehr statt Anrufer-Führung Wenn AA-Service eine Option „zurück zur Zentrale“ hat und AA-Zentrale wieder auf AA-Service zeigt, können Anrufer Runden drehen, bis sie aufgeben. Das ist technisch kein Fehler, aber für den Anrufer fühlt es sich genauso an. Plane jeden Fluss so, dass er nach höchstens zwei Ebenen bei einem Menschen, einer Warteschlange oder einer Voicemail endet. Microsofts eigene Darstellung der beiden Verschachtelungsarten findest du unter Planung verschachtelter Anrufflüsse. |
|---|
Diagnose Schritt für Schritt
Diagnostiziere in Anrufrichtung, nicht dort, wo du den Fehler vermutest. Alle Befehle unten sind lesend und stammen aus dem PowerShell-Modul MicrosoftTeams; nur die Lizenzprüfung läuft über Microsoft Graph. Melde dich mit Connect-MicrosoftTeams an, bevor du loslegst.

Schritt 1: Gehört die Nummer dem richtigen Konto?
|
Get-CsPhoneNumberAssignment -TelephoneNumber "+49695550100" | Select-Object TelephoneNumber, NumberType, AssignedPstnTargetId, PstnAssignmentStatus |
|---|
Erwartet: NumberType DirectRouting und als Ziel die Objekt-ID von aa-zentrale@contoso.com. Kommt nichts zurück, ist die Nummer niemandem zugewiesen; der SBC bekommt dann eine Ablehnung, typischerweise einen 404. Was solche Codes bedeuten, steht in SIP-Fehlercodes in Teams Direct Routing verstehen.
Schritt 2: Ist das Ressourcenkonto vollständig?
|
$ra = Get-CsOnlineApplicationInstance -Identity "aa-zentrale@contoso.com" $ra | Select-Object DisplayName, PhoneNumber, ApplicationId, ObjectId
# Mit welchem Auto Attendant ist das Konto verknüpft? Get-CsOnlineApplicationInstanceAssociation -Identity $ra.ObjectId
# Weg nach draußen (nur für externe Ziele nötig) Get-CsUserPolicyAssignment -Identity "aa-zentrale@contoso.com" -PolicyType OnlineVoiceRoutingPolicy
# Lizenz (Microsoft Graph PowerShell) Get-MgUserLicenseDetail -UserId "aa-zentrale@contoso.com" | Select-Object SkuPartNumber |
|---|
Die ApplicationId verrät den Typ: ce933385-9390-45d1-9512-c8d228074e07 steht für Auto Attendant, 11cd3e2e-fccb-42ad-ad00-878b93575e07 für Warteschlange. Die Verknüpfung muss auf die Identity deines Auto Attendants zeigen. Bei der Lizenz suchst du nach PHONESYSTEM_VIRTUALUSER, dem technischen Namen der Lizenz „Teams Phone Resource Account“. Im Teams Admin Center findest du dieselben Angaben unter Sprache › Ressourcenkonten.
Schritt 3: Zeitzone, Geschäftszeiten und Feiertage
|
$aa = Get-CsAutoAttendant | Where-Object Name -eq "AA-Zentrale-Frankfurt" $aa | Select-Object Name, Identity, TimeZoneId, LanguageId
# Welche Ausnahmen sind zugeordnet und aktiv? $aa.CallHandlingAssociations | Select-Object Type, Enabled, ScheduleId, CallFlowId
# Feiertage für das kommende Jahr (Get-CsAutoAttendantHolidays -Identity $aa.Identity -Years 2027) | ForEach-Object { $_.Name; $_.DateTimeRanges }
# Unterstützte Zeitzonen mit Berlin im Namen Get-CsAutoAttendantSupportedTimeZone | Where-Object DisplayName -like "*Berlin*" |
|---|
Für deutsche Standorte erwartest du die TimeZoneId „W. Europe Standard Time“. Steht dort UTC oder eine Zeitzone eines anderen Kontinents, hast du deinen Befund. Liefert Get-CsAutoAttendantHolidays für 2027 nichts zurück, ist ab Neujahr jeder Feiertag ein Arbeitstag. Die DateTimeRanges musst du laut Dokumentation explizit ausgeben, sonst zeigt die Ausgabe nur den Namen.
|
TIPP · Ein Feiertagsplan kann mehreren Attendants gehören Feiertagszeitpläne sind eigene Objekte. Get-CsOnlineSchedule zeigt in AssociatedConfigurationIds, welche Auto Attendants einen Zeitplan nutzen. Das ist praktisch, weil du bundesweite Feiertage nur einmal pflegst. Es heißt aber auch: Wer den Plan für Frankfurt ändert, ändert ihn vielleicht auch für Köln und München. |
|---|
Schritt 4: Menü, Tasten und Operator
|
# Ansage und Tasten im Standardfluss (Geschäftszeit) $aa.DefaultCallFlow.Menu.Prompts | Select-Object ActiveType, TextToSpeechPrompt $aa.DefaultCallFlow.Menu.MenuOptions | Select-Object DtmfResponse, Action, @{n="Zieltyp"; e={$_.CallTarget.Type}}, @{n="ZielId"; e={$_.CallTarget.Id}}
# Dasselbe für Feierabend- und Feiertagsflüsse foreach ($cf in $aa.CallFlows) { "— " + $cf.Name $cf.Menu.MenuOptions | Select-Object DtmfResponse, Action, @{n="Zieltyp"; e={$_.CallTarget.Type}}, @{n="ZielId"; e={$_.CallTarget.Id}} }
# Operator $aa.Operator |
|---|
Leg die Ausgabe neben den Ansagetext. Jede Taste, die angesagt wird, muss in den MenuOptions auftauchen, und umgekehrt. Steht ein Operator in $aa.Operator, aber keine Option mit der Aktion TransferCallToOperator, ist der Operator nicht erreichbar.
Schritt 5: Gibt es die Ziele noch?
Der Zieltyp aus Schritt 4 sagt dir, womit du weiterprüfst:
|
Zieltyp |
Bedeutung |
Lesende Prüfung |
|---|---|---|
|
User |
Person in der Organisation |
Get-CsOnlineUser -Identity <ZielId> | Select-Object DisplayName, EnterpriseVoiceEnabled, AccountEnabled |
|
ApplicationEndpoint |
Ressourcenkonto einer Sprach-App |
Get-CsOnlineApplicationInstance -Identity <ZielId>, danach die Verknüpfung wie in Schritt 2 |
|
ConfigurationEndpoint |
Sprach-App direkt (verschachtelt) |
Get-CsAutoAttendant -Identity <ZielId> oder Get-CsCallQueue -Identity <ZielId> |
|
ExternalPstn |
Externe Rufnummer |
Voice Routing Policy des ersten Ressourcenkontos, dann PSTN Usage und Voice Route |
|
SharedVoicemail |
Voicemail einer Microsoft-365-Gruppe |
Get-UnifiedGroup -Identity <ZielId> | Select-Object DisplayName, RequireSenderAuthenticationEnabled (Exchange Online) |
Bei der geteilten Voicemail muss RequireSenderAuthenticationEnabled auf False stehen, damit externe Absender, und damit auch die Voicemail-Zustellung, angenommen werden. Für verschachtelte Warteschlangen setzt sich die Prüfung dort fort, wo der Beitrag Teams-Warteschlange legt auf: Überlauf und Timeout richtig einstellen anfängt: bei Überlauf, Timeout und Agenten.
Im Teams Admin Center
Unter Sprache › Automatische Telefonzentralen siehst du für jeden Auto Attendant Zeitzone, Ressourcenkonten und die Anrufflüsse. Der letzte Schritt des Assistenten zeigt eine grafische Darstellung des Anrufflusses, die du als PDF exportieren kannst; das ist die schnellste Art, Ansage und Tasten nebeneinanderzulegen. Microsoft bietet außerdem einen Diagnosetest an, der für ein Ressourcenkonto prüft, ob der Auto Attendant Anrufe annehmen kann, und Hinweise zur Behebung gibt. Du startest ihn aus der Microsoft-Dokumentation zum Auto Attendant heraus im Microsoft 365 Admin Center. Get-CsAutoAttendantStatus -Identity $aa.Identity zeigt zusätzlich den Bereitstellungsstatus von Audiodateien und der Suche nach Namen.
|
WERKZEUG · So findet es der Teams-Telefonie Diagnostiker Der Teams-Telefonie Diagnostiker liest die Konfiguration deines Tenants und bewertet sie. Für Fehler hinter einem Auto Attendant helfen drei Funktionen besonders: Der Benutzer-Steckbrief zeigt für einen Benutzer Rufnummer, Lizenzen, Standort und die effektiven Richtlinien samt der Befunde, die ihn betreffen. Damit prüfst du schnell, ob die Person hinter einer Menütaste überhaupt telefonieren kann. Der Rufweg-Simulator spielt für eine Zielnummer die Kette Wählplan › Normalisierung › Voice Routing Policy › PSTN Usage › Voice Route › Gateway durch und zeigt, an welchem Glied sie abbricht. Simuliere die externe Weiterleitungsnummer mit einem Benutzer, der dieselbe Voice Routing Policy hat wie das Ressourcenkonto. Die Drift-Erkennung zeigt, was sich seit einem früheren Stand geändert hat, etwa eine entzogene Richtlinie oder eine geänderte Route. Ampel, Befunde mit Prüffall und Bericht fassen das für die Dokumentation zusammen. Mehr dazu auf der Produktseite Teams-Telefonie Diagnostiker. 15 Tage kostenlos testen. |
|---|


Behebung: gezielt reparieren und den Rückweg offen halten
Bevor du irgendetwas änderst: Sichere den Ist-Zustand. Ein Auto Attendant ist ein verschachteltes Objekt, und „ich hab nur kurz die Zeitzone umgestellt“ ist der Anfang vieler langer Abende.
|
# Ist-Zustand dokumentieren $aa = Get-CsAutoAttendant | Where-Object Name -eq "AA-Zentrale-Frankfurt" $aa | ConvertTo-Json -Depth 10 | Out-File "C:\Backup\AA-Zentrale-Frankfurt.json" -Encoding utf8
# Feiertage als Datei sichern $bytes = Export-CsAutoAttendantHolidays -Identity $aa.Identity [System.IO.File]::WriteAllBytes("C:\Backup\AA-Zentrale-Feiertage.csv", $bytes) |
|---|
Die JSON-Datei ist Dokumentation, kein Wiederherstellungsknopf. Sie sagt dir aber im Ernstfall genau, welcher Wert vorher drinstand. Und genau das brauchst du für jeden Rückweg unten.
Zeitzone korrigieren
|
$alt = $aa.TimeZoneId # für den Rückweg notieren $aa.TimeZoneId = "W. Europe Standard Time" Set-CsAutoAttendant -Instance $aa |
|---|
Rückweg: denselben Block mit $aa.TimeZoneId = $alt ausführen. Prüfe danach die Geschäftszeiten: Wer früher mit UTC gearbeitet und die Uhrzeiten „passend gerechnet“ hat, muss sie jetzt wieder auf Ortszeit stellen. Sonst hast du den Fehler nur umgedreht.
Feiertage nachtragen
Am einfachsten pflegst du Feiertage im Teams Admin Center unter Sprache › Feiertage: Feiertag öffnen, weitere Daten hinzufügen, speichern. In PowerShell erweiterst du einen bestehenden Zeitplan so:
|
$s = Get-CsOnlineSchedule -Id "<ScheduleId aus Schritt 3>" $s.AssociatedConfigurationIds # Wer nutzt diesen Plan noch? $s.FixedSchedule.DateTimeRanges # Vorher-Stand notieren
# Format d/m/yyyy; ohne -End gilt der ganze Tag bis 00:00 des Folgetags $s.FixedSchedule.DateTimeRanges += New-CsOnlineDateTimeRange -Start "29/3/2027" # Ostermontag $s.FixedSchedule.DateTimeRanges += New-CsOnlineDateTimeRange -Start "27/5/2027" # Fronleichnam (Hessen) Set-CsOnlineSchedule -Instance $s |
|---|
Rückweg: die hinzugefügten Datumsbereiche wieder aus der Liste entfernen und Set-CsOnlineSchedule erneut ausführen. Ein neu angelegter Feiertag wirkt erst, wenn er dem Auto Attendant zugeordnet ist; das erledigst du im Admin Center im Schritt „Feiertage“ des Auto Attendants, inklusive Ansage und Ziel für diesen Tag.
|
Feiertag 2027 |
Datum |
Contoso-Standorte |
|---|---|---|
|
Neujahr |
1.1. |
alle |
|
Heilige Drei Könige |
6.1. |
München |
|
Internationaler Frauentag |
8.3. |
Berlin |
|
Karfreitag, Ostermontag |
26.3., 29.3. |
alle |
|
Tag der Arbeit |
1.5. |
alle |
|
Christi Himmelfahrt |
6.5. |
alle |
|
Pfingstmontag |
17.5. |
alle |
|
Fronleichnam |
27.5. |
Frankfurt, Köln, München |
|
Mariä Himmelfahrt |
15.8. |
München (Bayern, in Gemeinden mit überwiegend katholischer Bevölkerung) |
|
Tag der Deutschen Einheit |
3.10. |
alle |
|
Reformationstag |
31.10. |
Hamburg |
|
Allerheiligen |
1.11. |
Köln, München |
|
1. und 2. Weihnachtstag |
25.12., 26.12. |
alle |
Heiligabend und Silvester sind keine gesetzlichen Feiertage, aber in vielen Firmen Schließtage. Wenn das bei dir so ist, gehören sie ebenfalls in den Plan, mit Startzeit 12:00 Uhr und nicht 12:15 Uhr.
Menüoptionen und Ziele reparieren
Ansage und Tasten abgleichen: Entweder die fehlende Taste belegen oder die Ansage anpassen. Nicht beides halb.
Verwaiste Ziele ersetzen: Statt einer Einzelperson besser eine Warteschlange einsetzen; die überlebt Urlaub, Kündigung und Lizenzwechsel.
Operator auf Taste 0 legen: Operator setzen, Taste zuordnen, Ziel möglichst eine Warteschlange.
Geteilte Voicemail freischalten: In der Microsoft-365-Gruppe den Empfang externer E-Mails erlauben.
Rückweg: Die Änderungen machst du am besten im Teams Admin Center; den Vorher-Stand hast du in der JSON-Sicherung. Teste jede geänderte Taste mit einem echten Anruf von außen, nicht aus Teams.
Ressourcenkonto vervollständigen
|
# Rufnummer zuweisen (Direct Routing) Set-CsPhoneNumberAssignment -Identity "aa-zentrale@contoso.com" ` -PhoneNumber "+49695550100" -PhoneNumberType DirectRouting
# Konto mit dem Auto Attendant verknüpfen New-CsOnlineApplicationInstanceAssociation -Identities @($ra.ObjectId) ` -ConfigurationId $aa.Identity -ConfigurationType AutoAttendant
# Weg nach draußen für externe Ziele Grant-CsOnlineVoiceRoutingPolicy -Identity "aa-zentrale@contoso.com" -PolicyName "VRP-DE-National" |
|---|
Die Lizenz „Microsoft Teams Phone Resource Account“ weist du im Microsoft 365 Admin Center zu. Rückweg: Remove-CsPhoneNumberAssignment mit denselben Parametern, Remove-CsOnlineApplicationInstanceAssociation -Identities @($ra.ObjectId) und Grant-CsOnlineVoiceRoutingPolicy mit -PolicyName $null. Nach einer Zuweisung kann es eine Weile dauern, bis Anrufe ankommen; teste nicht im Minutentakt und ändere in der Zwischenzeit nichts anderes.
Verschachtelung aufräumen
Häng innere Ebenen direkt als Sprach-App an statt über ein Ressourcenkonto. Das spart Konten und Lizenzen und macht klar, welches Konto für den Weg nach draußen zuständig ist: das erste. Gib jedem Ressourcenkonto, das einen Anruf als Erstes annimmt und dessen Fluss irgendwo auf eine externe Nummer zeigt, eine Voice Routing Policy. Eine Einschränkung nennt Microsoft: Ohne Ressourcenkonto verschachtelte Sprach-Apps können von berechtigten Benutzern in der Queues-App nicht bearbeitet werden. Wenn du mit delegierter Verwaltung arbeitest, prüfe das vorher.
|
Fehler |
Behebung |
Rückweg |
|---|---|---|
|
Zeitzone falsch |
TimeZoneId auf W. Europe Standard Time |
alten Wert zurückschreiben |
|
Feiertage fehlen |
Datumsbereiche ergänzen, Feiertag zuordnen |
Bereiche entfernen, Zuordnung lösen |
|
Taste ohne Ziel |
Ziel setzen oder Ansage ändern |
Stand aus der JSON-Sicherung |
|
Operator nicht aktiv |
Taste 0 dem Operator zuordnen |
Option entfernen |
|
Konto ohne Nummer |
Set-CsPhoneNumberAssignment |
Remove-CsPhoneNumberAssignment |
|
Konto nicht verknüpft |
New-CsOnlineApplicationInstanceAssociation |
Remove-CsOnlineApplicationInstanceAssociation |
|
Externe Weiterleitung scheitert |
Voice Routing Policy am ersten Konto |
Policy auf $null |
Vorbeugung: ein Anruffluss, der nicht altert
Die meisten Auto-Attendant-Fehler entstehen nicht bei der Einrichtung, sondern ein halbes Jahr später: Jemand verlässt die Firma, ein Konto wird aufgeräumt, das Jahr wechselt. Ein guter Anruffluss ist deshalb einer, der wenige Stellen hat, die altern können. So sieht das bei Contoso aus:

Ein Einstieg, eine Nummer: Nur der erste Auto Attendant hat Rufnummer und Ressourcenkonto mit Lizenz und Voice Routing Policy. Alles dahinter ist direkt als Sprach-App angehängt.
Ziele sind Warteschlangen: Menütasten zeigen auf Warteschlangen oder Voicemail-Gruppen, nicht auf Einzelpersonen. Die Warteschlangen haben ihrerseits Ziele für Überlauf, Timeout und „keine Agenten“.
Operator immer gesetzt: Mit Taste 0 und einer Warteschlange als Ziel.
Zeitzone pro Standort: Jeder Auto Attendant bekommt die Zeitzone seines Standorts; bei deutschen Standorten W. Europe Standard Time.
Feiertage im Voraus: Feiertage für mindestens zwei Jahre eintragen; bis zu 50 Datumsbereiche je Feiertag reichen dafür locker. Ein Kalendertermin im Oktober erinnert an das nächste Jahr.
Regionale Sätze: Ein bundesweiter Feiertagssatz plus ein Satz je Bundesland, sauber benannt, etwa Feiertage-DE und Feiertage-HE.
Testanruf als Ritual: Nach jeder Änderung einmal von außen anrufen, jede Taste drücken, einmal außerhalb der Geschäftszeit.
Damit sich niemand „nur kurz“ an der Zentrale zu schaffen macht, gehört der Anruffluss in dein Änderungsverfahren. Wie das organisatorisch aussieht, beschreibt Microsoft Teams Telefonie-Governance. Änderungen, die trotzdem durchrutschen, fängst du mit Konfigurationsdrift in der Teams-Telefonie erkennen ab. Und wenn du die Wirkung prüfen willst, helfen dir die Anrufdaten aus Teams-Anrufprotokolle auswerten: Call Records statt Bauchgefühl.
|
TIPP · Prüfliste zum Jahreswechsel 1. Feiertage des Folgejahres für alle Standorte eingetragen und zugeordnet? 2. Zeitzone jedes Auto Attendants geprüft? 3. Alle Menüziele noch vorhanden und lizenziert? 4. Operator auf Taste 0? 5. Ressourcenkonten mit Nummer, Lizenz und, wo nötig, Voice Routing Policy? 6. Testanruf von außen gemacht, auch zur Feierabendzeit? |
|---|
Wenn du einen gewachsenen Anruffluss mit vielen Ebenen und Standorten hast und nicht weißt, wo du anfangen sollst, lohnt ein Blick von außen; dabei hilft dir unsere Beratung zur Teams-Telefonie. Wer Auto Attendants regelmäßig selbst baut, findet das Handwerkszeug in der Schulung Teams-Telefonie.
FAQ: häufige Fragen zu Fehlern im Teams Auto Attendant
Wiederholen sich Feiertage in Teams automatisch jedes Jahr?
Nein. Ein Feiertag besteht aus festen Datumsbereichen. Du kannst bis zu 50 Bereiche in einem Feiertag hinterlegen und so mehrere Jahre im Voraus pflegen, aber jedes Datum musst du selbst eintragen.
Welche Zeitzone ist für deutsche Standorte richtig?
Die Zeitzone mit der ID „W. Europe Standard Time“, im Teams Admin Center als (UTC+01:00) mit Amsterdam, Berlin und weiteren Städten angezeigt. Sie berücksichtigt Sommer- und Winterzeit.
Was hat Vorrang, Feiertag oder Feierabend?
Der Feiertag. Laut Microsoft haben Feiertagsflüsse Vorrang vor dem Fluss nach Geschäftszeiten, und beide haben Vorrang vor dem Standardfluss.
Braucht ein verschachtelter Auto Attendant ein eigenes Ressourcenkonto?
Nicht, wenn du ihn direkt als Sprach-App anhängst; Microsoft empfiehlt das sogar. Lizenziert wird dann das erste Ressourcenkonto, das den Anruf angenommen hat. Hängst du ihn über ein Ressourcenkonto an, braucht dieses die Lizenz „Teams Phone Resource Account“.
Warum funktioniert die Weiterleitung auf eine Handynummer nur über einen Einstieg?
Weil der Weg nach draußen am ersten Ressourcenkonto hängt. Bei Direct Routing braucht es eine Voice Routing Policy. Hat nur eines deiner Einstiegskonten eine, funktioniert die Weiterleitung nur über dessen Rufnummer.
Was passiert, wenn der Anrufer im Menü nichts drückt?
Laut Microsoft leitet der Auto Attendant ihn dann zum Operator, sofern einer konfiguriert ist. Ohne Operator fehlt dieses Auffangnetz.
Warum kommt die Voicemail-Ansage, aber keine Nachricht im Postfach an?
Die Microsoft-365-Gruppe muss E-Mails von außerhalb der Organisation annehmen. In Exchange Online erkennst du das an RequireSenderAuthenticationEnabled, das auf False stehen muss.
Warum bekomme ich beim Anruf auf die neue Zentralnummer sofort Besetzt?
Meist ist die Nummer dem Ressourcenkonto nicht zugewiesen, das Konto ist nicht mit dem Auto Attendant verknüpft oder hat keine Lizenz. Prüfe die Kette mit Get-CsPhoneNumberAssignment und Get-CsOnlineApplicationInstanceAssociation.
Fazit: Jede Taste braucht ein Ziel, jeder Tag einen Kalender
Ein Teams Auto Attendant, der Anrufer ins Nirwana schickt, ist selten kaputt. Er tut, was konfiguriert ist: Er rechnet in der Zeitzone, die du ihm gegeben hast, kennt nur die Feiertage, die du eingetragen hast, und schickt Anrufer zu Zielen, die es irgendwann einmal gab. Die Reparatur besteht aus fünf überschaubaren Prüfungen in Anrufrichtung: Nummer, Konto, Zeit, Menü, Ziele.
Die eigentliche Arbeit ist die Vorbeugung: ein Einstieg mit vollständigem Ressourcenkonto, Warteschlangen statt Einzelpersonen, ein Operator auf Taste 0, Feiertage für zwei Jahre und ein Testanruf von außen nach jeder Änderung. Dann hört dein Anrufer am Ostermontag die Ansage „Heute geschlossen“ statt zwanzig Minuten Musik. Er ist vielleicht trotzdem enttäuscht. Aber wenigstens weiß er, warum.
Dieses Consulting-Dokument steht als PDF zum Download bereit: https://www.boddenberg.de/ArtikelPdf/dein-auto-attendant.pdf — © Ulrich B. Boddenberg · boddenberg.de











