Skip to main content
Skip table of contents

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.

CTI-Landschaft.drawio.svg

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.

  1. Client: Der Benutzer kann einen Telefonanruf über die Anwendung tätigen und wird über einkommende Telefonanrufe mit Details zum Anrufer benachrichtigt

  2. Applikations-Server: Anfragen des Clients werden an die CTI-Schnittstelle weitergeleitet. Einkommende Anrufe werden persistiert und in der Taskliste verwaltet

  3. Datenbank: Hier wird die Konfiguration des CTI-Server, der TK-Anlage und der einzelnen Telefone pro Benutzer abgelegt

  4. CURSOR CTI-Server: Ein eigener Applikationsserver welcher

    1. alle registrierten Telefon-Server und Telefone überwacht,

    2. Anfragen des Benutzers weiterleitet,

    3. die Kommunikation mit dem Telefon-Server über verschiedene CTI-Protokolle abgewickelt,

    4. verschiedene Telefonanlagen-Typen als JTapi Implementierung kapselt.

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

set INITIAL_JAVA_HEAP_MB=512

Maximal verwendeter Arbeitsspeicher

set MAXIMUM_JAVA_HEAP_MB=2048

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

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.

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.

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.

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:

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

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

Aktion2.png

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.

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.

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

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

  1. Anruf erzeugen

    1. Im Web Interface auf die Lasche '100' wechseln

    2. Im Telefonfeld die Nummer 123 eintragen

    3. Den Schalter Ringing betätigen

  2. Anruf signalisieren

    1. Der Simulator zeigt den Anruf mit der Nummer und dem Status Ringing

    2. Im Client wird dem Benutzer USER ein neuer Eintrag in der Taskliste unter Anrufprotokoll erzeugt

    3. Der CTI Dialog öffnet sich und zeigt den Ansprechpartner mit dessen Daten an

  3. Anruf auflegen

    1. Im Simulator wird nun der Schalter DISCONNECTED betätigt

    2. Nur der Button Remove Call ist verfügbar

    3. Der CTI-Dialog schließt sich

    4. Die Taskliste behält den Eintrag. Der Status ändert sich von Klingelt auf Verpasst

  4. Anruf entfernen

    1. Der Anruf wird über den Schalter Remove Call im Simulator entfernt

    2. In der Taskliste kann der CTI Dialog über den Öffnen Schalter auf dem verpassten Anruf erneut geöffnet werden

    3. Durch den Entfernen Schalter verschwindet auch in der Taskliste der verpasst Anruf

  5. Anruf suchen

    1. Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden

    2. Der gefundene Ansprechpartner ist mit diesem Satz verknüpft

    3. Der Status steht auf Verpasst

Angenommener Anruf

  1. Anruf erzeugen

    1. Im Web Interface auf die Lasche '100' wechseln

    2. Im Telefonfeld die Nummer 123 eintragen

    3. Den Schalter Ringing betätigen

  2. Anruf signalisieren

    1. Der Simulator zeigt den Anruf mit der Nummer und dem Status RINGING

    2. Im Client wird dem Benutzer USER ein neuer Eintrag in der Taskliste unter Anrufprotokoll erzeugt

    3. Der CTI Dialog öffnet sich und zeigt den Ansprechpartner mit dessen Daten an

  3. Anruf annehmen

    1. Im CTI Dialog den Schalter Annehmen drücken

    2. Der Schalter Annehmen wechselt zu Auflegen. Weiterleiten wird aktiv

    3. Im Simulator wechselt der Status des Anrufs auf CONNECTED

    4. Die Taskliste zeigt den aktuellen Anruf mit dem Status Verbunden an

  4. Anruf auflegen

    1. Im CTI Dialog den Schalter Auflegen betätigen

    2. Der Dialog bleibt offen. Der Schalter wechselt zu Rückruf

    3. Im Simulator ist der Anruf entfernt worden

    4. Der Anruf ist aus der Taskliste entfernt worden

  5. Anruf suchen

    1. Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden

    2. Der gefundene Ansprechpartner ist mit diesem Satz verknüpft

    3. Die Anrufzeiten sind gepflegt

    4. Der Status steht auf Beendet

