Microsoft Teams → ProCall Enterprise

Teams PräsenzProCall PräsenzIcon "Integration in Microsoft Teams" oder Tooltiptechnische Details API
Verfügbarkeine Präsenzänderung

Icon neutral mit Tooltip Anwesend

"availability": "Available",
"activity": "Available"

Beschäftigtkeine Präsenzänderung

Icon rot mit Tooltip Beschäftigt 

"availability": "Busy",
"activity": "Busy"

Nicht störenPräsenz nicht stören

Icon rot mit Tooltip Nicht stören 

"availability": "DoNotDisturb",
"activity": "DoNotDisturb"

Bin gleich zurückkeine Präsenzänderung

Icon gelb mit Tooltip Abwesend 

"availability": "BeRightBack",
"activity": "BeRightBack"

Als abwesend anzeigenkeine Präsenzänderung

Icon gelb mit Tooltip Abwesend 

"availability": "Away",
"activity": "Away"

Als offline anzeigenkeine Präsenzänderung

Icon neutral mit Tooltip offline/nicht bekannt 

"availability": "Offline",
"activity": "OffWork"

In einer BesprechungBeschäftigt, im Gespräch

Icon rot mit Tooltip im Gespräch 

"availability": "Busy",
"activity": "InACall"
BildschirmfreigabeNicht stören

Icon rot mit Tooltip Nicht stören 

"availability": "DoNotDisturb",
"activity": "Presenting"

Termin (beschäftigt)keine direkte Auswirkung, dieser wird über die Outlook Integration dargestellt

Icon rot mit Tooltip Beschäftigt 

"availability": "Busy",
"activity": "Busy"

Termin (Besprechung, Termin mit Einladung in eine Teams Besprechung)keine direkte Auswirkung, dieser wird über die Outlook Integration dargestellt

Icon rot mit Tooltip Besprechung

"availability": "Busy",
"activity": "InAMeeting"
1:1 Anruf oder VideochatBeschäftigt, im Gespräch

Icon rot mit Tooltip im Gespräch 

"availability": "Busy",
"activity": "InACall"

ProCall Enterprise → Microsoft Teams

ProCall Präsenzstellt sich in Microsoft Teams dartechnische Details API

manueller Wechsel

  • anwesend
  • beschäftigt
  • abwesend
  • nicht stören
--

Präsenzwechsel durch Echtzeitkommunikation

  • TAPI
  • Softphone
  • Audio-/VideoChat
Beschäftigt, im Gespräch

"availability": "Busy",
"activity": "InACall"

Präsenzwechsel durch Echtzeitkommunikation

  • ProCall Meetings
Beschäftigt, im Gespräch"availability": "Busy",
"activity": "InAConferenceCall"
Präsenzwechsel durch Termin (Microsoft 365)wird automatisch durch Teams gesetzt-
Präsenzwechsel durch Termin (nicht Microsoft 365, z. B. Google Kalender)--

Überschreiben von manuell in Teams gesetzten Präsenzen

Bitte beachten Sie, dass bei jeder manuell in Teams gesetzten Präsenz wie z. B. "abwesend" diese nicht mehr überschrieben werden kann. Auch Teams selbst überschreibt dann nicht mehr die Präsenz, wenn man an einer Teams Besprechung teilnimmt.

Technische Hinweise

Graph API

Der UCServer vergleicht bei der Integration in Microsoft Teams, die Benutzerliste in der Benutzerverwaltung mit der des Azure Active Directorys, um die ProCall Benutzer den Teams Benutzer eindeutig zuzuordnen. Aus diesem Grund muss der "Benutzername" aus der Benutzerverwaltung des UCServers mit dem "User principal name" aus dem Azure Active Directory übereinstitmmen.

Deshalb benötigt die Enterprise Application "estos ProCall Integration in Teams", die Berechtigung alle Benutzerprofile lesen zu dürfen.

Damit der UCServer Präsenzzustände aus Teams auslesen darf, benötigt er die Berechtigung "Read presence information of all users in your organization". Es wird dafür der API Aufruf "cloudCommunications: getPresencesByUserId" verwendet. Auf Grund der Beschaffenheit dieses Aufrufes, kann kein echtes Eventing stattfinden, sondern es muss alle X Sekunden gepollt werden. Dies bedeutet auch, dass nicht jeder Präsenzwechsel in Teams direkt sichtbar wird, sondern es maximal X Sekunden dauern wird, bis die Präsenz am UCServer verfügbar ist.

Damit der UCServer Präsenzzustände in Teams setzen darf, benötigt er die Berechtigung "Read and write presence information for all users". Es wird dafür der API Aufruf "presence: setPresence" verwendet. Hier sieht man in den unterstützen Aufrufen auch schon, dass z.B. der UCServer kein "abwesend" oder "nicht stören" in Teams setzen kann. Aus diesem Grund wurde sich dagegen, entschieden manuelle Präsenzwechsel überhaupt in Teams zu setzen (siehe Tabelle in "ProCall Enterprise → Microsoft Teams").
Der UCServer wird beim Setzen von Präsenzen in Microsoft Teams immer die minimale Dauer von 5 Minuten (expirationDuration) mit angeben und gegebenenfalls bei längerer Echtzeitkommunikation in ProCall diese Dauer erneuern. Dies bedeutet im Fehlerfall (z.B. Internet am UCServer ist ausgefallen, Absturz des UCServer o.ä.), dass die Präsenz in Teams maximal 5 Minuten zulange gesetzt sein kann.

Tests mit dem Microsoft Teams Client für Windows haben gezeigt, dass Präsenzwechsel innerhalb von Teams unabhängig einer Integration manchmal verzögert im eigenen Teams Client angezeigt wurden. Die ProCall Integration kann darauf keinen Einfluss nehmen.

Diese Verzögerungen waren in der Web App nicht sichtbar.

UCServer Logdateien

Genauere Informationen können aus dem "Eventlog" und vor allem aus dem Log "ExternalServiceProvider" des UCServers gewonnen werden.

Da Microsoft die verwendete Graph API in Zukunft mit immer mehr Funktionalität versorgt, werden wir dies auch immer weiter in die Entwicklung von ProCall Enterprise einfließen lassen und den Feature Umfang der Integration in Microsoft Teams erweitern.

Schematische Darstellung der Topologie