KLC2000v8_Server Manual revision 1.
KLC2000v8_Server
Manual
Revision 1.2
Kavit Electronics Industries Ltd.
May 02, 2023
1
KLC2000v8_Server Manual revision 1.2
Copyright © 1992-2023 Kavit Electronics Industries Ltd. All Rights Reserved. No part of
this document may be reproduced, stored in a retrieval system, distributed or transmitted,
in any form, or by any means, electronic or otherwise, including photocopying, reprinting, or
recording, for any purpose, with the express prior written permission of Kavit Electronics
Industries Ltd.
TRADEMARKS Kavit and Kavit Logo are marks and registered trademarks of Kavit Electronics
Industries Ltd. in Israel and certain other countries. The use of these trademarks without
Kavit's prior written consent is strictly prohibited. Other third-party trademarks referenced
are the property of their respective owners. Please note that the above list is not all-
inclusive, and the absence of any mark from this list does not mean that it is not Kavit
trademark.
DISCLAIMER The information in this document is provided "AS – IS", without warranty of any
kind, express or implied, including but not limited to a warranty of merchantability, fitness
for any particular purpose, title or non-infringement of third party rights, and Kavit
specifically disclaims all other warranties, conditions or representations. This document is
provided for informational purposes only, and should not be construed as a representation
or commitment on the part of Kavit. Information in this document is subject to change
without notice.
OPEN SOURCE This software uses the OpenSSL which requires mentioning the following
acknowledgments:
This product includes software developed by the OpenSSL Project for use in the OpenSSL
Toolkit (http://www.openssl.org/).
This product includes software written by Tim Hudson ([email protected])
2
KLC2000v8_Server Manual revision 1.2
Revision History:
Revision Date of issue Author Scope
1.0 December 9, 2017 Kobi de-Trenewan Document creation
December 12,2017 Kobi de-Trenewan - Modify the overall system picture.
- Add statement about Unicode
support with UTF-16 format.
- Modify the about dialog.
- Fixed the text to clarify that only up
to 9 simultaneous connections with
KLC2000v8_Client applications are
allowed.
1.1 March 28, 2018 Kobi de-Trenewan - Updated number of observers
- "Too low back power" indication
support
1.2 May 2, 2023 Kobi de-Trenewan - Fixed minor bugs
3
KLC2000v8_Server Manual revision 1.2
Introduction
The KLC2000v8_Server combined with KLC2000v8_Client applications allow multiple users to
either fully or partially monitor and control a collection of KJ2000v8 jammers through an
Ethernet network.
The following picture describes how the system parts are connected to each other:
There is no limit to the number of the KJ2000v8 jammers which can simultaneously connect
to the KLC2000v8_Server (except of the PC’s resources and the Ethernet speed).
There is a limit on the number of different operators that the KLC2000v8_Server allows to
create: up to 1 administrator, up to 1 supervisor, up to 1 technician and up to 50 observers -
all is summed up to 53 clients. Multiple remote connections of KLC2000v8_Client
applications from the same operator are not allowed. Thus, only up to 53 KLC2000v8_Client
applications can simultaneously connect to the KLC2000v8_Server.
The KLC2000v8_Server, as its name implies, acts a server, both for the KJ2000v8 jammers
and for the KLC2000v8_Client applications. For each kind of client (KJ2000v8 jammer or
KLC2000v8_Client application), the user can define one or more listen sockets (IP address,
listen port).
There are 4 access levels that have already been mentioned: administrator, supervisor,
technician and observer.
A one (and only one) administrator can be defined in the system. Administrator level of
access allows the operator to fully monitor and control every aspect of the system (detailed
4
KLC2000v8_Server Manual revision 1.2
jammer status, generate jammers report, read and modify each channel activation state
and output power, change parameters of the KJ2000v8 controller, start a firmware upgrade
of the KJ2000v8 controller, change factory parameters of each channel, including firmware
upgrade of the software in each channel’s microcontroller) via the KLC2000v8_Client
application. It is also the only access level which can locally login to the KLC2000v8_Server.
In case that no administrator is defined in the system, a local login is still possible with the
following credentials: access level: “Administrator”, entity “MER”, user name “admin”,
password “a1d2m3i4n5@”. In such a case, an alert about using the default administrator
settings will be added to the log file.
Up to a single supervisor and up to a single technician can be defined in the system. A
technician operator can do whatever the administrator can do, except of locally login to the
KLC2000v8_Server application. Supervisor abilities via the KLC2000v8_Client are limited to
observe each KJ2000 jammer detailed status, generate jammers reports, as well as reading
and modifying each jammer’s channel activation state (on/off), and output power.
Up to 50 observers can be defined in the system. An observer operator can only watch each
KJ2000v8 jammer detailed status, but it can change no settings of it.
The KLC2000v8_Server jobs are:
1. Collect the information from/to the KJ2000s jammers in the system.
2. Collect the information from/to the KLC2000v8_Client applications in the system.
3. Issuing "Too low back power" indications to the KLC2000v8_Client applications when
needed.
4. Get and store the minimum back power threshold for not issuing "Too low back
power" to the client.
5. Support Unicode with UTF-16 format.
6. Manage the operators (the users of the KLC2000v8_Client applications) that are
allowed to connect to the jammers.
7. Automatically sends warning messages via email to each operator whose password‘s
date is either going to expire, or has already expired.
8. Keep log files in CSV format. The log files are kept in the same folder as the
KLC2000v8_Server.exe is. The log file name format is “KLC2000v8_Server_YYYY-MM-
DD.log” when YYYY is the year, MM is the month (“01” to “12”) and DD is the day in
month (“01” to “31”). Every midnight, the old log file is closed and new one with a
new name is created. If the KLC2000v8_Server starts its executing when a log file
which fits the executing date already exists, then it adds the logs to the end of the
log file.
9. Show the current log file upon user request.
10. Show the history of the log files upon user request.
11. Executing the KLC2000v8_Server requires a local login to the application, when only
operators with access level of administrator can successfully login.
5
KLC2000v8_Server Manual revision 1.2
“Login” window
The login window is opened in one of the 3 scenarios:
1. Upon start executing the KLC2000v8_Server application.
2. If the “login…” option is selected in the main window main menu. In this case any
other opened windows of the KLC2000v8_Server are closed.
3. If the “login…” option is selected in the tray icon popup menu.
Clicking on the Cancel button or closing this window, will result in a termination of the
KLC2000v8_Server application. 3 times of providing an incorrect login information
terminates the execution of the application as well.
Please notice that the user can’t select the access level, as it must be an administrator one.
The combination of administrator access level, entity, user name and password must be
identical to the one that has been inserted in the “Manage operators” window (or the
default administrator operator if it has not been defined yet).
Once a successful first time login is done, then an about window is opened.
In any other case, the main window is opened.
6
KLC2000v8_Server Manual revision 1.2
“About” window
Once a successful first time login is done, or if the “About…” option is selected from the tray
icon popup menu, then the following window is opened:
In case the about window is opened immediately after first successful login, then closing the
about window results in automatically opening of the main window.
7
KLC2000v8_Server Manual revision 1.2
“Main” window
The main window allows the user to:
1. Activate the options that are allowed by the KLC2000v8_Server application via the
main menu.
2. Watch in real time the list of connected operators.
3. Watch in real time the list of connected KJ2000v8 jammer devices.
4. The main window size, position and state (normal/maximize) can be modified, as
well the width of each header control section (the width of each column) and the
position of the splitter that separates the operators table and the devices table.
These graphical changes can only be stored by the “Save configuration” option, and
they trigger no message suggesting to save them upon exit.
The main menu options are:
Menu Description
Configuration menu: “Edit SMTP client configuration…” - allows editing
the KLC2000v8_Server SMTP client definitions.
These definitions are needed to send warning
emails to operators, regarding their passwords
expiry dates.
“Edit operators configuration…” - allows editing
the KLC2000v8_Server listen sockets to incoming
KLC2000v8_Client sockets connection requests.
“Edit devices configuration…” - allows editing the
KLC2000v8_Server listen sockets to incoming
KJ2000v8 jammer devices socket connection
requests.
“Load configuration” - Loads the configuration
saved in “KLC2000v8_Server.cfg” file. This file
includes the graphical configuration of the: main
window, manage operators, log window, logs
history window, as well as the SMTP client
definitions, operators’ configuration and devices’
configuration. The logs history window
configuration also includes the default folder
where it looks for log files.
Opened Ethernet connections are automatically
closed before starting to communicate with the
new Ethernet configurations.
“Save configuration” - Save the configuration in
the “KLC2000v8_Server.cfg” file. See the “Load
configuration” for details of what information is
saved.
8
KLC2000v8_Server Manual revision 1.2
“Default windows configuration” - Reconfigure
the main window, manage operators window, log
window and logs history window graphical
parameters. Please see each window description
for information on its graphical information that
is saved to/loaded from the configuration file, as
they are modified by this option as well.
"Minimum back power thresholds…" -
Reconfigure the thresholds of the back power as
reported by each channel number (each channel
number is system wide - it refers to all the
channels with the same number in the system)
for not reporting "Too low back power".
“Exit” - exits the KLC2000v8_Server application.
Please notice that in such a case, the
KLC2000v8_Client applications are disconnected
from the KJ2000v8 jammers.
Operators menu: “Login…” - Close all the opened windows and
starts the login window.
“Log out” - Close all the opened windows and
shows an icon of the KLC2000v8_Server in the
system tray.
“Manage operators…” – View/modify the
operators list via the “Manage operators”
window.
“Refresh operators and devices list” - Refresh the
tables in the main window of the connected
operators and the connected KJ2000v8 jammer
devices.
“Force email notifications” - Force the re-check of
the operators’ passwords expiry dates and
sending warning emails if required.
Log menu: “Show log…” - open the KLC2000v8_Server log
window.
“Show logs history…” - open the logs history
window from which user can display any log file,
from any date.
Help menu: “About KLC2000 Server…” - open the about
window.
9
KLC2000v8_Server Manual revision 1.2
“Log” window
The log window allows the user to trace the KLC2000v8_Server application level problems in
real time. The displayed events should always appear sorted in chronological order (unless
the system date/time was messed by the user). Every midnight, the list disappears and a
new list with a new log file begins. Every time a new event is recorded then:
1. New line is added to the bottom of the list.
2. The index of the displayed top level item in the list is automatically increased by one,
if possible. This feature allows the user to always watch the last events without any
need of scrolling the list down.
The window title shows the created CSV file name (its file extension is “.log”). The table
columns are the same as the CSV file columns and they contain the following information:
- “Time” - the time the recorded event is identified by the system.
- “Severity” - it categorizes the severity of the recorded event to one of the following:
“Information”, “Error”, “Warning”, and “Alert”. Each severity is displayed with a
different background color.
- “Operator” - the relevant information about the operator that the recorded event is
related to, or which operator commanded the recorded event to be done. The
former case results in a “full” operator name (entity/user name/access level) while
the latter case results in a “partial” operator name (entity/user name) because the
only access level that can command from within the KLC2000v8_Server is the
administrator one.
- “Device ID” - in case an event that is related to a KJ2000v8 jammer device is
recorded, then an 8 characters string of the device unique ID (hexadecimal format)
appears here.
- “Description” - a textual description of the recorded event.
Except of the “Time” field, all the other fields in the CSV file have an identical content as the
one that appears in this window. In case of the “Time” field, the CSV file stores a UNIX
format date and time information about the event (UNIX format is an integer number of
seconds that passed since the midnight of 1970 January 1st). The CSV file is stored in UTF-8
format.
The log window size, position and state can be modified, as well the width of each header
control section (the width of each column). These graphical changes can only be stored by
the “Save configuration” option, and they trigger no message suggesting to save them upon
exit.
10
KLC2000v8_Server Manual revision 1.2
“Logs history” window
The logs history window allows the user to watch the content of any previously
KLC2000v8_Server made log files (including the current one, all the events since it was
created until the file was selected for display in the logs history window). This window is
divided into 3 parts:
1. Select and load folder - Here the user can type a folder name or select it graphically
by clicking the button. The default folder is the one the KLC2000v8_Server.exe
is located. After selecting the folder which contains the log files, the user can force
the window to show the log files by clicking on the “Load folder logs” button.
2. List of log files dates that has been found in the folder - double clicking on one of the
dates in this list, loads the stored events to the list.
3. List of stored events (for detailed description please see the “Log window”)
The window position, size and state, as well as the position of the splitter (that separates the
log dates list and the events list), and the width of each header control section (the width of
the events columns) can all be modified by the user. These graphical changes as well as the
last folder, from which the log files are read, can only be stored by the “Save configuration”
option, and they trigger no message suggesting to save them upon exit.
11
KLC2000v8_Server Manual revision 1.2
“Edit operators configuration” window
This dialog window allows the user to set all the needed parameters required to define a
listening interface to KLC2000v8_Client applications.
The table shows each interface listen socket IP address and port, as well as if TLS protocol
should be activated as well.
Both IPv4 and IPv6 addresses families are supported.
Interface “Add”/”Delete”/”Delete all” can be done by the respective buttons.
Edit an existing interface can be done by selecting this interface and clicking the “Edit”
button, or by simply double clicking the interface.
Changing the interfaces order can be done by selecting a particular interface line, and
clicking on the “Down”/”Up” buttons.
Adding interfaces, with all the IP addresses the current PC has, can be done by clicking on
the “Add adapters” button.
The “Cancel” button or closing the window discards any changes that have been done.
The “Ok” button closes all the opened operators listening sockets and open new ones with
the fresh definitions. It also internally marks that configuration change has been done, so if
the user does not save the configuration manually, a message is triggered upon exiting the
application, suggests saving the configuration.
Upon edit or add a new interface, the “Edit configuration” window appears.
No special check is done to find out if there is any conflict between the defined interfaces, or
with the interfaces that are defined in the “Edit devices configuration” window.
12
KLC2000v8_Server Manual revision 1.2
“Edit devices configuration” window
This window is essentially the same as the “Edit operators configuration” window, except
that it refers to the interfaces that listen to KJ2000v8 jammer devices and not to the
KLC2000v8_Client applications.
13
KLC2000v8_Server Manual revision 1.2
“Edit configuration” window
This window is used in the “Edit operators configuration” and “Edit devices configuration”
window upon add or edit a listening interface in each.
The listening interface parameters that can set in this window are:
1. IP address - the IP address on which the KLC2000v8_Server listens to the incoming
client connection.
2. TCP/IP port - the port (number 1024 to 65535) that is not used by other application
in the PC (with the same IP address), on which the KLC2000v8_Server listens to the
incoming client connection.
3. Communication timeout - the time in seconds (1 to 65) that KLC2000v8_Server waits
from the last time it receives any packet from the client, until it declares it as
disconnected.
4. TLS - whether to enable/disable a TLS 1.2 protocol for securing the data traffic.
14
KLC2000v8_Server Manual revision 1.2
“Edit SMTP configuration” window
This window is used to configure the SMTP client settings - which are needed in order to
connect to an SMTP server for sending warning emails regarding password expiry dates.
The “host” field indicates the SMTP server, the application tries to access to, URL address.
The “from” field indicates the email address of the sender, the KLC2000v8_Server uses.
The “TCP/IP port” field indicates the port in which the SMTP server listens to our email
sending request.
The “Use TLS”, “Explicit TLS” and “Authenticate” fields are SMTP server specific.
The “user name” and “password” fields indicate the email account credentials in the SMTP
server.
The KLC2000v8_Server starts sending a warning email every day when only “Number of days
before start sending warning emails to user” remains before the password expiry date.
The user can add the administrator to recipients list of the warning email by checking the
“Notifying administrator” checkbox.
Testing if the SMTP client settings are correct can be done by entering a destination email
address in the “Test target” field and then clicking on the “Test” button.
15
KLC2000v8_Server Manual revision 1.2
“Manage operators” window
This window allows the user to manage the operators that can remotely login the system,
and the administrator operator that can also login the KLC2000v8_Server locally.
The columns in the list are:
1. Name - the operator name
2. Access level - indicates the set of pre-determined capabilities the user has. It can be:
administrator, technician, supervisor or observer. Their exact meaning was
discussed in the introduction.
3. Entity - the entity which the operator represents.
4. Password - the login password (for administrator – the same password is used both
for remote login and local login).
5. Email address - the target email address to which warning messages about password
expiry date should be sent.
6. Password expiry date - the date from which the assigned password will no longer be
valid.
7. Date of last email sent - indicates the date when the last password expiry/expired
date email was sent. It is empty if an email has never been sent to the particular
operator.
Passwords can be shown/hidden in the list by checking/unchecking the “Show passwords”
checkbox.
Operator can be added by clicking the “Add new operator…” button.
Operator can be deleted by selecting the operator and then clicking the “Delete operator”
button.
Operator can be edited by double clicking the operator line, or by selecting it and clicking
the “Edit operator…” button.
Closing the window or clicking on the “Cancel” button discards any change that has been
done to the operators list.
Clicking on the “Ok” button automatically saves the new operators list in a file
(KLC2000v8_Server.opr), but it affects the existing local and remotely connected operators
only after login again to the system.
Please notice that proper operators list requires a single administrator. Without creating an
operator with access level of administrator, the list is saved, but loading it fails, as the
16
KLC2000v8_Server Manual revision 1.2
KLC2000v8_Server treats it as a corrupted operators file. In addition, the operators’
passwords are encrypted before being stored into the file.
The window position, size and state, as well as the width of each header control section (the
width of the events columns) can all be modified by the user. These graphical changes can
only be stored by the “Save configuration” option, and they trigger no message suggesting
to save them upon exit.
Both add and edit operations open the “Edit operator” window, which allows to edit the
settings of a single operator.
Trying to add details that are identical (identical entity and user name) to ones of an already
existing operator, results in an error message.
Passwords must be entered twice and be identical, else it results in an error message.
Password length must be 10 to 20 characters, so that no 3 consecutive characters are
allowed (e.g. “…ABC…” is forbidden) and the characters must be taken from at least 3 of the
following 5 groups:
- Upper case Latin letters (“A” to “Z”)
- Lower case Latin letters (“a” to “z”)
- Decimal digits (“0” to “9”)
- Special symbols: `~!@#$%^&*()_+-={}|[]\:";’<>?,./
- Other remaining symbols
The expiry date field indicates the midnight when the selected date begins, and the
password will no longer be valid. The time of the selected midnight must at least 24 hours
from the current time, and no more than 365 days from the current date.
The email address is checked only from the syntax point of view. No attempt is made to
check if the address actually exists.
17
KLC2000v8_Server Manual revision 1.2
The “Cancel” button or closing the window discards any changes that have been done.
The “Ok” button reloads the new SMTP client definitions, so they are used at the first
opportunity when they are required. It also internally marks that configuration change has
been done, so if the user does not save the configuration manually, a message is triggered
upon exiting the application, suggests saving the configuration.
18
KLC2000v8_Server Manual revision 1.2
“Minimum back power thresholds” window
The minimum back power thresholds window allows the user to configure the minimum
level of back power so if a channel with a matched index reports a measured back power
which is lower than the threshold determined in this window, then the KLC2000v8_Server
modified the message reported to the operators to include the "Too low back power" alert.
"Ok" button - if the thresholds values are correct, then the list of thresholds is automatically
stored in a file "backpowers.bin".
"Load default" button - reads the contents of the "backpower.bin" file to window.
Leaving an empty row is allowed. In this case no thresholding check is done on the reported
measured back power.
Please notice: the channel index here is system wide. It applies the same threshold to all the
KJ2000's channels whose index is the same.
19