Beschreibung der Rolle
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.
Einrichtung der Zeitsynchronisation (Alternativer Zeitdienst)
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:
- Sicherstellen, dass der Parameter im Portal Portal.Alarming.Time.WindowsTimeService auf 0 gestellt ist.
Konfigurieren der Datenquellen
Als nächstes müssen die Datenquellen im ODBC Administrator konfiguriert werden.
Folgende Registry-File downloaden und importieren:
https://cdn.jtel.de/downloads/configs/odbc_ini_v52.reg
Hinweis: Konfigurationsdateien für neuere ODBC Treiber sind ebenfalls vorhanden. Es wird jedoch empfohlen, wegen Speicherprobleme im MySQL ODBC Treiber, mit dieser Version zu arbeiten. Auch mit den neuesten 8.x Treiber treten Speicherprobleme auf, wenn Datenbankverbindungen abbrechen.
Installieren des 8Servers
Repository Clonen
- https://bitbucket.org/jtelgmbh/8-server-deploy.git in das zu erstellende Verzeichnis c:\8Server\deploy
- Wechsel auf das gewünschte Release, beispielsweise release/rc-5.23.9 (derzeit aktuell empfohlen)
Hinweis
Beide Aktionen erfordern die Kenntnis gültiger Zugangsberechtigungen zum zentralen jtel Software-Server.
Software Installieren
Telefonie und Daemonen:
c:\8Server\deploy\OEM\JTEL\first_install.cmd c:\8Server\deploy\OEM\JTEL\copy_keyfile_en_mcp_v67.cmd
Nur Daemonen:
c:\8Server\deploy\OEM\JTEL\first_install.cmd c:\8Server\deploy\OEM\JTEL\copy_keyfile_en_daemon.cmd
C++ Runtimes installieren
Folgende Runtimes installieren:
C:\8Server\deploy\OEM\JTEL\Required\vcredist_2012_x64_11.0.61030.exe /passive /norestart C:\8Server\deploy\OEM\JTEL\Required\vcredist_2012_x86_11.0.61030.exe /passive /norestart C:\8Server\deploy\OEM\JTEL\Required\vcredist_2015_x64_14.0.24123.exe /install /passive /norestart C:\8Server\deploy\OEM\JTEL\Required\vcredist_2015_x86_14.0.24123.exe /install /passive /norestart C:\8Server\deploy\OEM\JTEL\Required\ww_icl_redist_ia32_2017.1.143.msi /quiet /passive C:\8Server\deploy\OEM\JTEL\Required\ww_icl_redist_intel64_2017.1.143.msi /quiet /passive
Installieren des Aculab Media Servers
AIT Installieren
v67 Paket installieren
- AIT Starten
- "Connection" -> "Work offline".
- "File" -> ""Import" -> Load Aculab Package File...".
c:\8Server\deploy\oem\jtel\aculab\v67.apf
Zielpfad:
C:\aculab\v67
"Install"
- Installation von allen Treibern (Windows Abfragen) bestätigen
Aculab Konfiguration
- ACT Starten
- "Prosody S" ... "Add...":
Die Seriennummer kann frei gewählt werden. Als Security Key jtel angeben. - "IP Settings", "Enable SIP on Host" aktivieren:
- "License Manager", Lizenz einspielen (Install Licence Keys...)
- "Save Settings" gefolgt dann "Apply Settings".
Startup Scripts
Ggf in c:\8Server\bin\startup.cmd das "net use" anpassen.
Verknüpfungen
Verknüpfung von
c:\8Server\bin\startup_launcher.cmd
Auf den Desktop sowie nach shell:startup legen.
Aculab Konfiguration für 8-Server
giAculab config erzeugen (cmd als ADMIN):
Achtung: manchmal schluckt Windows das Verändern des Pfads nicht 100% sofort. Wenn nicht (falls gihal.exe nicht gefunden wird), dann neu booten.
gihal # If it starts, press CTRL+C then cancel
giAculab.cfg muss nun angepasst werden.
Den Einstellungsbereich unten kopieren und in der Zieldatei ersetzen.
- channel_count auf die Anzahl der SIP Kanäle stellen
- default_rtp_ip muss bei Multi-Homed Maschinen auf die IP Adresse der Netzwerkkarte für die Telefonie gesetzt werden
8Server
gi2
config
giAculab.cfg
[SIP] { netport = 0 channel_count = 30 default_vmp_set = "VMP_SET1" default_rtp_ip = "0.0.0.0" default_rtp_dscp = 46 defaultSignallingGateway = "" numberOnly = FALSE rfc2833RxToneEvent = TRUE rfc2833RxInbandToneRegeneration = TRUE rfc2833TxToneConversion = TRUE }
Eine weitere Änderung betrifft die Datei C:\8Server\gi2\bin\gi2.ini
: hier sollte der Wert DISABLE_ERROR_DIALOG
folgendermaßen angepasst werden:
8Server
gi2
bin
gi2.ini
DISABLE_ERROR_DIALOG = 2
Zusätzlich wird eine Datei C:\8Server\bin\gi2.ini angelegt, mit folgenden Inhalt:
8Server
bin
gi2.ini
CONFIG_DIR = ../gi2/config LOG_DIR = ../log
Die letzte Datei, an der manuelle Anpassungen erfolgen müssen, ist C:\8Server\config\StdCall_MCP.cfg
Folgende Einstellungen insbesonders beleuchten:
- Enable_SIP_Registrar - für Installationen mit eingehende Registrierungen (insbesonders Panasonic)
- Default_SIP_Contact - hier die IP Adresse des SIP Interfaces eintragen
- Startup_Command4 und Startup_Sleep4 - löschen, falls die Maschine keine Registrierung nach Aussen aufbauen muss (derzeit alle Installationen ausser NFON)
- Total_Channel_Count - Entspricht die Gesamtzahl der SIP Kanäle
- Inbound_Use_Channels - Entspricht nAgents + nSupervisor + nQueueChannels
- Outbound_Use_Channels - Entspricht nAgents + nSupervisor + nCallTransferChannels
- Beachte: Total_Channel_Count = Inbound_Use_Channels + Outbound_Use_Channels
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; 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 = TRUE; integer Start_SIP_Interceptor_After_Command = 1; bool Enable_SIP_Registrar = FALSE; bool Enable_L3_Monitor = FALSE; string Default_SIP_Contact = "<sip:10.4.11.81>"; string Startup_Command0 = "c:/windows/system32/taskkill.exe /im gihal.exe /f"; integer Startup_Sleep0 = 2000; string Startup_Command1 = "c:/aculab/v67/bin/amd64/aculabservicemanager -stop sip"; integer Startup_Sleep1 = 2000; string Startup_Command2 = "c:/aculab/v67/bin/amd64/aculabservicemanager -start sip"; integer Startup_Sleep2 = 2000; string Startup_Command3 = "c:/8Server/gi2/bin/giHal.exe -w -tingtrace"; integer Startup_Sleep3 = 5000; string Startup_Command4 = "c:/8Server/bin/startup_registrations.cmd"; integer Startup_Sleep4 = 1000; string Shutdown_Command0 = "c:/windows/system32/taskkill.exe /im gihal.exe /f"; integer Shutdown_Sleep0 = 2000; string Shutdown_Command1 = "c:/windows/system32/taskkill.exe /im giacu.exe /f"; integer Shutdown_Sleep1 = 2000; string Shutdown_Command2 = "c:/aculab/v67/bin/amd64/aculabservicemanager -stop sip"; integer Shutdown_Sleep2 = 2000; Controller1 { integer Total_Channel_Count = 0; integer Inbound_Use_Channels = 0; integer Outbound_Use_Channels = 0; string HAL_HostName = "127.0.0.1"; bool SIP_URL_Cleaner = TRUE; bool Ignore_L1Status = TRUE; bool RFC2833_DTMF_Detection = TRUE; }; }; };
Symmetrisches RTP
Wir installieren alle Systeme mit symmetrisches RTP.
Dies erfordert, dass eine neue Konfigurationsdatei Namens C:\Aculab\v67\cfg\mhp.cfg
mit folgendem Inhalt angelegt wird:
aculab
v67
cfg
mhp.cfg
LocalRtpSymmetric=1
8-Server Konfiguration
Von diese URL, die Registry Datei importieren:
MySQL 8.x
http://cdn.jtel.de/downloads/configs/8server_config_v8.reg
MySQL 5.x
http://cdn.jtel.de/downloads/configs/8server_config.reg
8-Server als ADMIN starten (rechter Mausklick auf robot5.exe im Verzeichnis c:\8Server\Config).
WICHTIG: Nicht über startup.cmd oder startup_launcher.cmd!
General Settings, General
- "Machine ID" letztes Byte der IP Adresse
Bereich Internet Components
Nur bei Maschinen mit viele Leitungen: ggf. der Wert von "UDP" erhöhen.
Bereich UDP Settings
Nur bei den Betrieb von mehreren 8-Server:
- Die Broadcast-Adresse des LAN Segments eintragen
- Port 20202 bestimmen
Bereich Daemon Processes
\\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Cleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Distribute.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoGroupLogout.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoUserLogout.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.GroupDistribute.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.LongCalls.Warning.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\conf\ConfServer.Daemon.UDP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.8Server.LogFileCleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Audio.Converter.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ChangeEvent.Manager.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMS.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMTP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Cleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Manager.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ReportSubscriptions2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Cleaner.v2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.r5
Bei einem reinen Telefonie-Server müssen mindestens folgende Daemonen eingetragen werden (Die Pfade orientieren sich an der Beispielskonfiguration):
\\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\conf\ConfServer.Daemon.UDP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.r5
Bei einem Daemonen-Server müssen mindestens folgende Daemonen eingetragen werden (Die Pfade orientieren sich an der Beispielskonfiguration):
\\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Cleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.AcdEvents.Distribute.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoGroupLogout.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.DailyAutoUserLogout.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.GroupDistribute.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.LongCalls.Warning.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\acd\Daemons\acd.Daemon.UDP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.8Server.LogFileCleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Audio.Converter.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ChangeEvent.Manager.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMS.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.EventSpool.SMTP.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Cleaner.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.Recordings.Manager.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.ReportSubscriptions2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Cleaner.v2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\Portal.Daemon.SystemStartSequence.Update.v2.r5 \\acd-store\shared\JTELCarrierPortal\AppServer\TimeServiceMonitor\portal.Daemon.TimeServiceMonitor.r5 C:\8Server\Samples\LogFileCleaner\8Server.Daemon.LogFileCleaner.mySQL.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.
8Server Lizenz anfordern
Die Anforderung der Lizenz erfolgt mittels des Programms C:\8Server\bin\KeyOrder6.exe
direkt aus dem Explorer:
Die Datei C:\8Server\bin\8server.key
wird an support@jtel.de gesendet.
Sobald eine gültige Lizenzdatei verfügbar ist, muss diese ins Verzeichnis C:\8Server\Config
Verzeichnis eingespielt werden.
Installation des Hazelcast Platform UDP Listeners
Platform UDP Listener Installieren
Im Anschluss wird der Platform UDP Listener mit folgenden Befehlen installiert:
C: md \PlatformUDPlistener xcopy /E \\acd-store\shared\JTELCarrierPortal\Utils\Install\PlatformUDPListener C:\PlatformUDPlistener copy \\acd-store\shared\hazelcast.xml C:\PlatformUDPlistener\conf
Verknüpfungen
Verknüpfung von
c:\PlatformUDPListener\startListener.bat
Auf den Desktop sowie nach shell:startup legen.
Test
Platform UDP Listener starten. Es sollten nun im Cluster alle TEL Nodes gefunden werden. Wenn zuvor, die Webserver und DBM installiert wurden, sollten diese Nodes nun auch im Cluster aktiv sein.
Windows Autostart
Bedingung für die Installation durch uns, ist ein lokaler Administrator Account.
Ferner ist es zu empfehlen, dass die Maschine nicht in der Domäne des Kunden eingebunden ist. Hier gibt es einfach die Möglichkeit, dass zu viele Policies uns in die Suppe spucken.
Maschine ohne "Administrator" Login
Dies betrifft meistens Maschinen die in der Kunden-Domäne sind.
Damit der 8-Server korrekt läuft, muss es mit "Als Administrator ausführen" gestartet werden.
Es gibt jedoch einen Weg, dies automatisch zu machen.
Voraussetzung ist, dass wir die Einstellungen der Benutzerkontensteuerung verändern können, sollte dies nicht möglich sein, MUSS der Kunde das anpassen. Sonst an dieser Stelle: HALT.
Einstellungen der Benutzerkontensteuerung ändern
Auf den Startmenü clicken oder Windows Taste drücken.
Dann eingeben:
Benutzerkontensteuerung (Deutsches Windows) oder User Account Control.
Siehe Screenshot:
Den entsprechenden Menüpunkt auswählen, und dann die Benutzerkontensteuerung auf die Niedrigste Stufe stellen - siehe Screenshot.
Autostart Installieren
http://cdn.jtel.de/downloads/tools/AutoLogon.zip
Entpacken, und für den Benutzer (Administrator oder den jtel Benutzer) ein Autologin einrichten.
Anschließend testen:
- Maschine neu starten
- Nachdem die Maschine gebootet ist, sollte der User sich automatisch angemeldet haben, und alle relevanten Dienste sollten laufen
Windows Firewall
Falls die Windows Firewall aktiviert bleiben soll, müssen ein paar Anpassungen getätigt werden.
Folgende Befehle als Administrator im cmd Fenster ausführen:
netsh advfirewall firewall add rule name="ICMPv4" protocol=icmpv4:8,any dir=in action=allow edge=yes netsh advfirewall firewall add rule name="Hazelcast" dir=in action=allow protocol=TCP localport=5701-5801 edge=no netsh advfirewall firewall add rule name="RTP" dir=in action=allow protocol=UDP localport=30000-34999 edge=yes netsh advfirewall firewall add rule name="SIP" dir=in action=allow protocol=UDP localport=5060 edge=yes netsh advfirewall firewall add rule name="UDP Local" dir=in action=allow protocol=UDP localport=1-65535 edge=no
Aculab Port Eingrenzung
Damit das UDP von Remote auch an bestimmte Ports in Aculab ankommt, muss zusätzlich die Aculab Konfiguration angepasst werden.
Mit notepad++ folgende Datei bearbeiten: C:\aculab\v67\cfg\aculab.config und die Port Range auf 30000 bis 34999 setzen:
... <rxrange minvalue="30000" maxvalue="34999"/> ...