EasyUC
4.8.7

EasyUC für Cisco

Presence Sync: Funktionsweise und Architektur

Welche Zustände in welche Richtung übertragen werden, wie ein Abgleich abläuft und wo die Daten liegen.

EasyUC · Version 4.8.7

In EasyUC: Presence Sync → Presence-Profile

Wozu dient das

Presence Sync gleicht den Anwesenheitsstatus zwischen Microsoft Teams und der Cisco-Telefonie ab. Der häufigste Fall: Ein Mitarbeiter telefoniert am Cisco-Tischtelefon. Ohne Abgleich zeigt Teams ihn weiter als verfügbar, Kollegen rufen an oder schreiben und stören das Gespräch. Mit Presence Sync steht er in Teams auf „In einem Anruf“, solange das Gespräch verbunden ist.

Dieses Kapitel erklärt die Funktion, bevor Sie etwas einrichten: welche Variante zu welchem Cisco-Client gehört, welcher Zustand in welche Richtung übertragen wird, wie ein einzelner Abgleich abläuft, welche Schnittstellen und Berechtigungen beteiligt sind und was an Microsoft übertragen wird. Die Einrichtung selbst beschreiben die Folgekapitel.

Presence Sync ist ein eigenes Modul mit eigenem Arbeitsbereich und eigenem Hintergrunddienst. Es braucht weder den Teams-SBC noch die ACD. Ein Presence-Profil hat keinen SIP-Port, keinen Hostnamen und kein Zertifikat.

Voraussetzungen

  • Zum Lesen dieses Kapitels brauchen Sie keine Berechtigung. Für die Einrichtung gelten die Rollen aus dem Kapitel zum Presence-Profil.
  • Sie wissen, welchen Cisco-Client die Anwender nutzen: Tischtelefone und Jabber mit Cisco IM and Presence oder die Webex App. Davon hängt die Variante ab.
  • Sie haben Zugriff auf Microsoft Entra, um eine App-Registrierung anzulegen und die Administratorzustimmung zu erteilen.
  • Für die Jabber-Variante: ein CUCM mit eingerichteter Anrufüberwachung in EasyUC und, für den Jabber-Status, ein Cisco IM and Presence mit erreichbarem Presence-Webservice.

Schritt für Schritt: So gehen Sie vor

  1. Bestimmen Sie die Variante anhand der Tabelle Varianten im Überblick.
  2. Lesen Sie die Zustandstabellen und klären Sie mit dem Fachbereich, welche Richtungen gebraucht werden. Oft genügt CUCM-Anrufstatus → Teams.
  3. Prüfen Sie anhand der Tabelle Schnittstellen und Berechtigungen, welche Konten und Freigaben Sie vorbereiten müssen.
  4. Lesen Sie den Abschnitt Grenzen, damit die Erwartung an „Nicht stören“ und „Präsentiert“ stimmt.
  5. Richten Sie Presence Sync danach mit der durchgehenden Checkliste ein.

Felder und Optionen: Varianten im Überblick

