DynamicTeams für Innovaphone

Dokumentenversion: 30.3.2021 gültig für UC-Analytics Version ab 12.2.1 

Einleitung

Mit den DynamicTeams der UC-Analytics lassen sich Sammelgruppen dynamisch und zentral erweitern und es kann für die Mitglieder einer Gruppe der 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. 

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:

  • Das Zertifikat der aurenz WebSuite muss gültig, vertrauenswürdig sein und die URL müss dem Zertifikat entsprechend korrekt aufgerufen werden. Ansonsten funktioniert die Integration in die Innovaphone App nicht!
  • Die Sammelgruppen wurden in UC-Analytics entsprechend konfiguriert (Siehe Anschlussbeschreibung Innovaphone)
  • Eine "Gruppe" darf nur einer einzigen "Waiting Queue" zugeordnet sein
  • Eine "Waiting Queue" darf nur eine einzige "Gruppe" enthalten
  • Für die Agenten gilt aktuell noch: bei den PBX-Objekte muss der "Long Name" gleich dem "Display Name" sein
  • Bei Nutzung des Innovaphone Netlogon-Dienstes (Authentifizierung der Benutzer per NTLM) kann sich der User ausschließlich innerhalb der MyApps Anwendung an DynamicTeams anmelden.


Für die Kommunikation  von MyApps mit der WebSuite wird der HTTP-Header "Access-Control-Allow-Origin" benötigt. Hier muss sichergestellt sein, dass dieser Header NICHT von einer Firewall/Proxy entfernt wird!

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:

