You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

The TEL server runs the call flows for telephone calls in the jtel system.

It also runs background processes, such as jobs to create statistics subscription e-mails and convert audio files or create audio with a TTS engine.

Also, usually PBX connectors are run on the TEL server. 

Installation

File Downloads

The following script downloads all the files needed in this section.

powershell -command "& { Start-BitsTransfer -Source https://cdn.jtel.de/downloads/configs/8server_config_v8.reg -Destination $Env:UserProfile\Downloads }"
powershell -command "& { Start-BitsTransfer -Source https://cdn.jtel.de/downloads/configs/odbc_ini_v52.reg -Destination $Env:UserProfile\Downloads }"
powershell -command "& { Start-BitsTransfer -Source http://cdn.jtel.de/downloads/aculab/AculabInstaller.msi -Destination $Env:UserProfile\Downloads }"

Configure Data Sources

Import the downloaded file odbc_ini_v52.reg to the registry to configure the data sources in windows.

Prepare 8-Server Registry

Import the downloaded file 8server_config_v8.reg to the registry to prepare the registry for 8-Server.

Install 8-Server

Clone Repository

Run the following commands from a non elevated command prompt:

c:
cd \
mkdir \8Server
cd \8Server
git clone https://bitbucket.org/jtelgmbh/8-server-deploy.git deploy
cd deploy
git checkout release/rc-5.23.12

Install 8-Server

Telephony and Deamons

Run the following commands from a non elevated command prompt:

c:
cd \8Server\deploy\OEM\JTEL\
first_install.cmd
copy_keyfile_en_mcp_v67.cmd

Deamons Only

Run the following commands from a non elevated command prompt:

c:
cd \8Server\deploy\OEM\JTEL\
first_install.cmd
copy_keyfile_en_daemon.cmd

Install Aculab SIP and RTP Stack

Install AIT

Run the following commands from a non elevated command prompt, and install for all users:

start %USERPROFILE%\Downloads\AculabInstaller.msi

Install Aculab v67

  • Start the AIT application
  • Choose "Connection" -> "Work offline".
  • "File" -> ""Import"  -> Load Aculab Package File...".
    • c:\8Server\deploy\oem\jtel\aculab\v67.apf
  • Target Directory:
    • C:\aculab\v67
  • "Install"

Note - if secure boot is not switched off in the virtual environment, the installation of the drivers might fail.

Configure Aculab

  • Start ACT 


  • Add a Prosody-S instance
  • Choose "Prosody S" ... "Add...":
  • The serial number can be freely chosen, as can the security key. We recommend 100000 and jtel respectively.

  • Install the licenses
  • Choose "License Manager", Install Licence Keys...



  • Save and apply
  • Choose "Save Settings" then "Apply Settings".

Symmetric RTP

To configure symmetric RTP, a file is created in C:\Aculab\v67\cfg\mhp.cfg with the following content:

File C:
aculab
v67
cfg
mhp.cfg
LocalRtpSymmetric=1

Startup Scripts

Net Use

Check the file c:\8Server\bin\startup.cmd - to see whether the net use command needs to be changed or not.

Shortcut

Create a shortcut for:

c:\8Server\bin\startup_launcher.cmd

and place this in shell:startup.

Configuration Files

Create Default Configuration giAculab.cfg

Start a cmd up, and start gihal. This will create a default giAculab.cfg file.

Sometimes windows does not update the path immediately after installation of the components above. The following must be present in the path, and as an environment variable, for the rest of the installation to work:


PATH=...;c:\8Server\gi2\bin
R5_CONFIG_DIR=c:\8Server\Config\


gihal
 
# If it starts, press CTRL+C then cancel

Edit giAculab.cfg

The file is in:

c:\8Server\gi2\config\giAculab.cfg

giAculab.cfg is now configured for SIP with 8-Server. Replace the SIP section in the newly created file with the section below, changing the following:

  • channel_count to the number of licensed SIP channels
  • default_rtp_ip should be changed to the IP address of the NIC in the telephony network in multi-homed systems. Leave as is, if the system is not multi-homed.

    [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
    }

Edit gi2.ini

Edit the file C:\8Server\gi2\bin\gi2.ini

At the very bottom, change the following setting to 2 (standard is 1):

DISABLE_ERROR_DIALOG = 2

Edit StdCall_MCP.cfg

The following settings are changed in the file

c:\8Server\config\StdCall_MCP.cfg
  • Enable_SIP_Registrar - for installations which require a registrar for the SIP trunk (e.g. Panasonic PBX installations)
  • Default_SIP_Contact - change to the IP address of the server (for multi-homed systems use the IP address of the NIC in the telephony network
  • Startup_Command4 und Startup_Sleep4 - delete these lines if the machine does not require registration to a SIP trunk (for example NFON requires registration - in this case leave in!)
  • Total_Channel_Count - Set to the total licensed SIP channel count
  • Inbound_Use_Channels - Set to the number of agents + supervisors + queue + IVR channels
  • Outbound_Use_Channels - Set to the number of agents + supervisors + call transfer channels
  • Note: Total_Channel_Count = Inbound_Use_Channels + Outbound_Use_Channels
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;
      };
   };
};

8-Server Konfiguration

Startup 8-Server:

c:\8Server\Bin\robot5.exe
  • "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

Ggf. bei ein reiner Daemonen-Server oder reine Telefonie-Server einige der Daemonen entfernen.


List of daemons of a combination server
\\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):


List of daemons of a telephony server
\\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):

List of daemons in a daemon server
\\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:

Installation des Platform UDP Listeners
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:

Windows Firewall adjustments - run as administrator in cmd
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:

C:\aculab\v67\cfg\aculab.config
...
							<rxrange minvalue="30000" maxvalue="34999"/>
...




  • No labels