Felder und Optionen: Varianten im Überblick
Feld / AktionBedeutung und Verwendung
CUCM-Anrufstatus → TeamsQuelle sind die verbundenen Gespräche aus der Anrufüberwachung der CUCM-Verbindung (JTAPI). Ein verbundenes Gespräch am Cisco-Telefon oder Softphone setzt den zugeordneten Teams-Benutzer auf „In einem Anruf“. Klingeln allein setzt keinen Status. Diese Richtung braucht kein IM and Presence.
Cisco Jabber → TeamsEasyUC liest den Jabber-Status über den Presence-Webservice von Cisco IM and Presence und veröffentlicht „Verfügbar“ und „Abwesend“ in Teams.
Teams → Cisco JabberEasyUC liest den Teams-Status über Microsoft Graph und veröffentlicht ihn über den Presence-Webservice in Jabber: verfügbar, abwesend, beschäftigt sowie Gespräche und Besprechungen.
Cisco Webex (native Integration)Bei der Webex App liegt der Status in der Webex Cloud. Den Abgleich mit Teams übernimmt Cisco über „Cisco Call für Microsoft Teams“. EasyUC veröffentlicht hier nichts selbst. Es kann den organisationsweiten Schalter der Integration lesen und setzen und beobachtet die Statuswechsel beider Seiten.
Mehrere Richtungen zugleichDie drei Jabber-Richtungen sind einzeln schaltbar und lassen sich kombinieren. Microsoft Graph erlaubt je App eine Sitzung pro Benutzer. EasyUC führt Jabber-Status und CUCM-Gespräche deshalb in einer Quelle zusammen.
BenutzerzuordnungEasyUC erkennt dieselbe Person über ein Kennzeichen, das in beiden Systemen denselben Wert trägt, zum Beispiel E-Mail-Adresse oder Telefonnummer. Die Vorschau zeigt je Benutzer Eindeutig, Nicht gefunden oder Mehrdeutig. Nur eindeutige Treffer und manuelle Zuordnungen nehmen am Abgleich teil.
IntervallDer Hintergrunddienst arbeitet im Grundtakt von 5 Sekunden. Je Profil stellen Sie 5 bis 60 Sekunden ein, Vorgabe 10.
TrockenlaufRechnet einen Abgleich vollständig durch und zeigt die geplanten Änderungen. Es werden keine Zustände veröffentlicht und keine Ereignisse geschrieben.
Presence LiveProtokoll je Profil: jede Veröffentlichung, Auffrischung, Entfernung, Auslassung und jeder Fehler mit Zeit, Benutzer, Richtung, Quellstatus vorher und nachher, Zielstatus, Ergebnis und Grund.

Zustandstabelle: Cisco → Teams

Zustandstabelle: Cisco → Teams
Feld / AktionBedeutung und Verwendung
Verbundenes Gespräch am Cisco-GerätTeams: Verfügbarkeit „Beschäftigt“ mit Aktivität „In einem Anruf“. Quelle ist ausschließlich ein von der Anrufüberwachung bestätigtes Gespräch. Endet es, entfernt EasyUC seine Sitzung, und Teams zeigt wieder den eigenen Status des Benutzers.
Klingeln, WählenKeine Änderung in Teams.
Jabber: VerfügbarTeams: „Verfügbar“.
Jabber: AbwesendTeams: „Abwesend“.
Jabber: Beschäftigt, in BesprechungWird ausgelassen und protokolliert: „Microsoft Graph unterstützt diesen Status nicht als sichere App-Session.“
Jabber: Nicht störenWird ausgelassen und protokolliert. EasyUC überschreibt keinen persönlich gesetzten Teams-Status.
Jabber: OfflineEasyUC entfernt die eigene Sitzung in Teams. Es meldet den Benutzer nicht künstlich als offline.
Status unbekannt oder Quelle nicht erreichbarDer zuletzt veröffentlichte Zustand bleibt bis zu seiner Ablaufzeit bestehen. Ein Ausfall der Quelle bedeutet nie „verfügbar“.
Status, den EasyUC selbst in Jabber gesetzt hatWird nicht nach Teams zurückgespiegelt: „Die eigene EasyUC-PWS-Quelle wird nicht zurück nach Teams gespiegelt.“

Zustandstabelle: Teams → Cisco Jabber

Zustandstabelle: Teams → Cisco Jabber
Feld / AktionBedeutung und Verwendung
Teams: VerfügbarJabber: verfügbar.
Teams: Abwesend, Bin gleich zurückJabber: abwesend.
Teams: BeschäftigtJabber: beschäftigt.
Teams: In einem AnrufJabber: beschäftigt mit Gesprächskennzeichen („Im Gespräch“).
Teams: In einer TelefonkonferenzJabber: wie „Im Gespräch“.
Teams: In einer BesprechungJabber: beschäftigt.
Teams: Nicht stören, PräsentiertWird ausgelassen und protokolliert: „Ein persönlicher Cisco-DND-Override wird nicht überschrieben.“ Cisco verlangt für „Nicht stören“ einen globalen Override, den EasyUC nicht setzt.
Teams: OfflineEasyUC entfernt die eigene Quelle in Jabber.
Status unbekanntDie bisherige Quelle in Jabber bleibt bestehen.
Status, den EasyUC selbst in Teams gesetzt hatWird nicht nach Cisco zurückgespiegelt: „Der von EasyUC in Teams gesetzte Status wird nicht zurück nach Cisco gespiegelt.“ So entsteht keine Rückkopplung.