WICHTIG: Leerzeichen machen bei der Innovaphone Probleme! Daher bitte vermeiden!


  • Ein "APP-Object" (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=https%3A%2F%2F172.16.61.21%3A8443

    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>
    - aurenz-dynamicteams: WICHTIG: Dies muss genau so geschrieben sein!

    HTTPS ist eine zwingende Einstellung für die Kommunikation mit der WebSuite:

    • Der HTTPS-Zugang für die WebSuite muss aktiviert werden: In der Administrations-Oberfläche in den Grundeinstellungen: "WebServer → Web Suite Einstellungen → HTTP Server".
    • WICHTIG: Der HTTP-Zugang muss daktiviert werden (d.h. es ist dann kein Zugriff mehr über HTTP möglich)!
    • Nach der Änderung sind die Dienste neu zu starten!
    • Das Zertifikat eingerichtet werden: In der WebSuite unter "Datei → Einstellungen → HTTPS Konfiguration (SSL/TLS)".
    • Bei der APP-URL muss dann die "serverUrl" entsprechend angepasst werden (die entsprechenden Punkte sind "fett" markiert). Z.B.: https://172.16.1.196/PBX0/Aurenz-DynamicTeams/aurenz-dynamicteams?serverUrl=https%3A%2F%2F172.16.61.21%3A8443




  • 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 installieren ("App Store" oder "App Upload")
    Die "DynamicTeams" App ist mittlerweile im innovaphone App Store gelistet und kann von dort installiert werden. Dazu den Punkt "App Store" awählen und dort die App "DynamicTeams" (von "aurenz GmbH") selektieren und dann "Installieren" drücken.

    App Upload

    Sollte die App nicht im App Store erscheinen, so kann die App auch manuell über den App Upload installiert werden.

    Dazu den Button "App Upload" drücken und im Dialog die Eingaben machen (siehe Screenshot). Unter "Binary file" die App-Datei auswählen (die App-Datei ist zu finden in dem Download der aurenz Software ("aurenz_Installation_XXXXX.zip") unter "UC-Analytics\Anbindung an Telefonanlagen\de\Innovaphone\myApp").

    Sollte der Button "App-upload" nicht sichtbar sein, so kann dieser unter "Settings→ General" aktiviert werden, indem der Punkt "Enable developer mode" aktiviert wird.

    Nach drücke auf "Save" muss die App schon als "Started" erscheinen (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.
      IP-Adresse des SOAP-Service: Dies ist die IP-Adresse/DNS der Innovaphone.
      Username: Dies muss ein Administrator in der Innovaphone sein! (in der Innovaphone können unter "Admin → General" ggf. weitere Administratoren angelegt werden)!

      innovaphone Administrator Account - Passwortlänge

      Das Passwort darf maximal 15 Zeichen lang sein!

    • 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".
      IP-Adresse des WebSocket-Service: Dies ist die IP-Adresse/DNS der Innovaphone.
      Username: Dies muss ein Administrator in der Innovaphone sein! (in der Innovaphone können unter "Admin → General" ggf. weitere Administratoren angelegt werden)!
    • Konfigurieren zur Nutzung von myApps
      Hier muss das "Shared Secret" hinterlegt werden. Dieses muss mit "Passwort" übereinstimmen, welches in der "MyApp Plattform" beim Anlegen der App-Instance im Feld "Password" eingetragen wurde.


  • 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.


Sammelgruppen / Anrufliste

Für die korrekte Funktionsweise der "Anrufliste" müssen die Sammelgruppen konfiguriert werden.

Dazu müssen in der WebSuite unter "Datei → Einstellungen → Sammelgruppen Konfiguration" die Sammelgruppen eingetragen werden. Wichtig hierbei ist, dass unter der "Gruppen-Kennung" die Rufnummer eingetragen wird, welche auch im "DynamicTeams Management" als Rufnummer der Sammelgruppe angezeigt wird. Dies ist speziell interessant, wenn verschiedene PBXen (mit Prefixen) verwendet werden. Die Rufnummer mit Prefix muss dann als zusätzliche Kennung eingetragen werden.

Beispiel:

  • Sammelgruppe Rufnummer: 992
  • Rufnummer mit PBX-Prefix: 82992

In der Sammelgruppen Konfiguration ist dann die Sammelgruppe so zu konfigurieren:

  • Gruppen-Kennung: 992
  • Zusätzliche Kennungen: 82992

Fehleranalyse

Im myApps-Client kann mittels rechter Maustaste und dann "Untersuchen" können die Entwickler-Tools geöffnet werden. Dies erleichtern ggf. die Analyse von Problemen. Im Folgenden werden einige der möglichen Fehlerquellen dargestellt.

Anmerkung: Da in UC-Analytics die Passwörter/... zwischengespeichert werden kann es nötig sein, nach Änderung den "UC-Analytics Abrechnungsmoduls" Dienst neu zu starten!

Zertifikat-Problem

Wird z.B. im Client das verwendete Zertifikat nicht eingespielt oder nicht gültig ist, dann kann die App nicht starten und es erscheint "Aurenz DynamicTeams wird gestartet..." - es passiert jedoch nichts.

Zur Analyse sollten die Entwickler-Tools im myApps-Client geöffnet werden und dort auf den Reiter "Network". Erscheint dort "UCA_Innovaphone.js" in rot und mit Status "(canceled)" (siehe Screenshot), so lässt dies darauf schließen, dass das Zertifikat nicht korrekt bzw. im Client nicht bekannt ist.

Hinweis: Ob das verwendete Zertifikat gültig/korrekt ist, sollte mit dem Google Chrome Browser getestet werden. Da der myApps-Client auf dem Google Chrome Browser basiert, lässt sich nur damit sicher feststellen, ob das Zertifikat vom myApps-Client als gültig/korrekt erkannt wird. Andere Browser (Firefox, Edge, ...) können hier ein anderes Verhalten zeigen.

Passwort / Shared Secret stimmt nicht überein

Bei der Einrichtung/Konfiguration muss ein Passwort/Shared Secret vergeben werden. Stimmt dies nicht in allen Stellen überein, so kommt es zu einer Fehlermeldung "InternalServerException" - im myApps-Client erscheint ein Dialog mit der Fehlermeldung "InternalServerException" (siehe Screenshot).

Zur Analyse sollten die Entwickler-Tools im myApps-Client geöffnet werden und dort auf den Reiter "Console". Erscheint dort bei "GET https://<ip-adresse ggf. port>/service/alwin/extsys/credentials?digestArgs..." die Meldung in rot "500 (Internal Server Error)", so lässt dies daraus schließen, dass das Passwort/Shared Secret nicht übereinstimmt.

Das Passwort/Shared Secret muss an folgenden Stellen gleich sein:

  • UC-Analytics Administration: "DynamicTeams → Agentenberechtigungen verwalten... → Innovaphone Zugangsdaten konfigurieren" - hier muss Feld "Shared Secret".
  • In der Innovaphone PBX: Das Objekt "Aurenz DynamicTeams" - hier das Feld "Password".
  • In der Innovaphone myApps-Plattform: In der App "Aurenz-DynamicTeams" - hier das Feld "Password".


© aurenz GmbH 2022