Internes Telefonat

  1. Anruf starten

    1. Den Ansprechpartner öffnen

    2. Den Telefon-Schalter neben dem Telefonfeld betätigen

  2. Telefonat überwachen

    1. Im Simulator wurde ein neuer Anruf mit der Nummer und dem Status ORIGINATED erzeugt

    2. Die Taskliste zeigt diesen Anruf an

    3. Der CTI Dialog öffnet sich nicht

  3. Telefonat annehmen

    1. Im Simulator den Anruf über den Schalter CONNECTED annehmen

    2. Der Status in der Taskliste aktualisiert sich

    3. Der Telefonschalter auf dem Telefonfeld färbt sich rot

  4. Telefonat auflegen

    1. Über den Telefonschalter im Telefonfeld das Telefonat auflegen

    2. Im Simulator ist der Anruf entfernt worden

    3. Der Anruf ist aus der Taskliste entfernt worden

  5. Anruf suchen

    1. Im Administrationsmenü unter CTI-Verwaltung > CTI Anruf kann nach dem verpassten Anruf gesucht werden

    2. Der Ansprechpartner ist mit diesem Satz verknüpft

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

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.

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.

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
java -jar ..\client\lib\LinkGateway.jar "EVIJET://'TAPI&no=00641400000'"

Als Hyperlink:

XML
EVIJET://'TAPI&no=00641400000' 

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:

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

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

  • der Gelesen-Status orientiert sich immer am angemeldeten Benutzer, nie am Stellvertretenen

Benachrichtigung

Suche nach Mitarbeiter ist eigener Benutzer

Suche nach Mitarbeiter ist der Stellvertretene


Anrufe

Suche nach Mitarbeiter ist eigener Benutzer

Systemeinstellung:

Verhalten1.png
  • Der Anwender kann nicht über das CRM telefonieren, alle CTI-Aktionen sind deaktiviert

  • Es werden nur die verpassten Anrufe des Stellvertretenen angezeigt

  • Bei eingehenden Anrufen (eigenes Telefon) wird kein CTI-Dialog angezeigt



Systemeinstellung:

Verhalten2.png
  • Die CTI-Funktionen sind aktiviert

  • Der Anwender verwendet sein eigenes Telefon (so wie immer, da er ja den Arbeitsplatz nicht wechselt)

  • Das Anrufprotokoll zeigt die eigenen verpassten Anrufe und die verpassten Anrufe des Stellvertretenen

  • Das Anrufprotokoll enthält den aktiven Anruf des eigenen Telefons

  • Bei eingehenden Anrufen (nur eigenes Telefon) wird der CTI-Dialog angezeigt

Funktionstests

Alle grundlegenden Einstellungen sollten anhand des Simulators überprüft worden sein. Jetzt können die Tests gegen die Telefonanlage starten.

Testszenario 1

  1. Einen Mitarbeiter mit Telefondurchwahl laden

  2. Im Telefonfeld den Wählen Schalter betätigen

    1. Das eigene Telefon wählt die Durchwahl des Mitarbeiters

    2. Der Telefonschalter wechselt zu Auflegen

    3. Die Taskliste enthält einen neuen Eintrag zum aktuellen Telefonat

  3. Nun ohne Anrufannahme den Wählen- Schalter erneut drücken

    1. Das Telefonat wird beendet

    2. Der Telefon Schalter wechselt zu Anrufen

    3. Der Tasklisten Eintrag wird entfernt

Testszenario 2

  1. Einen Mitarbeiter oder Ansprechpartner mit einer Mobiltelefon-Nummer laden

  2. Das Mobiltelefon über den Wählen Schalter anrufen

    1. Das eigene Telefon wählt die Handy-Nummer

    2. Der Telefonschalter wechselt zu Auflegen

    3. Die Taskliste enthält einen neuen Eintrag zum aktuellen Telefonat

  3. Den Anruf am Handy entgegennehmen

    1. Der Status des Tasklisten-Eintrags verändert sich

  4. Den Anruf am Handy auflegen

    1. Der Status der Taskliste-Eintrags ändert sich

  5. Das eigene Telefon auflegen

    1. Das Telefonat wird beendet

    2. Der Telefonschalter wechselt zu Anrufen

    3. Der Tasklisten-Eintrag wird entfernt

