Die TEL Server sind dafür zuständig Call-Flow-Applikationen und zentrale Verwaltungs- und Steuerfunktionen in Form von R5-Skripten auszuführen. Des weiteren werden auf diesen Servern in der Regel auch die Connectoren für Synchronisation verschiedner Bentzer und Telefonie-Stati der Telefonanlagen installiert.
portal.Daemon.TimeServiceMonitor.r5 stoppen im 8-Server falls installiert.
Zeitdienst herunterladen und installieren:
http://cdn.jtel.de/downloads/NTP/ntp-4.2.8p10-win32-setup.exe
Immer auf next, bis zur Auswahl der Zeitserver. Zuerst den Kundenserver angeben (falls vorhanden), dann die ptb Zeitserver: ptbtime1.ptb.de,ptbtime2.ptb.de,ptbtime3.ptb.de
Dann installation abschließen.
Monitor installieren:
http://cdn.jtel.de/downloads/NTP/ntp-time-server-monitor-104.exe
Sicherstellen dass dienst läuft. Monitor prüfen, dass mindestens einer der Zeitserver "grün" ist.
Achtung:
Als nächstes müssen die Datenquellen im ODBC Administrator konfiguriert werden.
Folgende Registry-File downloaden und importieren:
http://cdn.jtel.de/downloads/configs/odbc_ini.reg
Beide Aktionen erfordern die Kenntnis gültiger Zugangsberechtigungen zum zentralen jtel Software-Server. |
Telefonie und Daemonen:
c:\8Server\deploy\OEM\JTEL\first_install.cmd c:\8Server\deploy\OEM\JTEL\copy_keyfile_en_mcp.cmd |
Nur Daemonen:
c:\8Server\deploy\OEM\JTEL\first_install.cmd c:\8Server\deploy\OEM\JTEL\copy_keyfile_en_daemon.cmd |
c:\8Server\deploy\oem\jtel\aculab\v67.apf
Zielpfad:
C:\aculab\v67
"Install"
Konfiguration der Software
Im Anschluss an die Installation muss der Aculab Media Server noch konfiguriert werden. Dies erfolgt durch Aufruf des Aculab Configuration Tools (ACT). Dieses Tool muss unbedingt als Administrator gestartet werden. Ab Version 6.6 der Software passiert dies automatisch beim Aufruf (es erscheint ein UAC Dialog). In früheren Versionen muss dies explizit beim Aufruf beachtet werden (Rechtsklick auf das Icon, Starten als Administrator). Passiert das nicht, ist das Tool nicht in der Lage, die Konfiguration zu speichern.
Auf der Linken Seite des Fensters befinden sich verschiedene Konfigurationskategorien. Hier ist erst mal der Bereich "Prosody S" anzuwählen und über die Schaltfläche "Add..." eine neue virtuelle Karte hinzuzufügen:
Die Seriennummer kann frei gewählt werden. Als Security Key jtel angeben.
Nach der Bestätigung, wird nun in der Kategorienliste der Bereich "IP Settings" gewählt:
Hier muss unbedingt das Schaltkästchen "Enable SIP on Host" aktiviert werden.
Als letztes muss nun eine Lizenz erstellt werden. Dies Erfolgt im Bereich "License Manager":
Hier ist in der Liste die Karte "ProsodySv3:xxxxxxxx" anzuwählen und die Schaltfläche "Request License Keys" zu betätigen. In der nachfolgenden Dialogbox ist nun als Lizenztyp "Product" zu wählen. Nach Bestätigung wird eine eindeutige, Maschinen-gebundene Machine ID angezeigt. Diese wird benötigt, um über das Lizenzportal von Aculab eine Lizenz zu generieren. Im Lizenzportal erhält man dann, basierend auf der Machine ID, einen eindeutigen einmaligen Aktivierungscode, der durch Betätigen der Schaltfläche "Install License Keys..." eingegeben werden kann.
Fall der Installateur keinen Zugriff auf das Lizenzportal hat, so ist die Machine ID direkt an support@jtel.de bzw. lewis.graham@jtel.de zu senden. Der Aktivierungscode kann dann später eingespielt werden.
Die Konfiguration wird abgeschlossen, durch Betätigen der Schaltflächen "Save Settings" gefolgt von "Apply Settings".
.
Neuere Versionen des 8Servers enthalten bereits die beiden Skripte |
Die folgenden beiden Skripte müssen nun in C:\8Server\bin erzeugt werden:
@echo off rem ================================= rem # Startup Wrapper for gihal.exe rem # rem # (c) 2015 jtel GmbH rem # taskkill /im gihal.exe /f gihal.exe taskkill /im robot5.exe /f exit 0 |
@echo off rem ================================= rem # Main Startup Script for 8server rem # rem # (c) 2015 jtel GmbH rem # :start echo Starting System... taskkill /im robot5.exe /f net use \\acd-lb\shared /d net use \\acd-lb\shared /u:jtel fireball rem taskkill /im sysdiag.exe /f rem taskkill /im csUDPListener.exe /f rem taskkill /im csDirector.exe /f rem taskkill /im csResServer.exe /f cd \8server\bin rem ================================ rem # csDirector is needed somewhere... rem start "Director" csDirector ..\Config\csDirector.cfg rem timeout 5 rem ================================ rem # giacuinit and sysdiag are only rem # needed when aculab hardware is rem # used rem giacuinit rem start sysdiag rem timeout 5 rem ================================ rem # start gihal abstraction layer start gihal.cmd timeout 5 rem ================================ rem # start robot5 robot5 goto :start |
Zu diesem letzten Skript sollte eine Verknüpfung auf dem Desktop erstellt werden.
Folgende Dateien müssen nun noch angepasst werden:
[SIP] { netport = 0 channel_count = 260 default_vmp_set = "VMP_SET1" default_rtp_dscp = 46 defaultSignallingGateway = "" numberOnly = TRUE rfc2833RxToneEvent = TRUE rfc2833RxInbandToneRegeneration = FALSE rfc2833TxToneConversion = FALSE } |
In der Datei C:\8Server\gi2\config\giAculab.cfg
müssen die Werte entsprechend obigen Beispiel angepasst werden. Dabei ist insbesondere darauf zu achten, die richtige Kanalanzahl für den Wert channel_count
anzugeben.
Eine weitere Änderung betrifft die Datei C:\8Server\gi2\bin\gi2.ini
: hier sollte der Wert DISABLE_ERROR_DIALOG
folgendermaßen angepasst werden:
DISABLE_ERROR_DIALOG = 2 |
Des weiteren muss noch eine neue Datei mit folgendem Inhalt manuell erstellt werden:
CONFIG_DIR = ../gi2/config LOG_DIR = ../log |
Die letzte Datei, an der manuelle Anpassungen erfolgen müssen, ist C:\8Server\config\StdCall_MCP.cfg
ROOT { StdCall_MCP { bool Use_RemoteHAL = TRUE; integer LocalStream_RX_Port = 0; integer Dispatcher_ThreadCount = 4; bool Auto_SETUP_ACK = FALSE; bool Use_Conf_Monitor = FALSE; string Alert_DefaultFile = "c:\8Server\Voice\System\070.wav"; integer Stream_Receiver_MaxUnconfirmedPackets = 8; integer Stream_Receiver_MaxBufferSize = 16384; integer Stream_Sender_Timeout = 2000; integer Stream_Sender_MaxBufferSize = 16384; integer SIP_Interceptor_Port = 5060; bool Enable_SIP_Interceptor = FALSE; string Default_SIP_Contact = "<sip:LOCAL_IP_ADDRESS>"; Controller1 { integer Total_Channel_Count = 30; integer Inbound_Use_Channels = 30; integer Outbound_Use_Channels = 30; string HAL_HostName = "127.0.0.1"; bool SIP_URL_Cleaner = TRUE; bool Ignore_L1Status = TRUE; bool RFC2833_DTMF_Detection = FALSE; }; }; }; |
In dieser Datei müssen die Werte entsprechend obigen Beispiel angepasst werden. Abschnitte für die Controller 2 bis 4 können gelöscht werden. Im Controller 1 sind folgende Werte den Anforderungen anzupassen:
Total_Channel_Count
: Gesamtanzahl Kanäle. Entspricht üblicherweise dem gleichen Wert, der in der Datei C:\8Server\gi2\config\giAculab.cfg
eingetragen wurde.Inbound_Use_Channels
: Gesamtanzahl primärer Kanäle. Berechnet sich bei ACD Systemen in der Regel aus: Anzahl Agenten + Anzahl Wartepositionen + Anzahl IVR KanäleOutbound_Use_Channels
: Anzahl AgentenHierbei sollte die Summe aus Inbound_Use_Channels
und Outbound_Use_Channels
dem Wert von Total_Channel_Count
entsprechen.
RFC2833_DTMF_Detection auf FALSE
Die Einstellung Default_SIP_Contact muss auf die IP Adresse im Rechner geändert werden, auf dem SIP Pakete gesendet und empfangen werden.
Werden die SIP Injections benötigt, so muss die Einstellung "Enable_SIP_Interceptor" auf TRUE gesetzt werden.
Unter gewissen Umständen ist es erforderlich, symmetrisches RTP zu aktivieren.
Wichtige Änderung 28.07.2016 (anlässlich vermutlicher Bug in Inno): wir installieren alle Systeme mit symmetrisches RTP.
Dies erfordert, dass eine neue Konfigurationsdatei Namens C:\Aculab\v66\cfg\mhp.cfg
mit folgendem Inhalt angelegt wird:
LocalRtpSymmetric=1 |
Diese Einstellung erfordert ein Neustart des Aculab Systems. Ein Neustart der Maschine kann dafür auch herhalten. |
Die nächsten Konfigurationsschritte müssen nun direkt in den Konfigurationsdialogen des 8Servers erfolgen. Dafür muss der 8Server gestartet werden, was durch Ausführen der Datei C:\8Server\bin\robot5.exe
direkt aus dem Explorer erfolgen soll. Bitte nicht den Server mit dem Startup Skript starten! Da der 8Server selber noch über keine Lizenzdatei verfügt, wird dieser zwar starten, aber eine Fehlermeldung anzeigen und keine Leitungen jeglicher Art initialisieren. Dieser Umstand ist bei der Erstkonfiguration sogar von Vorteil, da start und stop schneller sind, keine überflüssigen Protokolldateien generiert und geschrieben werden, eingetragene Prozesse (Daemonen) nicht gestartet werden, bis das die Konfiguration finalisiert ist und eine gültige Lizenzdatei erstellt wurde.
Die Konfigurationszentrale des 8Servers erreicht man über den Menüpunkt "Settings" -> "System Settings...":
Hier werden nun in folgender Reihenfolge verschiede Einstellungen getätigt.
In diesem Bereich werden verschiedene Verzeichnisse eingetragen. Basierend auf der Beispielskonfiguration sind dies:
\\acd-lb\shared\LogFiles\
\\acd-lb\shared\JTELCarrierPortal\AppServer\
\\acd-lb\shared\JTEL\AppServer\
\\acd-lb\shared\JTELCarrierPortal\
\\acd-lb\shared\JTEL\
\\acd-lb\shared\acme\
Hier muss der Wert von "UDP - User Datagram Protocol" festgelegt werden. Dieser ergibt sich in der Regel aus der Gesamtsumme Kanäle plus die maximale Anzahl Daemonen (üblicherweise 40).
Der Wert "HTTP - Hypertext Transfer Protocol with Parser" muss erhöht werden, damit automatische Berichte versendet werden. Ansonsten entsteht ein Fehler, dass der Berichtsname nicht ersetzt (es bleibt der Variablennamen im Output stehen) und die E-Mail nicht gesendet wird. (üblicherweise 100).
Im Reiter "Options" muss das Auswahlfeld "connection pool for static data sources, separate connection per line for dynamic data sources" aktiviert werden:
Im Reiter "Data Sources" müssen hingegen die drei Datenbanken, welche bereits vorhin im ODBC Administrator eingetragen wurden, nachgetragen werden. Dies erfolgt durch Betätigen der Schaltfläche "Add". Der Nachfolgende Dialog erlaubt die Auswahl einer Datenbank aus den bereits im ODBC Administrator konfigurierten Datenbanken:
Hier müssen dann jeweils dem "Connection String" noch die Zugangsdaten hinzugefügt werden (z.B.: ;UID=root;PWD=fireball
) und als Rollback string folgende Zeile:
DO GET_LOCK('unlock', 10); DO RELEASE_LOCK('unlock'); ROLLBACK; |
Hier muss lediglich für den Wert "Send recurring messages every (s)" der Wert 5 eingetragen werden.
Hier muss lediglich ein Controller hinzugefügt werden.
Dieser Bereich muss nur ausgefüllt werden, wenn der 8Server Call-Flow-Applikationen (Telefonie) ausführt.
Hier braucht lediglich das erste Kontrollkästchen "not used" aktiviert zu werden.
Hier wird ein weiterer 8-Server eingetragen, wenn das System redundant aufgestellt ist mit zwei 8Servern. IP-Adresse des 8Servers, Port 20202
Die Server gleichen sich gegenseitig ab. Die Interchassis-Communications-Infos werden geloggt und unter "System messages" angezeigt.
Im Reiter "Settings" sollten hier die Zeichenketten eingetragen werden, die von manchen Telefonanlagen bei anonymen Anrufen signalisiert werden. Typische Werte hierfür sind: anonymous oder gateway - es wird berichtet, dass man hier mehrere alternative Werte durch Kommata getrennt angeben kann.
Bei Loopback Prevention List sollten kommasepariert Hostnamen und IP Adressen der 8-Server(n) eingetragen werden. Diese Information wird genutzt um Schleifen zu verhindern, für den Fall das die Trunk-Gruppe im Portal mit Schleifenverhinderung konfiguriert ist.
Einstellung bei der Trunk-Gruppe im Portal:
C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Cleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Distribute.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoGroupLogout.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoUserLogout.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.GroupDistribute.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.LongCalls.Warning.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\conf\ConfServer.Daemon.UDP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.8Server.LogFileCleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Audio.Converter.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ChangeEvent.Manager.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMTP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Cleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Manager.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ReportSubscriptions2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Cleaner.v2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 |
Bei einem reinen Telefonie-Server müssen mindestens folgende Daemonen eingetragen werden (Die Pfade orientieren sich an der Beispielskonfiguration):
C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\conf\ConfServer.Daemon.UDP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 |
Bei einem Daemonen-Server müssen mindestens folgende Daemonen eingetragen werden (Die Pfade orientieren sich an der Beispielskonfiguration):
C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Cleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Distribute.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoGroupLogout.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoUserLogout.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.GroupDistribute.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.8Server.LogFileCleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Audio.Converter.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ChangeEvent.Manager.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMTP.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Cleaner.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Manager.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ReportSubscriptions2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Cleaner.v2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-lb\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 |
Hiermit ist die Interaktive Grund-Konfiguration des 8Servers abgeschlossen. Der 8Server kann nun beendet werden, so dass eine gültige Lizenz generiert und eingespielt werden kann.
Die Anforderung der Lizenz erfolgt mittels des Programms C:\8Server\bin\KeyOrder3.exe
direkt aus dem Explorer:
Nach dem Ausfüllen und der Betätigung der Schaltfläche "Generate" wird die Datei C:\8Server\bin\8server.key
generiert, welche die Lizenzanforderung enthält. Fall der Installateur keinen Zugriff auf das Lizensierungstool hat, so ist diese Datei direkt an support@jtel.de bzw. lewis.graham@jtel.de zu senden. Sobald eine gültige Lizenzdatei verfügbar ist, muss diese ins Verzeichnis C:\8Server\Config
Verzeichnis eingespielt werden.
Ab Version 3.06 der jtel-Software muss auf jedem TEL-Server ein UDP Listener Prozess installiert werden.
Da der UDP Listener Prozess auf Java basiert, sollte nochmals geprüft werden, dass die Java Laufzeitumgebung verfügbar ist. Die kann aus einer Befehlszeile mit folgendem Befehl erfolgen:
Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. C:\>java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing) C:\> |
Im Anschluss wird der Platform UDP Listener mit folgenden Befehlen installiert:
C: md \PlatformUDPlistener xcopy /E \\acd-lb\shared\JTELCarrierPortal\Utils\Install\PlatformUDPListener C:\PlatformUDPlistener |
Im Kapitel Installation der Rolle DATA wurde bereits die Konfigurationsdatei für den Hazelcast Cluster erstellt und ins freigegebene Verzeichnis kopiert. Von dort kann nun die Konfigurationsdatei geholt werden:
copy \\acd-lb\shared\hazelcast.xml C:\PlatformUDPlistener\conf |
Der Platform UDP Listener kann als Dienst oder als normaler Prozess gestartet werden. Nachfolgend die Anleitungen für die verschiedenen Varianten:
für den Start des UDP Listeners als Prozess steht ein Skript in C:\PlatformUDPListener
bereit. Zu diesem Skript sollte eine Verknüpfung auf dem Desktop erstellt werden.
Die Registrierung des Platform UDP Listeners als Dienst erfordert einen sehr komplexen Aufruf eines Tools mit dutzenden Parameter. Um dies zu vereinfachen, befinden sich auf C:\PlatformUDPListener
zwei Skripte, die diese Installation ausführen können und somit die Prozedur erheblich vereinfachen. Idealerweise sollte der Dienst unter dem Benutzeraccount laufen, unter dem auch der 8Server läuft. Die Installation erfolgt folgendermaßen:
C: CD \PlatformUDPListener install-service.cmd .\jtel F1r3ball |
Benutzername und Passwort sind gegebenenfalls anzupassen. Wenn kein Benutzername und kein Passwort angegeben wird, wird der Dienst so installiert, dass er unter dem lokalen Diensteaccount läuft. Dies kann allerdings unter Umständen zu Problemen mit den Datei-Berechtigungen führen, ist also nicht empfohlen.
Prüfen, dass de.jtel.platform.agent.events.UDPListener.Source.address richtig configuriert ist
2016-07-20 12:14:44,671 INFO udp.UDPListener: UDPListener::init listen 0.0.0.0:20644
2016-07-20 12:14:44,671 INFO udp.UDPListener: UDPListener::init event source - TEST8S6
2016-07-20 12:14:44,681 INFO udp.UDPListener: UDPListener::init event source resolved - 10.42.13.86
Kommentieren sie console logging appender.
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<!--<appender-ref ref="CONSOLE" /> -->
<!-- appender-ref ref="SYSLOG" / -->
<appender-ref ref="FILE" />
Der Dienst kann dann regulär im Dienste-Kontrollpanel gestartet werden oder wahlweise über die Befehlszeile.