DynamicTeams an Cisco (CUCM/CUPS)

aurenz DynamicTeams ist Bestandteil des Produktes aurenz UC-Analytics und erlauben das dynamische Ein-/Ausbuchen aus Sammelgruppen (HuntGroups).

Die Grundfunktion ist hier im Video dargestellt:

DynamicTeams-Benutzersicht.mp4

Voraussetzungen

Um DynamicTeams in Verbindung mit dem CUCM nutzen zu können, müssen folgende Voraussetzungen bestehen.
Speziell wird davon ausgegangen, dass ein „Cisco IM&Presence Manager" (im Folgenden CUPS genannt) installiert/konfiguriert und mit dem CUCM verbunden ist. Dies beinhaltet auch eine Anbindung an ein AD (Active Directory) über welches sich End-User authentifizieren können.

Da die Sammelgruppen im CUCM sehr flexibel eingesetzt/konfiguriert werden können, müssen zwingend folgende Vorbedingungen gegeben sein:

  1. Eine HuntList ist immer eindeutig einem HuntPilot zugeordnet.
    Anmerkung: Da wir sonst einen Teilnehmer nicht aus einer definierten Sammelgruppe ein-/ausbuchen können.

  2. Eine LineGroup darf NICHT in mehreren HuntList als 1. LineGroup verwendet werden (siehe auch nächsten Punkt).
    Anmerkung: Auch hier hätten wir wieder das Problem, dass wir einen Teilnehmer nicht aus einer definierten Sammelgruppe aus-/einbuchen könnten.

  3. Wir betrachten nur die 1. LineGroup innerhalb einer HuntList.
    Anmerkung: Ansonsten hätten wir das Problem, dass wir die Zuordnung zur LineGroup mit verwalten müssten.

  4. Wir betrachten nur die 1. Line eines Devices. D.h. nur die 1. Line wird beim Ein-/Ausbuchen der LineGroup zugeordnet/entfernt.

  5. Wir betrachten nur EndUser, welche das Flag „Enable User for Unified CM IM and Presence (Configure IM and Presence in the associated UC Service Profile)" haben. Ausserdem muss die UserId „gültig" sein (d.h. es muss ein „@" vorhanden sein oder dies wird durch eine Einstellung mit der Domäne erweitert).

  6. Cisco Login/Logout darf nicht verwendet werden.
    Anmerkung: DynamicTeams und Cisco Login/Logout sind 2 gegensätzliche Funktionalitäten und können daher nicht gemeinsam genutzt werden. Wird DynamicTeams genutzt, so muss der User immer eingeloggt sein und darf nicht das Cisco Login/Logout verwenden.

End-User Domäne

Es ist wichtig, dass beim Einrichten auf den Punkt “End-User Domäne” speziellen Wert gelegt wird, da dies im CUCM unterschiedlich konfiguriert sein kann. Der CUPS verwendet immer die Domäne und daher muss diese im CUCM auch vorhanden sein oder muss von DynamicTeams erweitert werden.

  1. Im CUCM ist bei den End-Usern (in der User ID) bereits die Domäne eingetragen, dann muss der End-User nicht mehr mit der Domäne erweitert werden.

  2. Im CUCM sind die End-User ohne die Domäne eingetragen und müssen von DynamicTeams erweitert werden. Hier muss im entsprechenden Dialog (siehe weiter unten) die “End-User Domäne” eingetragen werden.

Beispiel (keine Domäne in der User ID):

→ In diesem Fall muss in DynamicTeams in der Konfiguration die End-User Domäne “demo.aurenz.de” eingetragen werden.

Beispiel (mit Domäne in der User ID):

→ In diesem Fall darf in DynamicTeams in der Konfiguration keine End-User Domäne eingetragen werden.

Ab der UC-Analytics Version 13.5.1.02 ist es möglich, DynamicTeams auch ohne einen CUPS zu betreiben!

Dies hat eine eingeschränkte Funktionalität zur Folge:

  • Es werden keine Presence-Informationen angezeigt - die Agenten werden immer als “Available” angezeigt.

ACHTUNG:
Wird kein CUPS genutzt, so muss trotzdem der Punkt bei “End-User Domäne” beachtet werden. Dies hat speziell Auswirkungen, falls nachträglich doch ein CUPS angebunden werden soll!

Allgemeine Funktionsweise

UC-Analytics nutzt zur Kommunikation mit dem CUCM die AXL Schnittstelle. Darüber werden die Sammelgruppen (HuntPilot, HuntList und LineGroup) abgerufen, sowie die die End-User. UC-Analytics verwaltet dann die Zuordnung der End-User zu den Sammelgruppen und fügt beim Ein-/Ausbuchen den entsprechenden End-User (bzw. Directory-Numbers) der Sammelgruppe zu (bzw. entfernt diesen).
Die End-User werden aufgrund der User-ID verwaltet. Hierbei speichert sich UC-Analytics diese Information inklusive der Domäne (z.B.: „alina.solo@aurenz.de"). Sollten im CUCM die End-User ohne die Domäne gespeichert sein, so muss die Domäne im Sammelgruppen-Manager (siehe „End-User: Domäne") konfiguriert sein.
Der Presence-Status wird vom CUPS abgerufen (über SOAP) bzw. UC-Analytics startet einen HTTP-Server und registriert diesen beim CUPS. Status-Änderungen werden dann vom CUPS an den UC-Analytics mittels eines HTTP-Aufrufs mitgeteilt.

DynamicTeams-Konfiguration in UC-Analytics

Im Dateimenü den Punkt “DynamicTeams” → “Dynamic Teams Management…” wählen.
Sind die Einstellungen noch nicht oder noch nicht korrekt/vollständig konfiguriert, kann es zu einer Fehlermeldung kommen. dies kann vorerst ignoriert werden.

image-20240206-144139.png

Die Konfiguration erfolgt über den Menüpunkt “Cisco Zugangsdaten konfigurieren”. Hier ist eine Beispiel-Konfiguration zu sehen:

Bedeutung der einzelnen Felder (soweit erforderlich):

  1. Zugangsdaten zum Communication Manager (CUCM): Hier wird die IP-Adresse und Port des CUCM angegeben. Zusätzlich ist ein ApplicationUser zu definieren (wird im CUCM konfiguriert), welcher mittels AXL auf die Konfiguration zugreifen und auch Änderungen vornehmen darf.

  2. Zugangsdaten zum Presence-Server (CUPS): Hier wird die IP-Adresse und Port des CUPS angegeben (im Standard läuft der „Presence Web Service" auf dem Port 8083 wir unterstützen im Moment nur die HTTPS-Variante). Zusätzlich muss ein ApplicationUser angegeben werden (dieser wird im CUCM konfiguriert) und wird benötigt, um sich am CUPS mittels „Presence Web Service" anzumelden. Der ApplicationUser muss die Berechtigungen „Third Party Application Users“ und „Admin-3rd Party API" haben.
    Zusätzlich wir ein EndUser benötigt. Der EndUser wird benötigt, um sich über Status-Änderungen benachrichtigen zu lassen. Die EndUser-Domäne ist dann nötig, wenn die EndUser ohne „Domäne" im CUCM gepflegt werden. Da wir (auch der CUPS) die EndUser mit der Domäne verwalten, muss diese dann hier in diesem Fall angegeben werden.

  3. Daten des UC-Analytics-Servers. Hier muss die IP-Adresse des UC-Analytics-Rechners und ein Port angegeben werden. Mit diesen Daten startet der UC-Analytics-Dienst einen HTTP-Server um über Status-Änderungen vom CUPS informiert zu werden. D.h. der CUPS muss diesen IP-Adresse/Port erreichen können. Diese Einstellung wird von aurenz im Presence Server über den obigen Zugang konfiguriert.
    --> Diese Kommunikation muss entsprechend zugelassen (Windows Firewall, …) werden.

Bitte unbedingt den Punkt “End-User Domäne” bei den Voraussetzungen (weiter oben) beachten!

Nachdem die Anbindung erledigt wurde, werden alle Gruppen aus dem Cisco Systemn ausgelesen und in der “DynamicTeams einrichten”-Maske dargestellt.
Wie im folgenden Screenshot zu sehen, können einzelne Gruppen vom Monitoring ausgenommen werden. Dies kann Vorteile bei der Performance mit sich bringen:

CUCM Authentifizierung

 

 

Um den CUCM zur Authentifizierung der Benutzer in UC-Analytcs zu verwenden, muss folgende Option gesetzt werden:

In den Grundeinstellungen (Dateimenü “Datei” → “Programm einrichten” → “Grundeinstellungen…”
unter „WebServer” → “Benutzer Authentifizierung” → “Automatischer Zugang bereitstellen”

muss die Option “Anwender bei Login automatisch anlegen und …” und “E-Mail, nur für die WebSuite” gewählt werden.

Die untergeordneten Optionen zum Kontext können beliebig gewählt werden.

 

 

 

 

In den Grundeinstellungen (Dateimenü “Datei” → “Programm einrichten” → “Grundeinstellungen…” kann die Authentifizierung für den CUCM konfiguriert werden.
Diese kann unter „WebServer” → “Benutzer Authentifizierung” → “CUCM Authentifizierung" aktiviert und konfiguriert werden.
ACHTUNG: Diese Authentifizierung kann nicht gleichzeitig mit alternativen Authentifizierungsmethoden wie “LDAP”, “SWYX”, … verwendet werden.

Eine der Optionen kann verwendet werden:

  • “Passwort gegen den CUCM prüfen” → Die Authentifizierung erfolgt über den CUCM. In diesem Fall wird mittels UDS von UC-Analytics eine Anfrage an den CUCM zur Authentifizierung gerichtet. Hiermit ist es möglich, dass die EndUser über ein AD in den CUCM importiert werden und die Authentifizierung über den CUCM am AD erfolgt.

  • “Passwort lokal verwalten” → Die Kennwörter werden im UC-Analytics verwaltet.

 

DynamicTeams an Cisco - Performance-Optimierungen bei Problemen oder größeren Umgebungen

Die Darstellung des Presence-Status in DynamicTeams benötigt eine gewisse Performance - falls es Problemen oder einem nicht synchronen Status in Cisco Clients und DynamicTeams kommt, gibt es folgende Empfehlungen:
(Die folgenden Erfahrungswerte stammen aus einer Konstellation mit ca. 900 aktiven Benutzern)

Optimierung am CUPS

Presence → Settings → Standard Configuration

Diese beiden Werte sollten min. so groß sein wie die Anzahl der User, welche den Presence-Status an DynamicTeams übermitteln.

  • Maximum Contact List Size (per user) = 1000

  • Maximum Watchers (per user) = 1000

Optimierung am Cisco XCP Router

System → Service Parameter → „CUP“ → Cisco XCP Router

  • Maximum database requests to allow = 2000

  • Resume sockets when database request drop below = 1500

Entsprechend den Änderungen müssen die zugehörigen Dienste neu gestartet werden um die Änderungen korrekt zu übernehmen.

Aufruf der DynamicTeams Website

Um DynamicTeams in einem Browser oder in einem SoftPhone (z. B. Jabber) aufzurufen, kann folgende URL verwendet werden:

HTTP://IP-Adresse-aurenz-Server:8081/groups
HTTPS://IP-Adresse-aurenz-Server:8443/groups

Um direkt einen Benutzernamen beim Aufruf einzutragen:

HTTP://IP-Adresse-aurenz-Server:8081/groups#username=Benutzername
HTTPS://IP-Adresse-aurenz-Server:8443/groups#username=Benutzername

die IP-Adresse / DNS-Name, der Port der aurenz WebSuite muss kundenspezifisch angepasst werden. Der Benutzername muss pro User getauscht werden.

Debugging

Bei Problemen mit der Kommunikation zwischen aurenz UC-Analytics und CUCM / CUPS kann ein erweitertes Log mit folgendem INI-Key aktiviert werden:

CucmAXLLogActive=0 Standard-Protokoll
CucmAXLLogActive=1 Sehr ausführliches Protokoll

Das Log “CucmAXLLog-0.log” wird im Standardpfad “C:\ProgramData\Aurenz\UC-Analytics\Logs\” gespeichert und ist rollierend.
Nach dem Debugging wird empfohlen, den INI-Key “CucmAXLLogActive=“wieder zu löschen.

 

Sonstiges

Automatisches Anmelden von Agenten / „Bei Bedarf Agenten automatisch einbuchen“

DynamicTeams können so eingestellt werden, dass Agenten automatisch angemeldet werden. Dazu ein paar Details:
Eine automatische Anmeldung von Agenten erfolgt dann, wenn in einer Gruppe kein Agent mehr verfügbar ist. Das heißt, von allen in der Gruppe angemeldeten Agenten hat kein einziger den Status Verfügbar. Es sind also entweder alle am Telefonieren oder haben ihren Status so eingestellt, dass sie keine Anrufe annehmen können. (Abwesend, Nicht stören, …). Dieser Test wird immer dann ausgeführt, wenn sich der Status eines beliebigen Agenten ändert und einmalig beim Programmstart.
Bleibt noch die Frage, welcher Agent denn jetzt eingebucht werden soll. Dazu wird unter allen Agenten einer ausgewählt, der den Zustand Verfügbar an seinem Client eingestellt hat. Dieser Agent bestimmt sich aus einer internen Reihenfolge, welche von außen weder einsehbar noch änderbar ist. Weiterhin kann sich diese Reihenfolge bei jeder Änderung im Sammelgruppen Manager ändern. Nehmen wir also einfach mal an, die Auswahl wäre zufällig.
Beim automatischen Einbuchen von Teilnehmern wird eine E-Mail an diesen Teilnehmer gesendet und an alle Teamleiter der Gruppe. Allerdings setzt dies voraus, dass für die entsprechenden Personen ein Web Anwender in AlwinPro angelegt wurde und dass dort auch eine E-Mail Adresse hinterlegt wurde.
Für die E-Mail Texte sind Standardtexte verfügbar, es können aber auch individuelle Texte hinterlegt werden. Um individuelle Texte zu verwenden, müssen im AlwinPro Arbeitsverzeichnis Textdateien angelegt werden:

  • SAAutoSignIn.txt für den Mitarbeiter

  • SAAutoSignInTeam.txt für den Teamleiter

Für beide Dateien gilt:

  • Die erste Zeile der Datei enthält den Betreff der E-Mail

  • Ab der zweiten Zeile beginnt der eigentliche E-Mail Text. Der Text kann mit Platzhaltern ergänzt werden:%1 = Datum / Uhrzeit%2 = Gruppenname%3 = Gruppenrufnummer%4 = Agenten Name (aus der Swyx)%5 = Agenten Rufnummer%6 = Name des Web Anwenders

Ein automatisches Ausbuchen eines Agenten gibt es nicht. Wenn ein Agent automatisch eingebucht wurde, dann muss er sich selbst wieder ausbuchen, ansonsten bleibt er in der Gruppe, auch wenn wieder genügend Agenten verfügbar sind.

© aurenz GmbH 2022