Teams Shared Voicemail
Neben der Voicemail für Personen, (Siehe Teams Voicemail) kennt Microsoft Teams natürlich noch andere Telefonie-Endstellen, die vielleicht nicht erreichbar sind. Sowohl beim AutoAttendant als auch einer Call Queue können Sie Anrufer auf eine Voicemail leiten.
Auto Attendant
Die Funktion der "Vermittlung" ist in Europa eher ungewöhnlich, da wir per "Durchwahl" meist keine Vermittlung brauchen. In anderen Ländern können Rufnummern aber knapp sein und eine Firma hat weniger externe Rufnummern als interne Durchwahlen. Dann verbinden sich Anrufer mit einer Zentrale (Mensch oder Maschine) und wählen dann die Nebenstelle z.B. per DTMF nach. Diese Funktion kann Teams auch bereitstellen, d.h. eine besondere Rufnummer landet auf einem AA und durchläuft dort einen Entscheidungsbaum. Der "Abwurf" auf eine Sprachmailbox kann auch nach Tag und Zeit, z.B. Öffnungszeiten, gesteuert werden.
Sie könnten den Anruf an eine Person (und deren Voicemail) leiten, an eine Voice App die z.B. ein Callcenter darstellt, eine externe Nummer oder an ein Voicemail Ziel. Ein legitimes Ziel ist eine Microsoft 365 Gruppe bzw. Microsoft Teams. Auf die Besonderheit eine Microsoft 365 Group/Microsoft Team als Voicemail-Ziel gehe ich weiter unten noch genauer ein.
Call Queue
Neben dem Autoattendant und Individualempfängern gibt es noch die Call Queues, die in Deutschland als "Warteschlangen", "Gruppennummern" und aus der Skype for Business Welt als "Response Group" bekannt sind. Mehrere Agenten (Personen) sind in einer Warteschlange, die über eine Rufnummer erreicht werden können. Teams verteilt die eingehenden Anrufe und wenn keine Agenten verfügbar sind oder die Beantwortung zu lange dauert, kann der Ruf z.B. an eine Voicemail vermittelt werden. Hierzu gibt es pro Call Queue zwei Einstellmöglichkeiten.
- Call Overflow
d.h. wenn mehr als die angegebene Anzahl an Anrufern warten müsste. Ein mögliches Ziel ist eine Voicemail
- Call Timeout
Wenn kein Agent in der angegeben Zeit den Ruf abholt, dann folgt Teams den folgenden Regeln:
Wie beim Auto Attendant ist für eine Voicemail einer Call Queue ebenfalls eine "Microsoft 365 Groups" bzw. ein "Microsoft Team" ein legitimes Ziel.
- Create a call queue
https://docs.microsoft.com/en-us/microsoftteams/create-a-phone-system-call-queue
Legitime Ziele
Wenn Sie eine Voice-Mail als Ziel einrichten, dann werden sie vielleicht nicht alle Empfänger finden, die sie erwarten. Hier eine Übersicht (Stand Aug 2023):
Empfänger | Beschreibung |
---|---|
Benutzer ohne Exchange |
Ein AzureAD-Konto, welches keine Exchange Lizenz hat, ist aus Sicht von Exchange Online kein erreichbarer Empfänger und wird daher nicht gefunden |
Benutzer ohne Teams |
Ein Benutzer mit Exchange Postfach (Online oder OnPrem) aber ohne Teams Voice Lizenz |
Externer Benutzer/Gast |
In meinem Tenant habe ich Gastbenutzer, die ohne Lizenz gefunden werden konnten aber die Konfiguration als Voicemail-Ziel wurde natürlich nicht übernommen. |
Benutzer mit Exchange +Teams ohne Voice |
Diese Benutzer können gefunden und ausgewählt aber nicht gespeichert werden. Die MMC zeigt das auch entsprechend an
|
Shared Mailbox |
Werden nicht gefunden und können nicht genutzt werden. Das ist schade, denn vielleicht sollen Sie ja keine Office Group/Microsoft 365 Group einrichten. Dann bleibt ihnen nur der "Umweg" über eine Transportregel, um eine Mail an eine Useradresse umzubiegen. Nicht sehr schön. |
Room Mailbox |
Werden nicht gefunden und können nicht genutzt werden. Aber Räume haben in der Regel auch keinen bedarf an einem Anrufbeantworter |
Gruppe ohne Exchange-Funktion |
Werden nicht gefunden und können nicht genutzt werden |
Mailverteiler |
Werden bei Auswahl von "Voicemail (shared)" gefunden und können genutzt werden |
Mailaktivierte Sicherheitsgruppe |
Werden bei Auswahl von "Voicemail (shared)" gefunden und können genutzt werden |
Microsoft 365 Groups |
Werden bei Auswahl von "Voicemail (shared)" gefunden und können genutzt werden |
Teams Voicemail
Auf der Ignite 2020 wurde aber eine Funktion erstmals sichtbar aber es hat dann immer noch fast ein Jahr gedauert, bis sie "Global Available (GA)" war.
Microsoft Teams: Voice-enabled Channels
"Collaborative calling enables customers to connect a call
queue to a channel in Teams. Users can collaborate and share
information in the channel while taking calls in the queue.
This feature is ideal for scenarios such an IT help desk or
HR hotline. IT admins can quickly connect call queues to
specific channels, and team owners can manage the settings.
"
Quelle:
hhttps://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=68770
Die Idee dabei ist, dass eine Call Queue mit einem Teams-Kanal in einem Microsoft Team verknüpft wird. Was auf den ersten Moment wenig spektakulär aussieht, ist dennoch eine große Arbeitserleichterung, da damit die Pflege der Agenten über das Team selbst und nicht mehr über Gruppen erfolgt. Allerdings ist natürlich damit jedes "Teammitglied" auch immer ein Agent der Call Queue. Machen Sie das nicht ohne Vorwarnung für große Teams. Ein Agent kann sich selbst rausnehmen, wenn Sie dies als Administrator zulassen. Aber als Administrator können Sie dies nicht stellvertretend machen.
Im entsprechenden Kanal erscheint dann ein neuer Reiter "Anrufe" und wer drauf klickt, findet am rechten Rand ein Dialpad und kann bei ausgehenden Anrufen auch die ausgehende Rufnummer vorgeben. Im mittleren Bereich sehen wir dann den Verlauf der Anrufe und hat direkt Zugriff auf die Voicemail. Die Schaltfläche oben ist nur ein Filter. Wer hier "Alle" aktiv hat, sieht Voicemails und angenommene und verpasste Anrufe.
Für jeden Anruf und die Voicemail können sie direkt den Anrufer zurückrufen, sofern er eine gültige Nummer übermittelt hat.
Wenn sie mehrere Call Queues in einem Team in verschiedene Kanäle ablegen, dann hat jeder Kanal seine "eigene" Voicemail, obwohl die Mails in der gleichen Office 365 Mailbox landen. Anscheinend filtert Teams hier auf ein Property der Mail.
Gelesen/Ungelesen
Ich kann in Teams eine Voicemail leider nicht mehr als
"ungelesen" kennzeichnen oder einen Task zuweisen etc. Der
Gelesen-Status wird aber mit Outlook synchronisiert. Wenn
ich die Voicemail mit Outlook als "ungelesen setze, dann ist
sie auch in Teams "ungelesen". Für Eskalationszwecke könnten
die Group Mailboxen auf ältere ungelesene Voicemails
zyklisch geprüft werden.
Teams HTTP Query
Beim Wechsel in die "Anrufe"-Karteikarte zeigt Teams kurz ein "Suche nach Voicemails" an.
Natürlich habe ich dem Teams Client mit den Developer Tools auf die Finger geschaut und folgenden Request (gekürzt) gefunden:
Request URL: https://outlook.office.com/api/beta/groups/<guid>/messages ?$expand=SingleValueExtendedProperties($filter= PropertyId%20eq%20%27Integer%20{00020328-0000-0000-C000-000000000046}%20Id%200x6801%27%20 or%20PropertyId%20eq%20%27String%20{00020386-0000-0000-C000-000000000046}%20Name%20X-VoiceMessageConfidenceLevel%27%20 or%20PropertyId%20eq%20%27String%20{00020386-0000-0000-C000-000000000046}%20Name%20X-VoiceMessageTranscription%27) &$filter=SingleValueExtendedProperties/Any(ep:%20ep/PropertyId%20eq%20%27String%200x1a%27%20 and%20ep/Value%20eq%20%27IPM.Note.Microsoft.Voicemail.UM.CA%27) &$top=30 &$select=From,Body,IsRead,Id,ReceivedDateTime,InternetMessageHeaders
Decodiert ist es etwas einfacher lesbar.
$expand: SingleValueExtendedProperties($filter=PropertyId eq 'Integer {00020328-0000-0000-C000-000000000046} Id 0x6801' or PropertyId eq 'String {00020386-0000-0000-C000-000000000046} Name X-VoiceMessageConfidenceLevel'' or PropertyId eq 'String {00020386-0000-0000-C000-000000000046} Name X-VoiceMessageTranscription') $filter: SingleValueExtendedProperties/Any(ep: ep/PropertyId eq 'String 0x1a' ' and ep/Value eq 'IPM.Note.Microsoft.Voicemail.UM.CA')
Das Propertyset "00020328-0000-0000-C000-000000000046" ist dabei einfach nur ein "Common PSMAPI"-Set
- 1.3.2 Commonly Used Property Sets
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxprops/cc9d955b-1492-47de-9dce-5bdea80a3323 - Häufig verwendete Eigenschaftensätze
https://docs.microsoft.com/de-de/office/client-developer/outlook/mapi/commonly-used-property-sets
Als Authentifizierung kommt ein Bearer-Token mit folgenden Properties zum Einsatz:
"aud": "https://outlook.office.com/", "iss": "https://sts.windows.net/<tenantGUID>/" "app_displayname": "Microsoft Teams", "appid": "1fec8e78-bce4-4aaf-ab1b-5451cc387264", "scp": "Calendars.ReadWrite Contacts.ReadWrite EWS.AccessAsUser.All Files.Read.All Files.ReadWrite.All Group.ReadWrite.All Mail.ReadWrite Mail.Send OWA.AccessAsUser.All SCIS-Internal.ReadWrite Signals.ReadWrite SubstrateSearch-Internal.ReadWrite User.Read User.ReadBasic.All",
Ein klassischer REST-API-Aufruf, der eine JSON-Antwort liefert:
Die Bereiche "Body", "From" und "InternetMessageHeaders" habe ich nicht aufgeklappt, da der Inhalt keine Besonderheiten enthält.
Interessant, dass Teams hier direkt gegen "outlook.office.com" geht und eine Beta-API nutzt, anstatt mit der Graph-API zu arbeiten.
- Teams HTTP-Analyse
- Verwenden des Suchabfrageparameters zum Abgleichen eines Suchkriteriums
https://docs.microsoft.com/de-de/graph/search-query-parameter - Sending a Cloud Voice mail using the Microsoft Graph or EWS from Powershell
https://gsexdev.blogspot.com/2019/05/sending-cloud-voice-mail-using.html - 2.2.2.1 Message Classes
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxoum/102b3a8b-1aad-4f29-90a3-998262d9fa26
Agent Handing im Kanal
Die Integration der Call Queue in einen Kanal eröffnet dem Anwender auch eine einen direkten Weg, sich selbst als Agent ein- und auszutragen, sofern der Administrator dies erlaubt hat. Die Einstellung dazu erfolgt in der Call Queue.
Eingehende Rufe werden wie bisher von Teams beim Agenden gemeldet:
Hier ändert sich auch mit "Shared Voicemail" nichts.
- Calling ets integrated into channels
within Teams in Microsoft Teams
https://erik365.blog/2021/03/25/calling-gets-integrated-into-channels-within-teams-in-microsoft-teams/ - Microsoft Teams Auto Attendants and
Shared Voicemail
https://ucstatus.com/2020/01/06/microsoft-teams-auto-attendants-and-shared-voicemail/
Einschätzung
Die Funktion war überfällig und integriert die Voicemail als Team Kanal . Auch das Management einer Call Group landet sehr elegant in Teams. Dennoch gibt es schon noch einige Dinge, die mich stören:
- Karteikarte "Anrufe" als Default
Wenn ich eine Call Queue mit einem Kanal verbinde, dann ist mein Schwerpunkt eigentlich auf der Telefonie. Ich kann zwar die Standardkarte "Wiki" entfernen aber "Beiträge" und "Dateien" weder entfernen noch verbergen oder zumindest die Reihenfolge verändern. - Agenten on behalf
Aktuell ist es nicht möglich, dass ich als Admin die Agenten für die Call Queue zentral aktiviere/deaktiviere oder zumindest den Status sehe, wer gerade "ausgebucht" ist. - "Anrufe" nicht im mobilen Client (bekannt)
Wenn ich Teams auf dem SmartPhone nutze, dann sehe ich dort zwar den Kanal aber nur die Karteikarten "Beiträge", "Dateien" und "Weitere". Dort erscheint aber nicht "Anrufe". Die Anrufe an die Call Queue werden aber schon auf dem Smartphone signalisiert.
Das ist aber dokumentiert, da die Funktion aktuell nur auf dem Windows Client und Mac Client sichtbar ist. Ich hoffe, es kommt aber doch bald auch für die anderen Clients. - Ansage nicht abschaltbar
Wenn ein Anrufer aus der Call Queue zur Voicemail geroutet wird, dann wird natürlich die in der Call Queue konfigurierte Ansage oder Audiodatei abgespielt. Aber dann spielt Cloud Voice Mail noch mal seine Ansage ab. - Gruppen-Voicemail in meiner Voicemail
Etwas verwirrend finde ich, dass in meiner persönlichen Voicemail auch die Sprachnachrichten des Teams erscheinen.
- Defekter Links
Bei all den echten Problemen its es eher kosmetischer Natur, dass der Link auf die Homepage springt und nicht zur entsprechenden Stelle im Formular
Die Story mit "Shared Voicemail" ist also noch nicht zu Ende und wird fortgesetzt.
Weitere Links
- Cloud Notification Mails
- Teams HTTP-Analyse
- Cloud Voice Mail (CVM)
- Exchange Unified Messaging
- Voicemail ohne Exchange UM
- MWI - Message Waiting Indicator
- CCVM mit Ex2016/SfB2015
- UnifiedGroups Mailrouting
- Teams Berechtigungen und Tasks Bug
- Calling gets integrated into channels
within Teams in Microsoft Teams
https://erik365.blog/2021/03/25/calling-gets-integrated-into-channels-within-teams-in-microsoft-teams/ - Microsoft Teams Auto Attendants and
Shared Voicemail
https://ucstatus.com/2020/01/06/microsoft-teams-auto-attendants-and-shared-voicemail/ - Teams: Voice-Enabled Channels (Collaborative Calling)
https://m365log.com/teams/teams-voice-enabled-channels-collaborative-calling/ - So you want shared voicemails to show up in Teams:Calls:Voicemail
https://www.dynamicconsulting.com/2020/06/02/shared-voicemail-displaying-in-teams/ -
2.2.2.1 Message Classes
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxoum/102b3a8b-1aad-4f29-90a3-998262d9fa26