Ablauf eines Abgleichs

  1. Der Presence-Dienst prüft alle 5 Sekunden, für welche Profile das eingestellte Intervall abgelaufen ist. Eine Sperre in der Datenbank verhindert, dass zwei Läufe gleichzeitig für dasselbe Profil veröffentlichen.
  2. Er lädt die Benutzerzuordnung des Profils. Mehrdeutige Treffer sind ausgeschlossen und zählen als Konflikt.
  3. Er liest die Quellen der eingeschalteten Richtungen: verbundene Gespräche der CUCM-Verbindung, Jabber-Status vom Presence-Webservice, Teams-Status aus Microsoft Graph.
  4. Er vergleicht je Benutzer den gelesenen Zustand mit dem zuletzt beobachteten. Nur ein Wechsel erzeugt einen Eintrag in Presence Live. Unveränderte Abfragen schreiben nichts.
  5. Er bestimmt den Zielzustand nach den Zustandstabellen. Nicht übertragbare Zustände werden mit Grund als übersprungen protokolliert.
  6. Er veröffentlicht neue Zustände, frischt bestehende vor ihrem Ablauf auf und entfernt Zustände, deren Quelle beendet ist.
  7. Er speichert am Profil Status, Meldung und Zeitpunkt des Laufs. Diese Werte zeigt die Oberfläche unter Letzte Prüfung.
  8. Wird die Synchronisation ausgeschaltet oder das Modul beendet, entfernt der Dienst nur die von EasyUC gesetzten Zustände. Die Einstellungen des Profils bleiben erhalten.

Datenfluss und Speicherorte

Datenfluss und Speicherorte
Feld / AktionBedeutung und Verwendung
Was an Microsoft gehtJe zugeordnetem Benutzer der Presence-Status als Paar aus Verfügbarkeit und Aktivität, zum Beispiel „Beschäftigt / In einem Anruf“. Rufnummern, Gesprächspartner, Gesprächsdauer oder Gesprächsinhalte werden nicht übertragen.
Was EasyUC von Microsoft liestDie Benutzer des Tenants mit dem gewählten Kennzeichen für die Zuordnung und, bei eingeschalteter Gegenrichtung, ihren Presence-Status.
Was an Cisco IM and Presence gehtDer aus Teams gelesene Status als Rich Presence für die Jabber-Adresse des Benutzers.
Was auf der Appliance liegtProfile, Zugangsdaten, Benutzerzuordnung, der zuletzt beobachtete Zustand je Benutzer und das Protokoll von Presence Live. Alles steht in der Datenbank Ihrer Appliance.
ProtokollinhaltZeit in UTC mit Millisekunden, Profil, Benutzer, Client, Richtung, bisheriger Zustand, Quell- und Zielstatus, Aktion, Ergebnis und Grund. Zugangsdaten, Sitzungsschlüssel und Tokens stehen nicht darin.
HintergrunddienstEigener Dienst der Appliance mit einer Instanz. Der Manager zeigt seinen Zustand, seine Logs und eine Neustartsteuerung getrennt von den übrigen Diensten.
Ablaufzeiten beim HerstellerEine von EasyUC gesetzte Sitzung in Microsoft Graph läuft nach zehn Minuten ab, eine Quelle in Cisco IM and Presence nach einer Stunde. EasyUC frischt aktive Zustände vorher auf. Fällt EasyUC aus, verschwinden die gesetzten Zustände spätestens mit dieser Ablaufzeit.

Schnittstellen und Berechtigungen

