CTI-Technologie
Einführung
Dieser Artikel beschreibt die Konfiguration der Telefonie-Anbindung mittels der Technologie CTI.
CTI steht für Computer Telephony Integration. Diese moderne Technologie verknüpft die Welten der klassischen Telekommunikation (TK) und der Informationstechnik (IT) miteinander. Telefongeräte dienen lediglich dazu, die Sprache zu übermitteln. Die Verbindungsaufbau und -steuerung wird dagegen über Computer realisiert. Die Bedienoberfläche für die CTI-Clients stellt CURSOR-CRM zur Verfügung.
Beispiel einer CTI-Landschaft
Architektur
Die CTI-Anbindung wird serverseitig realisiert. Dies erlaubt eine zentrale Kommunikation des CRM-Systems mit der Telefonanlage und die zentrale Konfiguration aller Komponenten. Damit ist es möglich die Telefonanbindung auch mit dem Web Client umzusetzen und verpasste Anrufe zu protokollieren, obwohl der Anwender nicht am System angemeldet ist.
Die Anbindung des CTI-Servers wird über eine Zwischenkomponente den CTI-Vermittler-Server abgewickelt. Die Trennung des Servers vom Applikationsserver ist wichtig, um die CTI-Anbindung im Clusterbetrieb zu gewährleisten und den Applikationsserver bei vielen Benutzern nicht mit zusätzlichen Thread für CTI-Ereignisse auszulasten.
![](../../../__attachments/10684989/CTI_Architektur.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Client: Der Benutzer kann einen Telefonanruf über die Anwendung tätigen und wird über einkommende Telefonanrufe mit Details zum Anrufer benachrichtigt
Applikations-Server: Anfragen des Clients werden an die CTI-Schnittstelle weitergeleitet. Einkommende Anrufe werden persistiert und in der Taskliste verwaltet
Datenbank: Hier wird die Konfiguration des CTI-Server, der TK-Anlage und der einzelnen Telefone pro Benutzer abgelegt
CURSOR CTI-Server: Ein eigener Applikationsserver welcher
alle registrierten Telefon-Server und Telefone überwacht,
Anfragen des Benutzers weiterleitet,
die Kommunikation mit dem Telefon-Server über verschiedene CTI-Protokolle abgewickelt,
verschiedene Telefonanlagen-Typen als JTapi Implementierung kapselt.
CTI-Server: Die Telefonanlage kann z.B. per CSTA Protokoll angesprochen werden
Installation
CTI-Applikationsserver
Der CTI-Applikationsserver nutzt die gleiche Version wie der CRM Aplikationsserver. Die Installationsanleitung entnehmen Sie bitte dem Installations-Handbuch. Der CTI-Server benötigt keine Konfiguration einer Datenbank-Anbindung. Die Zertifikats-Konfiguration muss aus dem CRM-Applikatinsserver übernommen werden.
Das Produktivsystem wie auch das Testsystem benötigen jeweils einen eigenen CTI-Applikationsserver. Es ist zu empfehlen, den CTI-Applikationsserver und CRM-Applikationsserver auf demselben System zu installieren, und die Port-Range des CTI-Applikationsservers entsprechend anzupassen.
Das deployment-Verzeichnis der JBoss-Kopie ist zu leeren. In das Verzeichnis muss die Webanwendung cti.war
aus dem Installationspaket unter ../cti/jboss/standalone/deployments
kopiert werden.
Der Dienst dieses CTI-Applikationsservers nächtlich neugestartet werden, damit die CTI-Schnittstelle neu initialisiert werden kann.
Die Standardeinstellungen aus "Installation des Applikationsservers" sind für den CTI-Server völlig ausreichend:
Initial zugewiesener Arbeitsspeicher |
|
Maximal verwendeter Arbeitsspeicher |
|
Lizenz
Damit die CTI-Schnittstelle verwendet werden kann, muss die CTI-Komforttelefonie als Lizenz erworben und in der Modul-Verwaltung eingespielt werden.
Nach einem Client-Neustart sind die Systemeinstellungen und CTI spezifischen Entitäten im Administrations-Menü und die Konfigurationsseiten in der Adminstrationskonsole sichtbar.
Systemeinstellungen
Der CTI-Applikationsserver kommunizieren mit dem CRM-Applikationsserver verschlüsselte SLL-Verbindung. Die Aufrufkonfiguration muss in den System-Einstellungen unter CTI Konfiguration hinterlegt werden:
CTI-Server: Der Rechnername inkl. https-Port. Je nach Porteinstellung (X8443)
CTI-Dialog: Einkommende Anrufe werden als Benachrichtigung im rechten unteren Bildrand oder direkt als CTI-Dialog angezeigt
Benutzername Applikationsserver: Ein für die CTI-Konfiguration als Mitarbeiterdatensatz angelegten technischen Benutzer im CURSOR-CRM (Damit meldet sich der CTI-Applikationsserver am CRM-Applikationsserver an) Der technische Benutzer benötigt die Administrations-Rechte (Rechte-Gruppe, Standard:"ADMIN"), um auf die Telekommunikationsdaten aller Mitarbeiter, Ansprechpartner und Geschäftspartner zugreifen zu können.
Passwort Applikationsserver: Das Passwort des technischen Mitarbeiters. Benötigt wird hier das verschlüsselte Hash-Passwort aus der Datenbank. Für die Kerberos-Authentifizierung wird das Klartextpasswort benötigt.
Telefonie-Konfiguration
Die Konfiguration wird im Knoten Telefonie-Konfiguration in der Adminkonsole vorgenommen.
![image-20240624-112300.png](../../../__attachments/10684989/image-20240624-112300.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Telefonie-Konfiguration
Durch Änderungen an den Einstellungen werden die Telefonnummern für die CTI-Schnittstelle neu generiert. Über den Schalter Alle Kommunikationseinträge aktualisieren können nach einer Datenübernahme alle Telefonnummern neu generiert werden. Diese Aktion kann auch extern über das IvocationServlet angestoßen werden.
Beim Generieren der CTI-konformen Nummer werden folgende Einstellungen berücksichtigt..
Amtsholung: Gibt die Zeichen für die Amtsholung an. Üblicherweise die 0.
Amtsholung verwenden: Gibt an, ob die Amtsholung beim Inbound von der Telefonanlage mit übertragen wird.
Aktivitätenart (Telefoneingang): Gibt die Aktivitätenart beim Erstellen einer Aktivität beim Inbound an.
Aktivitätenart (Rückruf): Gibt die Aktivitätenart beim Erstellen einer Aktivität nach einem Rückruf beim Inbound an.
Länge interne Rufnummer: Gibt die Länge der Durchwahlen im Unternehmen an. Dies wird für die korrekte Rufnummernerkennung benötigt.
Interne Rufnummer unterdrücken: Es kann vorgegeben werden, dass interne Rufnummern unterdrückt und genau so behandelt werden, wie Nummern in der Ausschluss-Liste.
Default: Deaktiviert
Die Identifikation der internen Rufnummern bezieht sich dabei vollständig auf die eingegebene Länge der Telefonnummer, welche in "Länge interne Rufnummer" definiert worden ist
Wird ein Anruf registriert und diese als interne Rufnummer identifiziert und die neue Einstellung ist aktiv, dann
wird der Anruf genau so behandelt wie ein Anruf von einer Telefonnummer ausgehend von einer Telefonnummer in der Ausschlussliste
wird kein Anrufprotokoll erstellt
wird kein Dialog bzw. Eintrag im Benachrichtigungsmenü des Clients erstellt
Ausschluss-Liste für eingehende Anrufe
In der Ausschlussliste werden Telefonnummern hinterlegt, die beim Inbound ignoriert werden. Dies könnten z.B. interne Durchwahlen im eigenen Haus sein. Die Pflege der Ausschlussliste erfolgt über spezielle Eingabefelder. Jeder Benutzer kann in den Benutzereinstellungen > Allgemein entscheiden, ob er die Ausschluss-Liste verwenden möchte. Zusätzlich ist noch eine Komfortfunktion implementiert, die es ermöglicht, die Telefonnummern aller Mitarbeiter der Ausschluss-Liste hinzuzufügen.
Konfiguration des Telefonie-Inbound Dialogs
Die Konfiguration des Dialoges für ankommende Anrufe findet sich in der Administrationskonsole unter Telefonie-Inbound Dialog Konfiguration.
![](../../../__attachments/10684989/CTI_Admin_InboundConfig.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Der Administrator kann hier die Texte für die Geschäftspartner-, Ansprechpartner- und Mitarbeiter-Anzeige anpassen. Die zur Verfügung stehenden Felder können in einer eigenen Suchebehälter ergänzt werden. Die Anzeige eines Reports kann aktiviert und Benutzergruppen spezifisch hinterlegt werden.
Bei nicht gespeicherten Änderungen erscheint eine Abfrage beim Verlassen der Konfigurations-Maske.
Report-Konfiguration
Die Reports können allgemein über die Option Reports anzeigen aktiviert werden. Hierdurch ändert sich das Layout des Inbound-Dialoges von 600x400 auf 900x700 Pixel. Für die Entitäten 'Geschäftspartner', 'Ansprechpartner' und 'Mitarbeiter' können pro Konfigurationsgruppe bzw. systemweit Reports hinterlegt werden. Ist für eine Entität kein Report hinterlegt, so zeigt der Inbound-Dialog eine leere Reportfläche. Im Standard ist der Report "CTI Ansprechpartner Report" verfügbar. Für Kundenanpassungen kann der Report übersteuert werden.
![](../../../__attachments/10684989/CTI_Admin_ReportConfig.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Stimmt eine Gruppen-Konfiguration mit der System-Konfiguration überein, so wird diese entfernt. Das Erzeugen einer bereits vorhandenen Konfiguration ist nicht möglich und wird mit einem Hinweis-Dialog angezeigt. Der Löschen-Schalter ist aktiv, wenn eine Report-Konfiguration in der Tabelle markiert wurde. Jede Konfiguration kann nach Rückfrage entfernt werden.
Die optimale Reportgröße beträgt 372ptx444pt ohne Seitenränder.
![](../../../__attachments/10684989/CTI_Admin_ReportPage.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Der Report sollte die Option 'Vergrößern mit Überlauf' bei keinem Feld aktivieren, um ein pixelperfektes Layout zu bewahren und Scrollbalken zu vermeiden. Unterreports sind zwar möglich, doch sollten sie aus Gründen der Laufzeit und Veränderung des Layouts je nach Anzahl der abhängigen Daten vermieden werden.
Reports werden nach dem ersten Laden mit einer festen Verzögerung geladen, damit bei Mehrfachklicks in der Liste nicht jedes Mal ein Report geladen wird. Die Verzögerung beträgt 250ms.
Such-Konfiguration
Die System-Standard Suchbehälter für den Inbound (Name 'C0CtiInbound') kann vom Administrator übersteuert bzw. kopiert werden.
Die CTI-Suche darf in den Tabellensuchen nur um Felder ergänzt werden. Strukturelle Änderungen der Suche führen ggf. zu Laufzeitfehlern.
Im der Inbound-Dialog-Konfiguration kann die neue Suche ausgewählt werden. Beim Speichern werden die Text-Skripte bezüglich der verwendeten Felder überprüft.
Skript für Dialog-Texte
Die Felder aus der Suche werden vollständig als Variablen übernommen. Dabei wird der '.' (Punkt) durch '_' (Unterstrich) ersetzt.
Beispiel
Kurzname [MatchCode.Customer] -> MatchCode_Customer
Der zu erstellende Text für den CTI-Dialog muss der result
-Variable angehängt werden:
result.append(I18nUtils.i18nEntity("Customer", SessionConstants.LOCALE)).append(": ").append(MatchCode_Customer);
Als Konstanten stehen zur Verfügung:
SessionConstants.USER: Benutzerkürzel
SessionConstants.LOCALE: Die verwendete Sprache
Bezeichnungen
Über die Skript-Methode I18nUtils.i18nCustom(String, Locale)
können kundenspezische Texte sprachunabhänig im Skript verwendet werden. Der Schalter 'Bezeichnungen' zeigt einen I18n-Dialog, in dem bestehende Übersetzung bearbeitet und neue Bezeichnungs-Schlüssel angelegt werden können.
Überwachung
Automatische Initialisierung
Für die Initialisierung des CTI-Servers startet mit dem Neustart des Applikationsservers ein Timer. Dieser versucht, die CTI-Konfiguration an den CTI-Server zu übertragen und sich dort für CTI-Ereignisse zu registrieren. Die Initialisierung wird so lange wiederholt, bis der CTI-Server erreichbar ist und die Initialisierung erfolgreich durchgeführt wurde.
In der Administrationskonsole ist unter Timer der Punkt "Initialisieren" zu aktivieren und den Zeitraum einzustellen. Empfohlen wird eine Einstellung von 60 Sekunden.
Ist der CTI-Server zwischenzeitlich nicht erreichbar und es kommt bei Telefonaktionen zu einem Verbindungsfehler, so nimmt der Initialisierungs-Timer wieder eine Arbeit auf und versucht zyklisch die Konfiguration des CTI-Servers durchzuführen.
Automatische BPM-Überwachung
Für die Überwachung der Verfügbarkeit des CTI-Servers kann ein zeitgesteuerter serverseitiger Prozess eingesetzt werden. Der Prozess prüft zyklisch die Erreichbarkeit des CTI-Servers und kann je nach Fehlerfall den Administrator informieren.
![](../../../__attachments/10684989/20200226_C0CTIMonitor.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Im Standard steht der Prozess "CTI-Monitor" zur Verfügung. Bei Problemen wird der Administrator über eine Systemnachricht im CRM und ggf. Mail informiert.
Der Administrator für die Benachrichtigung muss mit dem Benutzerkürzel zuvor in der globalen Variable "C0CtiNotificationUser" eingetragen werden.
Die System-Mailkonfiguration muss in den Systemeigenschaften des CRM gesetzt sein.
Der Prozess wird beim Kunden mit seiner ID (C0CTI-Monitor) unter den Zeitgesteuerten Aktionen in der Administrationskonsole eingerichtet:
![Aktion1.png](../../../__attachments/10684989/Aktion1.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
![Aktion2.png](../../../__attachments/10684989/Aktion2.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Logging
Alle Logs zum Thema CTI werden serverseitig in einer eigenen Log-Datei vermerkt.
CRM-JBoss/server/standalone/log/cti.log
CTI-JBoss/server/standalone/log/cti.log
Debugging-Informationen können mit dem Befehl jboss-logging.bat cti true/false
aktviert bzw. deaktiviert werden.
CTI-Konfiguration
Im Administrations-Menü finden sich unter CTI Verwaltung die Konfigurations-Entitäten für CTI. Nach erfolgter Konfiguration ist ein Neustart des Client notwendig, damit alle CTI Funktionen für den Benutzer verfügbar sind.
![](../../../__attachments/10684989/image2023-2-8_10-29-5.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
CTI-Server
Hier werden die Anmeldedaten zum CTI-Server bzw. der Telefonanlage hinterlegt. Der Typ bestimmt die Art des CTI-Connectors:
SIMULATION: Eine Simulation der TK-Anlage über ein Web-Interface (siehe ...)
CLARITY: Anbindung verschiedener Telefonie-Schnittstellen mittels des Clarity-Connectors
CLARITY_CCC: Anbindung der Clairity Telefonanlage
SIEMENS CAP 3: Anbindung einer Siemens HiPath 4000 Anlage über den Siemens CAP3 Server oder Anbindung der CSTA-Schnittstelle der Open Scape Voice TK-Anlage.
Clarity-Connector
TAPI-Treiber
Die Anbindung an eine serverseitige TAPI-Schnittstelle benötigt einen serverseitig einsetzbaren "3rd Party" TAPI-Treiber in der Version 2.1 oder 3.1 in der 64bit-Variante. Der tapi-Treiber wird durch dem TK-Anlagen-Dienstleister (z.B. Avaya, Cisco) zur Verfügung gestellt und muss meist separat lizensiert werden. Im CRM-System darf es nur genau eine Konfiguration für den TAPI-Connector geben! Der Treiber sollte ausschließlich durch den CTI-Connector verwendet werden, da eine parallele TAPI-Anwendung evtl. den Zugriff auf den TAPI-Treiber stören kann. Die im TAPI-Treiber zur Verfügung gestellten Nebenstellen müssen dauerhaft vorhanden sein, auch wenn sich die Anwender am Telefon-Endgerät abmelden können.
Diese Schnittstelle läuft nur unter Windows und basiert auf einer DLL, die mit Windows-TAPI kommuniziert. Der Log-Pfad für die DLL wird aus dem JBoss-Konfiguration ermittelt und ist unter /standalone/log/Tapi3Provider.log zu finden.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | CLARITY | |
Identität | de.clarity.cursor.jtapiimpl.raw.tapi3.Tapi3Peer | interner Name der Connector-Klasse |
Server/Treiber | TAPI | Beliebiger Name. Der TAPI-Treiber wird nur über die Telefonnummern der Teilnehmer angesprochen |
Port | leer | |
E.164-Format | true/false | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen des Treibers oder der Telefonanlage abhängig. |
Benutzer | leer | |
Passwort | leer |
Die CTI-Telefon Konfiguration wird für jeden Mitarbeiter angelegt und diesem zugewiesen. Die Telefon-ID muss mit der Adresse im TAPI-Treiber übereinstimmen.
Feld | Wert | Beschreibung |
---|---|---|
CTI-Server | Nachschlagen auf CTI-Server-Entität | Auswahl der CTI-Server Konfiguration über den TAPI-Treiber Namen |
Telefon-Id | ? | Die Adresse aus dem TAPI-Treiber. Diese kann z.B. über den Windows-Dialer ermittelt oder beim Telefonanlagen-Betreiber erfragt werden |
Clarity Telefonanlage
Dieser Connector verbindet sich direkt mit der Telefonanlage von Clarity in verbindung mit dem Clarity Communication Client.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | CLARITY_CCC | |
Identität | leer | interner Name der Connector-Klasse. Der Standard ist "de.clarity.cursor.controlapi.jtapi.CPeer". |
Server/Treiber | <Server> | Servername oder IP der Telefonanlage |
Port | <Port> | Schnittstellen-Port (z.B. 8200) |
E.164-Format | false | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen des Treibers oder der Telefonanlage abhängig. |
Benutzer | <Benutzer> | Schnittstellen Benutzername |
Passwort | <Passwort> | Schnittstellen Passwort |
Die CTI-Telefon Konfiguration wird für jeden Mitarbeiter angelegt und diesem zugewiesen. Die Telefon-ID muss mit den Teilnehmern in der TK-Anlagen-Konfiguration übereinstimmen.
Feld | Wert | Beschreibung |
---|---|---|
CTI-Server | Nachschlagen auf CTI-Server-Entität | Auswahl der CTI-Server Konfiguration über den Server Namen |
Telefon-Id | agent:<Durchwahl> | Die Anmeldung der Telefon erfolgt über Agenten mit z.B. der Durchwahl als Identifizierung |
Avaya AES Telefonanlage
Dieser Connector verbindet sich direkt mit der Telefonanlage von Avaya, der Avaya AES udn , und basiert auf dem Avaya Enablement ServiceAura® Application Enablement Services programmiert durch die Avaya Inc.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | AVAYA_AES | |
Identität | leer | interner Name der Connector-Klasse. Der Standard ist "com.avaya.jtapi.tsapi.TsapiPeer". |
Server/Treiber | <Server> | Servername oder IP der Telefonanlage |
Port | <Port> | Schnittstellen-Port (z.B. 450) |
Applications-ID | AVAYA#Switch_Connection#Service_Type#AE_Services_Server_Name | z.B. AVAYA#SWITCHLINK#CSTA-S#TK-AVAYA-01 |
E.164-Format | false | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen des Treibers oder der Telefonanlage abhängig. |
Benutzer | <Benutzer> | Schnittstellen Benutzername |
Passwort | <Passwort> | Schnittstellen Passwort |
Die CTI-Telefon Konfiguration wird für jeden Mitarbeiter angelegt und diesem zugewiesen. Die Telefon-ID muss mit den Teilnehmern in der TK-Anlagen-Konfiguration übereinstimmen.
Feld | Wert | Beschreibung |
---|---|---|
CTI-Server | Nachschlagen auf CTI-Server-Entität | Auswahl der CTI-Server Konfiguration über den Server Namen |
Telefon-Id | <Telefon-ID> | Die korrekt Telefon-ID muss beim Service Anbieter erfragt werde. |
Caseris Telefonanlage
Dieser Connector verbindet sich über den Caseris Web-Server mit der Telefonanlage von Caseris.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | CLARITY | |
Identität | de.clarity.connector.caseris.jtapi.CaserisPeer | interner Name der Connector-Klasse. |
Server/Treiber | <Server> | Servername oder IP der Telefonanlage |
Port | <Port> | Schnittstellen-Port |
E.164-Format | true | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen der Telefonanlage abhängig. |
Benutzer | <Benutzer> | Schnittstellen Benutzername |
Passwort | <Passwort> | Schnittstellen Passwort |
UC Integration Server
Zur Anbindung an die OpenScape Voice Telefonanlage in Verbindung mit dem Enterprise Communication Center für Call-Center erfolgt die Kommunikation über die die Middleware, den UC-Integration Server.
Dieser Stellt nur die vom Kunden notwendigen Funktionen bereit und wird mittels einer Web-Socket-Kommunikation über einen speziellen Clarity-Connector angebunden.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | BASE | |
Identität | de.clarity.connector.unify.jtapi.Provider | interner Name der Connector-Klasse |
Server/Treiber | <Server> | Servername oder IP der Telefonanlage |
Port | <Port> | Schnittstellen-Port (z.B. 443) |
Applikations-ID | <Path> | URL-Pfad der Schnittstelle |
E.164-Format | false | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen des Treibers oder der Telefonanlage abhängig. |
Benutzer | <Benutzer> | Schnittstellen Benutzername |
Passwort | <Passwort> | Schnittstellen Passwort |
Die CTI-Telefon Konfiguration wird für jeden Mitarbeiter angelegt und diesem zugewiesen. Die Telefon-ID muss mit den Teilnehmern in der TK-Anlagen-Konfiguration übereinstimmen.
Feld | Wert | Beschreibung |
---|---|---|
CTI-Server | Nachschlagen auf CTI-Server-Entität | Auswahl der CTI-Server Konfiguration über den Server Namen |
Telefon-Id | <Agenten-ID ggf. Rufnummer> | Die Anmeldung der Telefon erfolgt über Agenten |
Unify CAP-Server / Open Scape Voice
Der CAP-Server von Unify (ehem. Siemens) ist eine zusätzliche Komponente, welche die CSTA-Schnittstelle für unterschiedliche Unify-Telefon-Anlagen zur Verfügung stellt. Werden mehrere TK-Anlagen im CAP-Server eingerichtet, so muss für jeden Port eine eigenen CTI-Server-Konfiguration hinterlegt werden, da es sonst zu Störungen in der Kommunikation kommen kann.
Die neue Open Scape Voice Telefonanlage verfügt über eine direkte CSTA-Schnittstelle, die aber mit dem Unity-JTapi-Konnektor nicht kompatibel ist.
Die CTI-Server Konfiguration benötigt folgende Angaben:
Feld | Wert | Beschreibung |
---|---|---|
Typ | SIEMENS | |
Identität | leer | |
Server/Treiber | <Server> | Name oder IP des CAP-Servers |
Port | <Port> | Port des CAP-Servers |
Applikations-ID | <Lizenz> | Name der Lizenz im CAP-Server |
E.164-Format | true/false | +049-Nummern oder gekürzte Nummern. Dies ist von den Einstellungen des Treibers oder der Telefonanlage abhängig. |
Benutzer | <Benutzer> | Anmeldedaten für den CAP-Server |
Passwort | <Passwort> | Anmeldedaten für den CAP-Server |
Die CTI-Telefon Konfiguration wird für jeden Mitarbeiter angelegt und diesem zugewiesen. Die Telefon-ID muss mit den Teilnehmern in der TK-Anlagen-Konfiguration übereinstimmen.
Feld | Wert | Beschreibung |
---|---|---|
CTI-Server | Nachschlagen auf CTI-Server-Entität | Auswahl der CTI-Server Konfiguration über den Server-Treiber Namen |
Telefon-Id | ? | Die Nummer bzw. der logische Name der einzelnen Telefone. |
Simulation
Die Simulation erzeugt im CTI-Server eine eigene Schicht, die Ereignisse der Telefone an einem Web Interface simuliert und sich so das Verhalten des CRM-Systems testen lässt.
Test-Konfiguration
In den Systemeinstellungen müssen die Verbindungsdaten des CTI-Vermittler-Servers eingetragen werden. Als technischer Benutzer kann TECH_USER verwendet werden.
![](../../../__attachments/10684989/image2023-2-8_10-48-38.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für die Simulation wird ein eigener Datensatz als CTI Server angelegt:
Typ: SIMULATION
Server: TEST
Die CTI Telefon-Konfiguration wird für diesen Test-Server für einige Mitarbeiter hinterlegt. Der Mitarbeiter wird im Unterbereich mit dem Datensatz verknüpft.
CTI-Server: TEST
Telefon-Id: <Durchwahl>
Nach der Einrichtung ist eine Neuanmeldung am Client nötig, damit die CTI-Anbindung für den eingerichteten Mitarbeiter genutzt werden kann.
Web-Interface
Das Web Interface der Simulation wird über die Web Schicht des CTI-Serversbereitgestellt. Die URL lautet:
https://<server>:<X>8443/cti/simulator.xhtml
![](../../../__attachments/10684989/image-20230826-004856.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Im Simulator werden alle eingerichteten CTI-Telefon als Register dargestellt. Das Eingabefeld für eingehende bzw. ausgehende Telefonnummer wird bei jedem Schalterklick ausgewertet.
Originated: Dies simuliert einen Ausgehenden Anruf, der am Telefon getätigt wurde
Ringing: Dis simuliert einen einkommenden Anruf über die angegebene Telefonnummer
Group Transfer: Dies ist die Anrufübernahme für Telefone in einer Gruppenschaltung
Durch das Drücken dieser Schalter wird im Simulator ein neues Gespräch erzeugt, das nun in seinen Stati verändert werden kann:
Connected: Nun wurde das Telefonat angenommen. Beide Teilnehmer sind führen ein Gespräch.
Held: Das Gespräch wird auf die Warteposition gelegt, um z.B. einen Transfer einzuleiten.
Invalid: Das Gespräch wurde von der Gegenseite beendet, aber das eigene Telefon nicht aufgelegt. Bis das eigene Telefon nicht aufgelegt wurde, können keine anderen Aktionen am Telefon gestartet werden.
Disconnected: Das eigene Telefon wurde aufgelegt.
Das gerade aktive Gespräch sollte nach dem Test immer entfernt werden.
Test-Szenarien
Die Test-Szenarien beschreiben den Ablauf der Schalter, die gedrückt werden müssen, die Veränderung der Stati in der Entität CTI Anruf und die Anzeige im CRM-System.
Das für den Mitarbeiter USER
eingerichtet Telefon hat die Telefon-Id 100
. Ein Ansprechpartner im System wird mit der Durchwahl 123 ausgestattet.
Verpasster Anruf
Anruf erzeugen
Im Web Interface auf die Lasche '100' wechseln
Im Telefonfeld die Nummer 123 eintragen
Den Schalter Ringing betätigen
Anruf signalisieren
Der Simulator zeigt den Anruf mit der Nummer und dem Status Ringing
Im Client wird dem Benutzer USER ein neuer Eintrag in der Taskliste unter Anrufprotokoll erzeugt
Der CTI Dialog öffnet sich und zeigt den Ansprechpartner mit dessen Daten an
Anruf auflegen
Im Simulator wird nun der Schalter DISCONNECTED betätigt
Nur der Button Remove Call ist verfügbar
Der CTI-Dialog schließt sich
Die Taskliste behält den Eintrag. Der Status ändert sich von Klingelt auf Verpasst
Anruf entfernen
Der Anruf wird über den Schalter Remove Call im Simulator entfernt
In der Taskliste kann der CTI Dialog über den Öffnen Schalter auf dem verpassten Anruf erneut geöffnet werden
Durch den Entfernen Schalter verschwindet auch in der Taskliste der verpasst Anruf
Anruf suchen
Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden
Der gefundene Ansprechpartner ist mit diesem Satz verknüpft
Der Status steht auf Verpasst
Angenommener Anruf
Anruf erzeugen
Im Web Interface auf die Lasche '100' wechseln
Im Telefonfeld die Nummer 123 eintragen
Den Schalter Ringing betätigen
Anruf signalisieren
Der Simulator zeigt den Anruf mit der Nummer und dem Status RINGING
Im Client wird dem Benutzer USER ein neuer Eintrag in der Taskliste unter Anrufprotokoll erzeugt
Der CTI Dialog öffnet sich und zeigt den Ansprechpartner mit dessen Daten an
Anruf annehmen
Im CTI Dialog den Schalter Annehmen drücken
Der Schalter Annehmen wechselt zu Auflegen. Weiterleiten wird aktiv
Im Simulator wechselt der Status des Anrufs auf CONNECTED
Die Taskliste zeigt den aktuellen Anruf mit dem Status Verbunden an
Anruf auflegen
Im CTI Dialog den Schalter Auflegen betätigen
Der Dialog bleibt offen. Der Schalter wechselt zu Rückruf
Im Simulator ist der Anruf entfernt worden
Der Anruf ist aus der Taskliste entfernt worden
Anruf suchen
Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden
Der gefundene Ansprechpartner ist mit diesem Satz verknüpft
Die Anrufzeiten sind gepflegt
Der Status steht auf Beendet
Internes Telefonat
Anruf starten
Den Ansprechpartner öffnen
Den Telefon-Schalter neben dem Telefonfeld betätigen
Telefonat überwachen
Im Simulator wurde ein neuer Anruf mit der Nummer und dem Status ORIGINATED erzeugt
Die Taskliste zeigt diesen Anruf an
Der CTI Dialog öffnet sich nicht
Telefonat annehmen
Im Simulator den Anruf über den Schalter CONNECTED annehmen
Der Status in der Taskliste aktualisiert sich
Der Telefonschalter auf dem Telefonfeld färbt sich rot
Telefonat auflegen
Über den Telefonschalter im Telefonfeld das Telefonat auflegen
Im Simulator ist der Anruf entfernt worden
Der Anruf ist aus der Taskliste entfernt worden
Anruf suchen
Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden
Der Ansprechpartner ist mit diesem Satz verknüpft
Der Status steht auf Beendet
Anwender-Interaktion
Sollte es nicht zulässig sein, dass die Mitarbeiter im Unternehmen sehen, wer und wann eine Telefonverbindung hergestellt hat, empfehlen wir das Anrufprotokoll in der Maskenkonfiguration auszublenden.
Taskliste
Aktive oder verpasste Anrufe werden dem Anwender im Benachrichtigungsdialog angezeigt.
Im Anrufprotokoll lassen sich alle verpassten Anrufe anzeigen.
![](../../../__attachments/10684989/image-20230826-004925.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Jeder Eintrag kann geöffnet werden, um sich Zusatzinformationen anzeigen zu lassen. Hier öffnet sich der CTI Dialog. Nicht mehr benötigte Einträge können entfernt werden.
Benachrichtigung
Ist der CTI Dialog in den Systemeinstellungen deaktiviert, erscheint bei einem neuen einkommenden Anrufen eine Benachrichtigung am rechten unteren Bildrand.
![](../../../__attachments/10684989/image-20230826-004941.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Der gefundene Ansprechpartner, die Telefonnummer und die Anrufzeit werden dem Anwender präsentiert. Ein Klick auf den Ansprechpartnernamen (Link) öffnet den CTI-Dialog mit zusätzlichen Informationen. Konnte die Nummer keinem Ansprechpartner oder Geschäftspartner zugeordnet werden, zeigt die Benachrichtigung nur die Nummer und die Anrufzeit.
![](../../../__attachments/10684989/image-20230826-004957.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Dialogfenster
Wenn das CRM einen eigehenden Anruf bemerkt, dann öffnet es ein Fenster, das den Anrufer darstellt und Aktionen innerhalb des CRM anbietet.
Dieses Fenster kann konfiguriert werden.
Dies ist im Artikel Dialogfenster zur Bearbeitung eingehender Anrufe beschrieben.
Die CTI Dialog kann durch einen Report mit Zusatzinformationen angereichert werden. Für Ansprechpartner, Geschäftspartner oder Mitarbeiter muss jeweils ein eigener Report hinterlegt sein.
CTI-Dialog über CRM-Link öffnen
Die serverseitige CTI-Integration funktioniert nicht mit allen Telefonanlagen, da dort keine CTI-Schnittstelle zur Verfügung steht. Für dieses Problem kann der CTI-Inbound-Dialog dennoch clientseitig über die CRM-Link Funktionalität geöffnet werden. Anstatt den Tabellennamen und den Primärschlüssel zu übergeben, wird die Telefonnummer an das CRM übertragen.
Als Programm-Aufruf:
java -jar ..\client\lib\LinkGateway.jar "EVIJET://'TAPI&no=00641400000'"
Als Hyperlink:
EVIJET://'TAPI&no=00641400000'
![](../../../__attachments/10684989/image-20230826-005026.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
CTI-Anruf über einen Link
Die Telefon-Aktionen sind im Dialog nur verfügbar, wenn die CTI-Schnittstelle für den aktuellen Benutzer konfiguriert ist.
Erweiterung der Nummernerkennung
Teilweise werden Nummern nicht im E164-Format gesendet, so dass die führenden '00' für der Ländervorwahl abgeschnitten sind. Die Ergänzung der fehlenden Nullen kann durch eine System-Einstellung auf der Datenbank (Beispiel: Oracle) aktiviert werden:
INSERT INTO PropertyMapper (Pk, id, property, propertyType, Active, CreateUser, UpdateUser, CreateDate, UpdateDate, propertyValue)
VALUES ('TELEPHONY_LINK_COUNTRY_FIX_Pk', '/de/cursor/jevi/common/telephony/TelecomPreferences$!!$TELEPHONY.LINK.COUNTRY.FIX', '', 'SYSTEM', 1, 'TECH_USER', 'TECH_USER', sysdate, sysdate, 'true')
Telefonfeld
Besitzt ein Ansprechpartner eine hinterlegte Telefonnummer, so ist im Telefonfeld und auf dem Ansprechpartnerfeld der Aktivität der Telefon-Schalter
verfügbar.
Kommt ein Telefonat zustande, so wechselt der Status des Telefon-Schalters
auf rot.
Auswertungen
Alle Anrufe werden in der Entität CTI Anruf protokolliert. Der Administrator kann nach diesen Anrufen suchen bzw. einen entsprechenden Report dafür konfigurieren und den Anwendern zur Verfügung zu stellen. Über das Administrationsmenü kann der Administrator nach allen Telefonaten suchen und Informationen abrufen.
![](../../../__attachments/10684989/image-20230826-005055.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Gefundene Ansprechpartner, Geschäftspartner oder Mitarbeiter zur angegebenen Telefonnummer sind im Unterbereich verknüpft. Erfasste Aktivitäten sind auch mit dem CTI-Anruf verknüpft. Über die Maskenkonfiguration kann die Verknüpfung im Unterbereich angezeigt werden. Die Daten des Anrufs sind nicht nachträglich änderbar.
Stellvertreter
Die Tabelle gibt den Überblick, wie sich das System nach der Anmeldung des Stellvertreters verhält.
Typ | Anmeldung (normal) | Anmeldung in Stellvertretung | Anmerkungen |
---|---|---|---|
Rundruf | Einschränkung auf die Gruppe des eigenen Mitarbeiters | Einschränkung auf die Gruppe des Stellvertretenen |
|
Benachrichtigung | Suche nach Mitarbeiter ist eigener Benutzer | Suche nach Mitarbeiter ist der Stellvertretene | |
Anrufe | Suche nach Mitarbeiter ist eigener Benutzer | Systemeinstellung: ![]() |
|
Systemeinstellung: ![]() |
|
Funktionstests
Alle grundlegenden Einstellungen sollten anhand des Simulators überprüft worden sein. Jetzt können die Tests gegen die Telefonanlage starten.
Testszenario 1
Einen Mitarbeiter mit Telefondurchwahl laden
Im Telefonfeld den Wählen Schalter betätigen
Das eigene Telefon wählt die Durchwahl des Mitarbeiters
Der Telefonschalter wechselt zu Auflegen
Die Taskliste enthält einen neuen Eintrag zum aktuellen Telefonat
Nun ohne Anrufannahme den Wählen- Schalter erneut drücken
Das Telefonat wird beendet
Der Telefon Schalter wechselt zu Anrufen
Der Tasklisten Eintrag wird entfernt
Testszenario 2
Einen Mitarbeiter oder Ansprechpartner mit einer Mobiltelefon-Nummer laden
Das Mobiltelefon über den Wählen Schalter anrufen
Das eigene Telefon wählt die Handy-Nummer
Der Telefonschalter wechselt zu Auflegen
Die Taskliste enthält einen neuen Eintrag zum aktuellen Telefonat
Den Anruf am Handy entgegennehmen
Der Status des Tasklisten-Eintrags verändert sich
Den Anruf am Handy auflegen
Der Status der Taskliste-Eintrags ändert sich
Das eigene Telefon auflegen
Das Telefonat wird beendet
Der Telefonschalter wechselt zu Anrufen
Der Tasklisten-Eintrag wird entfernt
Testszenario 3
Mit einem anderen Telefon das eigene Telefon anrufen
Das eigene Telefon klingelt und zeigt die Nummer
Der CTI-Dialog öffnet sich und zeigt die Nummer
Ist der andere Mitarbeiter korrekt konfiguriert, wird dieser im CTI Dialog angezeigt
Die Taskliste zeigt einen neuen Eintrag mit dem Status Klingelt
Am anderen Telefon den Hörer auflegen
Das eigene Telefon klingelt nicht mehr
Der CTI-Dialog schließt sich
Der Tasklisten-Eintrag wurde auf den Status Verpasst aktualisiert
Mit der Maus den CTI Dialog über den Tasklisten Eintrag öffnen
Der Rückruf Schalter ist verfügbar
Verpassten Anruf entfernen
Über Entfernen wird der Eintrag aus der Taskliste entfernt
Der CTI-Dialog muss separat geschlossen werden
Testszenario 4
Mit dem Handy das eigene Telefon anrufen (Die Nummer ist bei einem Ansprechpartner hinterlegt)
Das eigene Telefon klingelt und zeigt die Nummer
Der CTI-Dialog öffnet sich und zeigt die Nummer und die Ansprechpartnerdaten
Die Taskliste zeigt einen neuen Eintrag mit dem Status Klingelt
Den Anruf über den Schalter annehmen
Beide Telefone sind nun miteinander verbunden
Der CTI Dialog bliebt geöffnet
Der Status im CTI Dialog und der Taskliste ist auf Verbunden geändert
Eine neue Aktivität erfassen
Die Aktivität wird mit dem Art TELEIN erstellt
Der Ansprechpartner ist als Aktivität mit verknüpft
Das Telefonat beenden
Der Status des CTI-Dialoges wurde aktualisiert
Der Tasklisten-Eintrag wird nicht mehr angezeigt
Generierung von Telefonnummern
Der hier beschriebene Teil wirkt sich auf das CTI-Telefonverhalten aus. Bei eingehenden und ausgehenden Anrufen wird die Länderkennung aus dem Systembetreiber oder aber aus dem an den Mitarbeiter verknüpften TAPI-Standort geholt. Erst wenn diese Einträge sauber gepflegt sind, werden die Rufnummern korrekt zusammen gesetzt. Die Einstellung des TAPI-Standorts (u.a. Länderkennung) übersteuert die Einstellung des Systembetreibers und die Systemvorgaben aus der Administrationskonsole (z.B. Amtsholung).
Verwendung des TAPI-Standorts pro Mitarbeiter
Ein TAPI-Standort hat die folgenden Einstellungen:
Die Länderkennung des Anwenders im Format +Ländercode
Beispiel für Deutschland +49Die Ortskennung des Anwenders
Beispiel für Giessen 0641Die Basisrufnummer des Anwenders
Beispiel für die CURSOR Software AG 40000Amtsholung
ist eine Vorwahl zu wählen, um eine Amtsleitung zu erhaltenAmtsholung verwenden (Telefoneingang)
liefert die Telefonanlage die Amtsholung an die Anwendung oder wird diese zuvor weggeschnitten
Beim Telefoneingang wird die eingehende Rufnummer in ein "normiertes" Format konvertiert und mit diesem auf der Datenbank in den TAPI-Nummern-Feldern gesucht.
Hierbei ist für die Erkennung interner Anrufe die folgende Einstellung im PropertyMapper wichtig:
Id = '/de/cursor/jevi/common/telephony/TelecomPreferences$!!$CTI.EXTENSION.LENGTH'
Im Standard-Lieferumfang ist Länge der internen Rufnummer auf 3 konfiguriert.
Verwendung des TAPI-Standorts:
Der TAPI-Standort wird implizit verwendet und steuert die folgenden Aktionen:
das Suchen eingehender Anrufe
das Wählen ausgehender Anrufe
die Anzeige der Telefonnummernfelder
es werden die Teile der Rufnummern unterdrückt, die mit den Einstellungen des Standorts übereinstimmen
abhängig von dem eigenen Standort werden die Länder-Wahlregeln verwendet, wobei nur für die hinterlegten Länder spezielle Logiken existieren. Alle anderen erhalten das Standardverhalten (analog zu den Einstellung für Deutschland)
Beispiel Darstellung der Rufnummern an unterschiedlichen Standorten
Es werden 4 Rufnummern im System gezeigt, wie sie in unterschiedlichen TAPI-Standorten dargestellt werden. Die Darstellung im Baum erfolgt über die zusammengesetzten Form, die auch in einem Brief verwendet werden würde.
Hier die Nummern:
![Nummern.png](../../../__attachments/10684989/Nummern.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für den Standort Gießen Deutschland CURSOR-Software AG +49 (641) 40000 ergibt sich folgende "wählbare" Anzeige:
![](../../../__attachments/10684989/Telecom_D_GI.jpg.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für den Standort Marburg Deutschland TestStandort +49 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:
![Komm2.png](../../../__attachments/10684989/Komm2.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für den Standort TestStadt Russland TestStandort +7 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:
![Komm3.png](../../../__attachments/10684989/Komm3.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für den Standort TestStadt USA TestStandort +1 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:
![Komm4.png](../../../__attachments/10684989/Komm4.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Konfiguration
Standort Beschreibungen
Systembetreiber
Die Einstellungen zur Rufnummer für den Systembetreiber erfolgen implizit über die Pflege der Hauptrufnummer des Systembetreibers.
Die Einstellungen zur Verwendung der Amtsholung für den Systembetreiber erfolgen in der Admin-Konsole (Sonstige Bereiche -> Telefonie-Konfiguration)
Benutzer
Die Einstellungen erfolgen im Unterbereich TAPI-Standort
Jeder Anwender kann maximal einen TAPI-Standort besitzen.
Ist mehr als ein Standort konfiguriert, wird auf dem Server ein Fehler protokolliert und die Einstellung des Systembetreibers verwendet.
Ist kein Standort konfiguriert, so wird die Einstellung des Systembetreibers verwendet.
Logiken
Es sind aktuell folgende länderspezifischen Logiken hinterlegt:
Land | Länder Prefix | Festnetz | Festnetz | Mobilfunk | Mobilfunk |
---|---|---|---|---|---|
Standard | 00 | 0 | 0 | 0 | 0 |
Italien | 00 | 0 | Leerstring | 3 | Leerstring |
Luxemburg | 00 | Leerstring | Leerstring | 6 | Leerstring |
Russische Föderation | 810 | 8 | 8 | 8 | 8 |
USA | 011 | 1 | 1 | 1 | 1 |
Die Standard-Syntax deckt ~80% aller weiteren Länder ab.
Details sind bei der ITC zu finden. Dort ist auch das Dokument Dialling procedures (international prefix, national (trunk) prefix and national (significant) number) (in accordance with ITU-T Recommendation E.164 (11/2010)) eingestellt am 15.12.2011 zu finden.
Technische Hinweise zum Speicherformat
Zur Speicherung der CTI-Nummer wird ein "normiertes" Format verwendet. Die Darstellung entspricht immer dem Standard- bzw. Referenz- Land Deutschland.
Die Speicherung der Vorwahl erfolgt ohne führende Nullen, diese werden beim Speichern von der Anwendung abgeschnitten, die Anzeige der Telefonnummer in der Anwendung ist davon unbenommen.
Schnittstellen
Schnittstellen, die Daten in die Telekommunikationsfelder schreiben, haben unten beschriebene Möglichkeiten.
Einfache Befüllung der Rufnummer
Die Rufnummern werden nur in die jeweiligen Base-Felder geschrieben (PhoneNoBase, FaxNoBase, MobilePhoneBase). Alle anderen Felder bleiben leer bzw. erhalten den Leerschlüssel.
Über den Aufruf des InvocationServlet Job "generateCTINumbers" kann die CTI-Nummer sowie die angezeigte zusammengesetzte Nummer (composed) gefüllt werden.
Vorteil | Nachteil |
---|---|
|
|
Befüllung der Rufnummer in die Teilfelder
Die Rufnummer wird in die einzelnen Felder <Typ>Country, <Typ>City, <Typ>Base und <Typ>Extension geschrieben, wobei <Typ> für PhoneNo, FaxNo und MobilePhone steht.
Über den Aufruf des InvocationServlet Job "generateCTINumbers" kann die CTI-Nummer sowie die angezeigte Composed-Nummer gefüllt werden.
Vorteil | Nachteil |
---|---|
|
|
Deaktivieren der Logik
Diese Option steht ebenfalls zur Verfügung. Die Daten werden in die Felder eingetragen. Sie werden in der Oberfläche nur noch konkateniert.
Die CTI-Funktionalität kann nicht sichergestellt werden.
Diese Option kann unter dem Menüpunkt Optionen -> Systemeinstellungen -> Bereich Allgemein -> Schalter "Logik zur Telefonnummerngenerierung" aktviert bzw. deaktiviert werden.
Der Standard ist die aktivierte Logik.
![](../../../__attachments/10684989/image2023-2-8_9-58-26.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)