Testszenario 3

  1. Mit einem anderen Telefon das eigene Telefon anrufen

    1. Das eigene Telefon klingelt und zeigt die Nummer

    2. Der CTI-Dialog öffnet sich und zeigt die Nummer

    3. Ist der andere Mitarbeiter korrekt konfiguriert, wird dieser im CTI Dialog angezeigt

    4. Die Taskliste zeigt einen neuen Eintrag mit dem Status Klingelt

  2. Am anderen Telefon den Hörer auflegen

    1. Das eigene Telefon klingelt nicht mehr

    2. Der CTI-Dialog schließt sich

    3. Der Tasklisten-Eintrag wurde auf den Status Verpasst aktualisiert

  3. Mit der Maus den CTI Dialog über den Tasklisten Eintrag öffnen

    1. Der Rückruf Schalter ist verfügbar

  4. Verpassten Anruf entfernen

    1. Über Entfernen wird der Eintrag aus der Taskliste entfernt

    2. Der CTI-Dialog muss separat geschlossen werden

Testszenario 4

  1. Mit dem Handy das eigene Telefon anrufen (Die Nummer ist bei einem Ansprechpartner hinterlegt)

    1. Das eigene Telefon klingelt und zeigt die Nummer

    2. Der CTI-Dialog öffnet sich und zeigt die Nummer und die Ansprechpartnerdaten

    3. Die Taskliste zeigt einen neuen Eintrag mit dem Status Klingelt

  2. Den Anruf über den Schalter annehmen

    1. Beide Telefone sind nun miteinander verbunden

    2. Der CTI Dialog bliebt geöffnet

    3. Der Status im CTI Dialog und der Taskliste ist auf Verbunden geändert

  3. Eine neue Aktivität erfassen

    1. Die Aktivität wird mit dem Art TELEIN erstellt

    2. Der Ansprechpartner ist als Aktivität mit verknüpft

  4. Das Telefonat beenden

    1. Der Status des CTI-Dialoges wurde aktualisiert

    2. 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 +49

  • Die Ortskennung des Anwenders 
    Beispiel für Giessen 0641

  • Die Basisrufnummer des Anwenders 
    Beispiel für die CURSOR Software AG 40000

  • Amtsholung 
    ist eine Vorwahl zu wählen, um eine Amtsleitung zu erhalten

  • Amtsholung 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:

CODE
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

Für den Standort Gießen Deutschland CURSOR-Software AG +49 (641) 40000 ergibt sich folgende "wählbare" Anzeige:

Für den Standort Marburg Deutschland TestStandort +49 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:

Komm2.png

Für den Standort TestStadt Russland TestStandort +7 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:

Komm3.png

Für den Standort TestStadt USA TestStandort +1 (6421) 40000 ergibt sich folgende "wählbare" Anzeige:

Komm4.png

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
Orts Prefix hinzufügen
outbound, wenn keine 
Ländervorwahl verwendet wird

Festnetz
Orts Prefix entfernen
outbound, wenn eine 
Ländervorwahl verwendet wird

Mobilfunk
Orts Prefix hinzufügen
outbound, wenn keine 
Ländervorwahl verwendet wird

Mobilfunk
Orts Prefix entfernen
outbound, wenn eine 
Ländervorwahl verwendet wird

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

  • Eine Rufnummer wird so übernommen, wie sie in der Quelle enthalten ist, das zusammengesetzte Feld (Composed Feld) ist identisch zum hinterlegten Base-Feld.

  • Die CTI-Nummer wird versucht über die eingehende Logik aufzubauen, so dass simple Formate korrekt erkannt werden 
    Beispiel: 0641 40000-946 --> 004964140000946
    Sonderformate mit Textzeichen werden nicht korrekt erkannt 
    Beispiel: (0641) 40000 - 946 --> 0049641064140000946

  • Die CTI-Schnittstelle kann nur im Falle von korrekt eingetragenen Werten eingehende Rufnummern erkennen.

  • Die CTI-Schnittstelle wählt immer die komplett hinterlegte Rufnummer (die Wahl funktioniert also nur in Ländern, die als Länderkennung die 00 verwenden).

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

  • Die Schnittstelle muss die Felder im korrekten Format befüllen: +Länderkennzeichen, Ortswahl mit oder ohne Ortskennung, Base und Extension
    In diesem Fall funktioniert die CTI-Schnittstelle korrekt

  • bei einem festen Standort: Werden Teile weggelassen, werden die fehlenden Informationen bei dem CTI-Outbound aus dem aktuellen Standort ergänzt. Dies wird am Standort des Systembetreibers funktionieren, an anderen Standorten ist es nicht sicher, dass die Ergänzung korrekt arbeitet.

  • Der Aufwand die Felder per Schnittstelle zu füllen kann hoch sein.

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.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.