Einleitung
Mit dem Feature DynamicTeams lassen sich Sammelgruppen dynamisch und zentral erweitern, wie auch für die Sammelgruppenmitglieder den Präsenz-Status eingesehen werden. Dieses Dokument beschreibt wie die Innovaphone und die relevanten UC-Analytics Komponenten eingerichtet werden müssen, damit das Feature genutzt werden kann. Bitte beachten Sie, dass die DynamicTeams ein Leistungsmerkmal ist, welches in der UC-Analytics freigeschaltet sein muss. Steht das Feature bei Ihrer Installation nicht zur Verfügung, muss es nachlizenziert werden.
Begriffsdefinitionen
- User
Ein User entspricht einem Teilnehmer und hat unter anderem eine Rufnummer und eine Zuordnung zu einer Gruppe (bzw. auch zu mehreren). - Gruppe
Eine Gruppe in der Innovaphone ist erst mal nur ein "Name" (ohne Funktionalität). Diese Gruppe kann nun einem "User" zugeordnet werden. Weiterhin kann eine Gruppe einer "Waiting Queue" (siehe nächster Punkt) zugeordnet werden.
ACHTUNG: Eine Gruppe kann mehreren "Waiting Queues" zugeordnet werden (siehe auch weiter unten). - Waiting Queue
Hinter einer "Waiting Queue" verbirgt sich nun die eigentliche Funktionalität der "Sammelgruppe". Z.B.: wird hier festgelegt ob Rufe zyklisch oder parallel verteilt.
ACHTUNG: Einer "Waiting Queue" können auch mehrere "Gruppen" zugeordnet werden.
Vorbedingungen
Die DynamicTeams manipulieren im Grunde genommen Sammelgruppen indem User hinzugefügt werden oder entfernt werden. Da es das Konstrukt "Sammelgruppe" so direkt in der Innovaphone nicht existiert müssen einige "Vorbedingungen" festgelegt werden:
- Eine "Gruppe" darf nur einer einzigen "Waiting Queue" zugeordnet sein.
- Eine "Waiting Queue" darf nur eine einzige "Gruppe" enthalten.
Konfiguration
Innovaphone
Für den Zugriff mittels der WebSocket-Schnittstelle auf die Innovaphone-PBX wird ein APP-User benötig. Dazu muss folgendes gemacht werden:
Ein APP-User muss angelegt werden (z.B.: "Aurenz-DynamicTeams").
Dieser muss im Reiter "App" die Einstellungen "Websocket", "Admin" und "PbxApi" aktiv haben.Hinweis: Bei "Long Name" wird der Name eingetragen wie dieser in "My Apps" erscheint. Hier können auch Leerzeichen verwendet werden!Bei der URL muss folgendes eingetragen werden:
https://172.16.1.196/PBX0/Aurenz-DynamicTeams/aurenz-dynamicteams?serverUrl=http%3A%2F%2F172.16.61.21%3A8081
Hierbei haben die einzelnen Werte folgende Bedeutung (bzw. müssen zur Konfiguration passen:
https://<My Apps IP>/<Domain>/<Name>/aurenz-dynamicteams?serverUrl=<WebSuite URL>
- <My Apps IP>: IP-Adresse der MyApp Plattform (siehe 3.2 MyApp Plattform - App Instanz anlegen)
- <Domain>: Domäne (siehe 3.2 MyApp Plattform - App Instanz anlegen)
- <Name>: Name der App Instanz (siehe 3.2 MyApp Plattform - App Instanz anlegen)
- WebSuite URL>: URL der WebSuite. Diese besteht aus "<Protokoll>%3A%2F%2F<IP-Adresse>%3A<Port>- Den zu überwachenden Agenten muss nun bei der "Visibility" dieser APP-User zugeordnet werden.
Hintergrund: Wird dies nicht gemacht, so erscheint beim Agenten ein Dialog, wo dieser hingewiesen wird, dass ein anderer User bestimmte Infos sehen möchte und ob der User zustimmt. Solange der User noch nicht zugestimmt hat (bzw. wenn dieser dies ablehnt), werden keine Presence-Informationen übermittelt!
MyApp Plattform
Um die "Aurenz DynamicTeams" App verwenden zu können, muss diese in der MyApp Plattform eingetragen werden. Dazu wird so vorgegangen:
App Upload
Dazu den Button "App Upload" drücken und im Dialog die Eingaben machen (siehe Screenshot). Unter "Binary file" die App-Datei auswählen.
Nach drücke auf "Save" muss die App schon als "Started" erscheinen (falls nicht - siehe Warnung).WICHTIG: die "App ID" darf KEINE Leerzeichen enthalten!App Instanz anlegen
Nachdem die App installiert wurde, muss jetzt noch eine Instanz angelegt werden. Dazu auf "Add" drücken und den Dialog ausfüllen.
Die App Instanz erscheint als "Stopped" und muss mittels "Start" aktiviert werden.In "All URLs ..." wird die URL angezeigt, welche aufgerufen werden muss. Diese ist in der Innovaphone PBX beim Anlegen des APP-User anzugeben (siehe 3.1 Innovaphone - Ein APP-User muss angelegt werden (z.B.: "Aurenz-DynamicTeams").
UC-Analytics
In UC-Analytics muss sowohl die SOAP- als auch die WebSocket-Schnittstelle eingerichtet werden. Dazu muss folgendes gemacht werden:
- Im Menü "DynamicTeams" muss die Innovaphone-Datenquelle ausgewählt werden. Dort sind die folgenden Einstellungen zu treffen:
- SOAP-Zugangsdaten
Dies sind die Zugangsdaten für den Zugriff mittels SOAP auf die Innovaphone. - WebSocket-Zugangsdaten
Hier werden die Zugangsdaten für den Zugriff mittels WebSocket festgelegt (hier müssen die Zugangsdaten rein, welche oben festgelegt wurden. Im Beispiel die Zugangsdaten für "Aurenz DynamicTeams".
- SOAP-Zugangsdaten
- In den "Grundeinstellung" muss der Zugang zum WebServer konfiguriert werden.
Dazu ist unter "Webserver\Benutzer Authentifizierung\Innovaphone Authentifizierung" der Punkt "Anmeldung über Innovaphone-Authentifizierung freigeben" zu aktivieren.
Zuvor muss jedoch aktiviert werden, dass sich Anwender automatisch anmelden dürfen. Dazu ist unter "Webserver\Benutzer Authentifizierung\Automatischer Zugang bereitstellen" die 2. Option zu aktivieren.
Mittels "Test der Zugangseinstellungen" kann geprüft werden, ob die Authentifizierung funktioniert.
MyApps Client
Nachdem die Konfiguration soweit eingerichtet ist, kann die APP den einzelnen Usern zugeordnet werden:
- Innovaphone
Hier muss der APP-User (in diesem Beispiel "Aurenz-DynamicTeams") den Usern zugeordnet werden. - MyApp Client
Im MyApp Client kann nun die APP verwendet werden.
Durch drücken auf die APP wird der Anwender automatisch angemeldet und kann die DynamicTeams verwenden.
Sollte die Meldung "Ihre Rechte reichen nicht aus. Bitte melden Sie sich mit einem anderen Benutzer an." kommen, so liegt dies ggf. daran, dass der User nicht als "DynamicTeams" User verwendet wird.
Details für die Entwicklung
Gruppen/Agenten abfragen
Die Innovaphone bietet eine SOAP-Schnittstelle, mittels welcher Informationen abgefragt werden können (bzw. auch Änderungen vorgenommen werden können).
Zur Abfrage der Agenten und Gruppen wird die SOAP-Funktion "FindUser" verwendet.
Bei der Nutzung sind einige Besonderheiten zu beachten:
- Es können nicht beliebig viele Einträge abgefragt werden. Vielmehr muss in einer Schleife hier Packetweise abgefragt werden (wir rufen immer 100 ab).
- Es muss mit einem Start "cn" angefangen werden (wir verwenden hier " " - d.h. ein Leerzeichen) und die Anzahl der abzufragenden Einträge.
- Bei nachfolgenden Abfragen muss dann mit dem jeweils letzten "cn" fortgesetzt werden und zusätzlich die Kennung "next" gesetzt werden.
Agent ein-/ausbuchen
Dies erfolgt ebenfalls über die SOAP-Schnittstelle.
Zuerst wird der "User" über dessen "cn" abgefragt und die "grp" Liste geändert (d.h. entweder die entsprechende Gruppe zugefügt, ober entfernt).
Presence-Status
Für den Presence-Status bietet die Innovaphone die Möglichkeit, eine "Session" aufzubauen und sich über Status-Änderung informieren zu lassen.
Der Ablauf ist so:
- Es wird eine Session aufgebaut (WICHTIG: die HTTP-Verbindung muss offen gehalten werdenüber die ganze Session hinweg).
- Für jede zu überwachende Nebenstelle wird nun "UserInitialize" aufgerufen.
- Nun wir in einer Schleife die SOAP-Funktion "Poll" aufgerufen. Diese kommt zurück, wenn sich eine Statusänderung ergeben hat und liefert die entsprechende Infos (ggf. auch von mehreren Nebenstellen gleichzeitig).
WebSocket-Schnittstelle
ACHTUNG: Die bisher verwendete SOAP-Schnittstelle gibt es zwar noch, jedoch wird diese im Prinzip nicht mehr weiterentwicklet und es sollte die neue WebSocket-Schnittstelle verwendet werden!
Es gibt eine neue Schnittstelle zum Zugriff auf die Innovaphone. Diese funktioniert mittels WebSocket. Damit kann man im alles machen (laut Aussage), was man auch mit der SOAP-Schnittstelle machen konnte und noch mehr. Dies ist die bevorzugte Schnittstelle und sollte für zukünftige Entwicklungen verwendet werden.
Für den Zugriff auf die Innovaphone-PBX ist das folgende Protokoll interesssant: "http://sdk.innovaphone.com/doc/appwebsocket/myApps.htm".
MyApp Client
Der MyApp Client cached ggf. Dateien, was es bei der Entwicklung schwierig macht. Den Cache kann man leeren, wenn man die Dateien in folgenden Verzeichnissen löscht (vorher natürlich MyApp Client beenden):
- "C:\Users\Support\AppData\Roaming\innovaphone\myApps\chromium"
- "C:\Users\Support\AppData\Roaming\innovaphone\myApps\appproxy\ext\172.16.1.196\PBX0"
→ Hier kommt es etwas auf die Konfiguration an: "172.16.1.196" ist die IP der App Plattform; "PBX0" ist die Domain
→ Darunter dann den Ordner löschen, welcher so heisst, wie die APP.