Schnittstellen und Berechtigungen
Feld / AktionBedeutung und Verwendung
Microsoft GraphApp-Registrierung in Microsoft Entra mit Client-ID und Client-Secret. Anwendungsberechtigungen mit Administratorzustimmung: User.Read.All (Benutzer lesen), Presence.Read.All (Status lesen) und Presence.ReadWrite.All (Status veröffentlichen). Im Webex-Modus genügen die beiden lesenden Berechtigungen.
CUCM: AnrufüberwachungDie CUCM-Verbindung in EasyUC überwacht laufende Gespräche auf allen Geräten (JTAPI über den CTI Manager). Presence Sync nutzt diese Überwachung mit.
CUCM: BenutzerverzeichnisAXL-Lesezugriff, um Leitungen ihren Benutzern und Jabber-Adressen zuzuordnen. Sie verwenden eine vorhandene CUCM-Verbindung oder tragen einen eigenen AXL-Zugang ein.
Cisco IM and PresencePresence-Webservice über HTTPS. Ein Application User mit der Rolle Admin-3rd Party API veröffentlicht. Zum Lesen des Jabber-Status braucht EasyUC zusätzlich einen eigenen Endbenutzer als Beobachter. Das Zertifikat wird immer geprüft.
WebexEine Webex-Integration mit Client-ID, Client-Secret und Refresh-Token sowie die Organisations-ID. Lesende Berechtigungen für Personen und für die Telefonie-Einstellungen, zum Schalten der Integration zusätzlich die schreibende Berechtigung und eine passende Administratorrolle.
Rollen in EasyUCGetrennte Rechte für Profile ansehen, Profile bearbeiten, Synchronisation ansehen und Synchronisation bearbeiten. Details stehen im Kapitel zum Presence-Profil.

Grenzen

  • „Nicht stören“ wird in keiner Richtung übertragen. Beide Hersteller behandeln diesen Zustand als persönliche Entscheidung des Benutzers, die EasyUC nicht überschreibt.
  • „Präsentiert“ lässt sich aus dem Jabber-Status nicht sicher ableiten und wird nicht übertragen.
  • Aus Jabber gelangen nur „Verfügbar“ und „Abwesend“ nach Teams. Ein Gesprächsstatus kommt ausschließlich aus der Anrufüberwachung des CUCM.
  • Gemeinsam genutzte CUCM-Leitungen (Shared Lines) werden keinem einzelnen Benutzer zugerechnet und setzen keinen Gesprächsstatus.
  • Je Entra-App darf nur ein Presence-Profil veröffentlichen. Je Application User in IM and Presence darf nur ein Profil nach Jabber schreiben.
  • Der Abgleich fragt die Hersteller zyklisch ab. Zustände, die kürzer als das Intervall dauern, können unbemerkt bleiben.
  • Im Webex-Modus bedeutet Beobachtet, dass EasyUC einen Quellstatus gelesen hat. Es bestätigt keine einzelne Übertragung durch Cisco.
  • Wie Jabber einen von außen gesetzten Status anzeigt und mit eigenen Quellen zusammenführt, hängt von der Version von IM and Presence und Jabber ab. Prüfen Sie das in der Abnahme mit Ihren Versionen.

Ergebnis prüfen und Fehler eingrenzen

  • Sie haben die Funktion verstanden, wenn Sie für einen Testbenutzer vorhersagen können, was Teams bei einem Gespräch am Cisco-Telefon zeigt und was nicht übertragen wird.
  • Stimmt die Erwartung nicht mit dem Verhalten überein, öffnen Sie Presence Live und lesen Sie den Eintrag des Benutzers. Ergebnis und Grund nennen, was EasyUC getan oder ausgelassen hat.
  • Erscheint ein Benutzer gar nicht im Protokoll, ist er nicht eindeutig zugeordnet. Prüfen Sie die Zuordnung im Profil über Zuordnung prüfen.
  • Die einzelnen Meldungen mit Bedeutung und Abhilfe stehen im Kapitel zu den Fehlerbildern.

Weiterlesen