[go: up one dir, main page]

0% found this document useful (0 votes)
111 views62 pages

XML Protocol Version 1.5.2 en

Uploaded by

soulrial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views62 pages

XML Protocol Version 1.5.2 en

Uploaded by

soulrial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

XML protocol for the

AG/AT/FP/SD/LX/PX/CP
cummunication server

p.blaszczyk@ebs.pl

Document version: 1.5.2

Issue date: 19 July 2017

OSM version: 1.3.71.010

CONFIDENTIAL Printed 2017-07-19 1 / 62


CONFIDENTIAL MATERIAL Printed 2017-07-19 2 / 62
1. Connecting communication server ......................................................................................5
2. XML format of data sent by the server .................................................................................6
3. Description of parameters ...................................................................................................6
3.1 Basic parameters .......................................................................................................................6
3.1.1 Sequential packet number (sq) ...............................................................................................................6
3.1.2 Communication server ID (id) ...............................................................................................................6
3.1.3 Number of messages received from devices (count) .............................................................................7
3.1.4 Transmission attempt sequential number (rep) ......................................................................................7
3.1.5 Device type (dt) .....................................................................................................................................7
3.1.6 Device serial number (sn) ......................................................................................................................7
3.1.7 Device-assigned timestamp (dts) ...........................................................................................................7
3.1.8 Communication server-assigned timestamp (csts) ................................................................................7
3.1.9 Source of the message (src) ...................................................................................................................7
3.2 Advanced parameters ................................................................................................................7
3.2.1 AG, AT, FP, SD events ...........................................................................................................................7
3.2.2 PX events. ............................................................................................................................................10
3.2.3 LX events .............................................................................................................................................12
3.2.4 CP events .............................................................................................................................................14
3.2.5 CS events .............................................................................................................................................17
3.2.6 Additional information (AG, AT, FP, SD modifiers) ...........................................................................18
3.2.7 Additional information (CP modifiers) ................................................................................................19
3.2.8 Expanded description of important events ..........................................................................................20
3.2.9 Sample scenario ...................................................................................................................................21
3.2.10 Acknowledging data received in the XML format ............................................................................21
3.2.11 Sample acknowledging scenario ........................................................................................................22
4. Device configuration and control .......................................................................................22
4.1 Error codes ..............................................................................................................................24
4.2 Configuring the devices ...........................................................................................................24
4.2.1 Authentication initialization .................................................................................................................24
4.2.2 Authentication ......................................................................................................................................25
4.2.3 List available templates .......................................................................................................................26
4.2.4 List available templates – full version .................................................................................................26
4.2.5 Add a new template .............................................................................................................................27
4.2.6 Remove template .................................................................................................................................28
4.2.7 Modify template ...................................................................................................................................28
4.2.8 List devices (show configuration) .......................................................................................................29
4.2.9 List devices (show configuration) – full version .................................................................................30
4.2.10 Add a new device ...............................................................................................................................31
4.2.11 Remove device ...................................................................................................................................31
4.2.12 Add device or modify device parameters ..........................................................................................32
4.2.13 Get list of available groups ................................................................................................................32
4.2.14 Example of conversation between AL and CS (TCP/IP) ...................................................................33
4.3 Sending commands to devices .................................................................................................34
4.3.1 Set time (only AG) ...............................................................................................................................34
4.3.2 Set device parameters (only AG) .........................................................................................................35
4.3.3 Set device parameters (only LX, CP) ..................................................................................................36
4.3.4 Request device parameters (only AG) .................................................................................................36
4.3.5 Request device parameters (only LX, CP) ..........................................................................................36
4.3.6 Request location (only AG) .................................................................................................................37
4.3.7 Send AT command (not for PX) ..........................................................................................................37
4.3.8 Send AT command in binary mode (not for PX) .................................................................................38
4.3.9 Change input lock (only PX) ...............................................................................................................38
4.3.10 Change input locks (only LX) ...........................................................................................................38
4.3.11 Change output state (only LX, CP or PX) .........................................................................................39
4.3.12 Query device state (only LX, CP or PX) ...........................................................................................39
4.3.13 Send RS232 data (only LX or PX) ....................................................................................................40
4.3.14 Query device software version ..........................................................................................................40
4.3.15 Reset device .......................................................................................................................................41

CONFIDENTIAL MATERIAL Printed 2017-07-19 3 / 62


4.4 Server commands ....................................................................................................................41
4.4.1 Disconnect device ................................................................................................................................41
4.4.2 Remove data from the command queue ..............................................................................................41
4.4.3 Send text SMS .....................................................................................................................................42
4.4.4 Process SMS message received by external application .....................................................................42
4.4.5 Generate device’s link state signals .....................................................................................................43
4.4.6 Get connectors state .............................................................................................................................43
4.4.7 Get current Analyzer state ...................................................................................................................44
4.4.8 Cease events sending to Analyzer ........................................................................................................44
4.4.9 Get cease events sending state .............................................................................................................45
4.4.10 Get event queue size ..........................................................................................................................45
4.4.11 Get server version ..............................................................................................................................45
4.4.12 Get server license ...............................................................................................................................46
4.4.13 Get OSM startup time ........................................................................................................................46
4.4.14 Get OSM current time .......................................................................................................................46
4.4.15 Get operating system name ................................................................................................................46
4.4.16 Restart or exit OSM service ...............................................................................................................47
4.5 OSM configuration commands ...............................................................................................47
4.5.1 Get authorization level .........................................................................................................................48
4.5.2 Get general settings ..............................................................................................................................48
4.5.3 Set general settings ..............................................................................................................................48
4.5.4 Get watchdog settings ..........................................................................................................................49
4.5.5 Set watchdog settings ..........................................................................................................................49
4.5.6 Get connectors settings ........................................................................................................................49
4.5.7 Set connector settings ..........................................................................................................................50
4.5.8 Remove connector ...............................................................................................................................51
4.5.9 Get buffers settings ..............................................................................................................................51
4.5.10 Set buffer settings ..............................................................................................................................51
4.5.11 Get groups settings .............................................................................................................................52
4.5.12 Set group settings ...............................................................................................................................52
4.5.13 Remove group ....................................................................................................................................53
4.5.14 Get analyzers settings ........................................................................................................................53
4.5.15 Set analyzer settings ..........................................................................................................................54
4.5.16 Remove analyzer ...............................................................................................................................55
4.5.17 Get backup settings ............................................................................................................................55
4.5.18 Set backup settings ............................................................................................................................56
5. Example of conversation between AL and CS (TCP/IP) ...............................................56
6. Short listing of parameters and commands .......................................................................58
7. Document history ................................................................................................................59
7.1 Changes and corrections .........................................................................................................59
7.1.1 Changes for version 1.1.0 ....................................................................................................................59
7.1.2 Changes for version 1.2.0 ....................................................................................................................59
7.1.3 Changes for version 1.3.0 ....................................................................................................................59
7.1.4 Changes for version 1.4.0 ....................................................................................................................60
7.1.5 Changes for version 1.4.1 ....................................................................................................................60
7.1.6 Changes for version 1.4.2 ....................................................................................................................60
7.1.7 Changes for version 1.4.3 ....................................................................................................................60
7.1.8 Changes for version 1.4.4 ....................................................................................................................60
7.1.9 Changes for version 1.4.5 ....................................................................................................................60
7.1.10 Changes for version 1.4.6 ..................................................................................................................60
7.1.11 Changes for version 1.4.7 ..................................................................................................................60
7.1.12 Changes for version 1.4.8 ..................................................................................................................60
7.1.13 Changes for version 1.4.9 ..................................................................................................................61
7.1.14 Changes for version 1.4.10 ................................................................................................................61
7.1.15 Changes for version 1.4.11 ................................................................................................................61
7.1.16 Changes for version 1.4.12 ................................................................................................................61
7.1.17 Changes for version 1.4.13 ................................................................................................................61
7.1.18 Changes for version 1.4.14 ................................................................................................................61
7.1.19 Changes for version 1.4.15 ................................................................................................................61
7.1.20 Changes for version 1.4.17 ................................................................................................................61

CONFIDENTIAL MATERIAL Printed 2017-07-19 4 / 62


7.1.21 Changes for version 1.4.18 ................................................................................................................61
7.1.22 Changes for version 1.4.19 ................................................................................................................61
7.1.23 Changes for version 1.5.0 ..................................................................................................................61

1. Connecting communication server

Communication Server (thereafter: CS) waits in any number of its TCP/IP or UDP ports for
input data fed by AG/AT/FP/SD/LX/PX/CP devices via any number of GSM modems or
SMSC connections. The data are next sent to a virtual external program that analyzes them
(thereafter: AL). Transmissions use one of the three following data exchange protocols:
 XML (the format described within this document)
 ContactID
 SIA
and one of the three following networking protocols:
 RS232
 TCP/IP
 UDP.

System block diagram:

2. XML format of data sent by the server

CONFIDENTIAL MATERIAL Printed 2017-07-19 5 / 62


In case the TCP/IP or the UDP networking protocol is used, the AL program acts as a
server i.e. listens in some pre-defined port waiting for data sent by communication server. In
case of the TCP/IP protocol, the linking procedure consists in performing cyclic attempts to
establish a connection (every couple of seconds while the program is running). Each already
established TCP/IP connection is preserved to eliminate establishing-related delays.
The following data are sent either as soon as the connection is established (TCP/IP) or at the
beginning of every message (UDP, RS232):

<?xml version="1.0" encoding="UTF-8"?><xml_cs>

The following data are sent either as soon as the connection is established (TCP/IP) or at the
beginning of every message (UDP, RS232):

</xml_cs>

Messages are transmitted in data packets:

<packet sq="xxx" id="yyy" count="zzz" rep="rep">


<msg dt="dt" sn="sn" [dts="ts"] csts="ts" src="src" evt="evt"
[evtData="evtData"]/>

</packet>

where:
sq sequential number of the packet (for acknowledging purposes)
id communication server ID
count number of messages in the packet before filtering
rep transmission attempt sequential number (repeat)
dt device type ("ag", "at", "fp", "sd", "lx", "px", "cp" or"cs")
sn device serial number
dts device-assigned timestamp (if available)
csts communication server-assigned timestamp (UTC format)
src source of the message as defined by the user (e.g. "TCPn", "UDPn", "SMSn", "SMSCn")
evt event code from an user-defined vocabulary
evtData hex data associated with the event code (e.g. 0x012345678, RFID of the queried point).

3. Description of parameters
3.1 Basic parameters
3.1.1 Sequential packet number (sq)
The first packet sent after the server is started is assigned sequential number equal to 0,
subsequent packets are assigned numbers sequentially incremented. The same sequential
number and value of parameter "rep" greater than 1 means the packet is re-transmitted since
no acknowledgment has been received before the respective time-out. Every packet
(regardless whether sent the first time or re-transmitted) should be acknowledged
(indispensable in case the acknowledgment is lost).

3.1.2 Communication server ID (id)


User-defined arbitrary name of the communication server. Useful if the AL program may
receive data from many communication servers.

3.1.3 Number of messages received from devices (count)


Number of data events received from devices before filtering (1...50).

CONFIDENTIAL MATERIAL Printed 2017-07-19 6 / 62


3.1.4 Transmission attempt sequential number (rep)
Usually equal to 1. However, in case of a re-transmission the number is sequentially
incremented by 1 at every attempt of transmitting the same packet (a packet with the same
sequential number).

3.1.5 Device type (dt)


Type of the device that sent the message. Possible values: "ag" (Active Guard), "at" (Active
Track), "fp" (FPX), "sd" (SDX), "lx" (LX), "px" (EX/PX), "cp" (GD30.2/CPX200N) or "cs"
(Communication Server).

3.1.6 Device serial number (sn)


Serial number of the device that sent the message, e.g. "1", "2". Server can also convert each
device serial number into a defined sequence of alphanumeric characters (e.g. "004", "AB01",
"DEVICE 005" etc.)

3.1.7 Device-assigned timestamp (dts)


Date/time as received from the device in the "YYYY-MM-DD hh:mm:ss" format (currently
only AG devices).

3.1.8 Communication server-assigned timestamp (csts)


Date/time the server received the message, in the "YYYY-MM-DD hh:mm:ss" format. The
GMT0 time zone is used.

3.1.9 Source of the message (src)


User-defined name of the message source (e.g. "TCP1", "GPRS2", "GSM MODEM 1" etc.).

3.2 Advanced parameters


3.2.1 AG, AT, FP, SD events
User may freely define event codes. Default values of the codes are shown in the table below.
Some events may have defined no codes (no code will be sent in case of such an event).

Event names (evt) and event data (evtData) for FPX, SDX, Active Guard and Active
Track(Active Guard, Active Guard II, Active Track) devices. If there is no clear indication of
corresponding device, events are considered to be defined for all four types mentioned above.

Table 1. Set of the possible events and data for AG, AT, FP, SD devices.

Event code Event description evt (event name)

evtData (additional data)

test Periodically sent test signal. TEST

callme Phone call. CALLME

panic Alarm call. PANIC

read RFID point read-out. READ

RFID ID 5 bytes in hex format, e.g.0x1122334455)

sabotage Anti-sabotage sensor tampered with. SAB

CONFIDENTIAL MATERIAL Printed 2017-07-19 7 / 62


Event code Event description evt (event name)

connecting Connection attempt. CONNECTING

Internal technical data for OSM, not relevant for user

newAddress The new device address. NEW_ADDR

Address in the form of an IP:port or phone number in hex format, e.g.:


0x3231332E3135382E3139392E3133313A3134383132

The method the device connected (src parameter may be


connect CONN
used to find out the method).

The method the device disconnected (src parameter may


disconnect DISC
be used to find out the method).

Pre-defined time from the most recent transmission has


timeout TIMEOUT
expired.

Change of communication mode (src parameter may be


modeChange MODE
used to set a new mode).

lowAccuOn Low battery voltage. LOW_ACC_ON

accuCharging Battery charging. ACC_CHARGING

lowAccuOff Battery recharged. LOW_ACC_OFF

configChanged Device’s configuration parameters has been changed. CONFIG_CHANGED

Server sent set time event to device (automatic time


clockAdjust CLOCK_ADJUST
synchronization).

Date and time sent to device in following format: "yyyy-MM-dd hh:mm:ss"

fifoError Events buffer error. FIFO_ERROR

fifoFull Events buffer overflow. FIFO_FULL

commandSent Command sent to device. COMMAND_SENT

Command body in ASCII hex values eg. 0x20564552

textMessageRecei
ved
Response message received from device. TXT_MSG_RECEIVED

Message body in UTF-8 hex format

tooManyDataServe Amount of data sent by the device exceeded defined


DATA_LIMIT_EXCEEDED
rAlert threshold within certain period of time.

tooManyConnectio Przekroczono określony limit liczby prób nawiązania CONNECTIONS_LIMIT_EXCEEDED


nsServerAlert połączenia urządzenia w ciągu zadanego czasu.

Amount of connection attempts made by the device


stillConnected STILL_CONNECTED
exceeded defined threshold within certain period of time.

stillDisconnected The device is still connected. STILL_DISCONNECTED

chargerBegin The device is still disconnected. CHARGER

CONFIDENTIAL MATERIAL Printed 2017-07-19 8 / 62


Event code Event description evt (event name)

chargerEnd Device put into charger. CHARGER_END

chargingEnd Device removed from charger. CHARGING_END

Notification about rejected incoming voice call (the


clip CLIP
number was not on DIAL list).

Phone number in hex format

fifoFlushed Buffer flushed by FLUSH command. FIFO_FLUSHED

gprsLost GPRS lost. GPRS_LOST

gprsRestore GPRS restore. GPRS_RESTORE

gprsWatchdog GPRS watchdog. GPRS_WATCHDOG

gsmLost GSM lost. GSM_LOST

gsmRestore GSM restore. GSM_RESTORE

gsmWatchdog GSM watchdog. GSM_WATCHDOG

inDataCallBegin Begin of incoming data call (CSD). IN_DATA_CALL

Phone number in hex format

inDataCallEnd End of incoming data call (CSD). inDataCallEnd

Phone number in hex format

Begin of incoming voice call (the number was on DIAL


inVoiceCallBegin inVoiceCallBegin
list).

Phone number in hex format

inVoiceCallEnd End of incoming voice call. inVoiceCallEnd

Phone number in hex format

INPUT_1_ARM dla AG lub


input1Arm RFID/CHECKPOINT button pressed. CHECKPOINT dla AT,FP,SD

input0Disarm Tamper end. SAB_END

input1Disarm RFID button released. INPUT_1_DISARM

input2Disarm CallMe button released. INPUT_2_DISARM

input3Disarm Panic button released. INPUT_3_DISARM

manDownBegin Mandown begin. MANDOWN

manDownEnd Mandown end. MANDOWN_END

modemReset Modem reset. MODEM RESET

The device turned off by using an appropriate


powerOff POWER_OFF
combination of buttons.

CONFIDENTIAL MATERIAL Printed 2017-07-19 9 / 62


Event code Event description evt (event name)

The device reset by using an appropriate combination of


reset RESET
buttons.

outVoiceCallBegin Begin of outgoing voice call. OUT_VOICE_CALL

Nr telefonu w formacie hex

outVoiceCallEnd End of outgoing voice call. OUT_VOICE_CALL_END

Nr telefonu w formacie hex

shock Shock detected. SHOCK

smsLimitBegin Begin of SMS limit. SMS_LIMIT_BEGIN

smsLimitEnd End of SMS limit. SMS_LIMIT_END

startup Device start. STARTUP

tiltBegin Tilt begin. TILT

tiltEnd Tilt end. TILT_END

Time changed (new time is sent), occurs simultaneously


timeRestore TIME_RESTORE
with timeUpdate event.

Time changed (old time is sent), occurs simultaneously


timeUpdate TIME_UPDATE
with timeRestore event.

veryLowBatteryBe
gin
Very low battery voltage (device goes into sleep mode). VERY_LOW_BATT

veryLowBatteryEn
d
End of very low battery voltage. VERY_LOW_BATT_END

input4Arm GPS button pressed. GPS

locationUpdate Event generated when GPS position changes. LOCATION_UPDATE

Character string comprising state description valid at the time of event creation:
• advOpt – So called 'advanced optimization' it turned on. Algorithm has decided to send information
about location change.
• timeout – Configured time since last LOCATION_UPDATE event has elapsed.
• fix – So called GPS FIX has returned (sent only by some kind of devices like ATDoor or TPT).
• heading – Course changed by configured angle compared to last LOCATION_UPDATE event.
• position - Position changed by configured length compared to last LOCATION_UPDATE event.

3.2.2 PX events.

Table 2. Event names (evt) and event data (evtData) for PX (PX, EX) devices.

Event code Event description evt (event name)

evtData (additional data)

test Periodically sent test signal. TEST

CONFIDENTIAL MATERIAL Printed 2017-07-19 10 / 62


Event code Event description evt (event name)

input[x]On [x] input activated/returned to normal. ON[x]


input[x]Off OFF[x]

lineOn Phone line connected/disconnected. LINE ON


lineOff LINE OFF

zone1Arm Zone 1 armed/disarmed. ZONE 1 ARM


zone1Disarm ZONE 1 DISARM

zone2Arm Zone 2 armed/disarmed. ZONE 2 ARM


zone2Disarm ZONE 2 DISARM

lowAccuOn Battery on/off. LOW ACC


lowAccuOff ACC OK

noPowerOn Power failure/OK. NO POWER


noPowerOff POWER OK

sabOutOn Sabotage input activated/returned to normal. SAB OUT ON


sabOutOff SAB OUT OFF

auxOutOn Auxiliary input activated/returned to normal. AUX OUT ON


auxOutOff AUX OUT OFF

sabSwitchOn Sabotage relay activated/returned to normal. SAB SWITCH ON


sabSwitchOff SAB SWITCH OFF

status Device status received. STATUS

ack Last command acknowledged. ACK

data Data received from DTMF/RS232. DATA

Hex format (e.g. 0x032F1)

newAddress The new device address. NEW_ADDR

Address in the form of an IP:port or phone number in hex format, e.g.:


0x3231332E3135382E3139392E3133313A3134383132

connect The method the device connected (src parameter may be CONNECT
used to find out the method).

timeout Specified time from the most recent transmission has TIMEOUT
expired.

disconnect The method the device disconnected (src parameter may DISC
be used to find out the method).

modeChange Change of communication mode (src parameter may be MODE


used to set a new mode).

commandSent Command sent to device. COMMAND_SENT

Command contents in ASCII hex values eg. 0x20564552

textMessageRecei Response message received from device. TXT_MSG_RECEIVED


ved

Message contents in UTF-8 hex format.

CONFIDENTIAL MATERIAL Printed 2017-07-19 11 / 62


Event code Event description evt (event name)

tooManyDataServe Amount of data sent by the device exceeded defined DATA_LIMIT_EXCEEDED


rAlert threshold within certain period of time.

tooManyConnectio Amount of connection attempts made by the device CONNECTIONS_LIMIT_EXCEEDE


D
nsServerAlert exceeded defined threshold within certain period of time.

stillConnected The device is still connected. STILL_CONNECTED

stillDisconnected The device is still disconnected. STILL_DISCONNECTED

3.2.3 LX events

Table 3. Event names (evt) and event data (evtData) for LX (LX10, LX20, LX20G,
LX20GL, PX100N, PX200N, PX100D, EX10, EX20) devices.

Event code Event description evt (event name)

evtData (additional data)

test Periodically sent test signal. TEST

input[x]On [x] input activated/returned to normal. ON[x]


input[x]Off OFF[x]

lineOn Phone line connected/disconnected. LINE ON


lineOff LINE OFF

zone1Arm Zone 1 armed/disarmed. ZONE 1 ARM


zone1Disarm ZONE 1 DISARM

zone2Arm Zone 2 armed/disarmed. ZONE 2 ARM


zone2Disarm ZONE 2 DISARM

lowAccuOn Battery on / off. LOW ACC


lowAccuOff ACC OK

noPowerOn Power failure / OK. NO POWER


noPowerOff POWER OK

sabOutOn Sabotage input activated/returned to normal. SAB OUT ON


sabOutOff SAB OUT OFF

auxOutOn Auxiliary input activated/returned to normal. AUX OUT ON


auxOutOff AUX OUT OFF

aux2OutOn Second auxiliary input activated/returned to normal. AUX2 OUT ON


aux2OutOff AUX2 OUT OFF

aux3OutOn Third auxiliary input activated/returned to normal. AUX3 OUT ON


aux3OutOff AUX3 OUT OFF

sabSwitchOn Sabotage relay activated/returned to normal. SAB SWITCH ON


sabSwitchOff SAB SWITCH OFF

serialPortTimeout Absence of RS232 tests. RS232_TIMEOUT

serialPortTimeou Presence of RS232 tests. RS232_CONT


tOff

CONFIDENTIAL MATERIAL Printed 2017-07-19 12 / 62


Event code Event description evt (event name)

offhookTimeout Off hook timeout. OFFHOOK_TIMEOUT

offhookTimeoutOff End of off hook timeout. OFFHOOK_CONT

offhookIdleTimeout Too long period of interval between digits of dialed OFFHOOK_IDLE_TIMEOUT


number.

offhookIdleTimeo End of too long period of interval between digits of OFFHOOK_IDLE_CONT


utOff dialed number.

status Sabotage input activated/returned to normal. STATUS

dataDTMF Auxiliary input activated/returned to normal. DATA DTMF

Hex format (e.g.0x032F1)

dataRS232 Data received from RS232. DATA RS232

Hex format (e.g.0x032F1)

connecting The method the device connected (src parameter may be CONNECTING
used to find out the method).

Internal technical data for OSM, not relevant for user.

newAddress The new device address. NEW_ADDR

Address in the form of an IP:port or phone number in hex format, e.g.:


0x3231332E3135382E3139392E3133313A3134383132

connect Specified time from the most recent transmission has CONN
expired.

timeout The method the device disconnected (src parameter may TIMEOUT
be used to find out the method).

disconnect Change of communication mode (src parameter may be DISC


used to set a new mode).

modeChange The method the device connected (src parameter may be MODE
used to find out the method).

clockAdjust Specified time from the most recent transmission has CLOCK_ADJUST
expired.

Date and time sent to device in following format: "yyyy-MM-dd hh:mm:ss"

commandSent Command sent to device. COMMAND_SENT

Command contents in ASCII hex values eg. 0x20564552

textMessageRecei Response message received from device. TXT_MSG_RECEIVED


ved

Message contents in UTF-8 hex format

tooManyDataServe DATA_LIMIT_EXCEEDED
rAlert Amount of data sent by the device exceeded defined
threshold within certain period of time.

CONFIDENTIAL MATERIAL Printed 2017-07-19 13 / 62


Event code Event description evt (event name)

tooManyConnectio Amount of connection attempts made by the device CONNECTIONS_LIMIT_EXCEEDE


nsServerAlert exceeded defined threshold within certain period of time. D

stillConnected The device is still connected. STILL_CONNECTED

stillDisconnected The device is still disconnected. STILL_DISCONNECTED

sabSwitchLock Temporal lock of sabotage input turned on/off . SAB SWITCH LOCK/ SAB
sabSwitchUnlock SWITCH UNLOCK

input[x]Lock Temporal lock of input x turned on/off. LOCK[x]


input[x]Unlock UNLOCK[x]

SMSLimitBegin Begin/end of SMS limit. SMS LIMIT BEGIN


SMSLimitEnd SMS LIMIT END

configChanged Device’s configuration parameters has been changed. CONFIG_CHANGED

jammingBegin Begin/end of GSM jamming detection. JAMMING_BEGIN


jammingEnd JAMMING_END

in[x]Tmp Begin/end of sabotage input x. TMPON[x]


in[x]TmpOff TMPOFF[x]

configUpdateStart Begin of device configuration changes. CFG_START

firmwareUpgradeStart Begin of device firmware changes. FRMUP_START

firmwareChanged Device firmware changed. FRM_CHANGED

clip Notification about rejected incoming voice call (the CLIP


number was not on DIAL list).

Phone number in hexadecimal format

veryLowBatteryBegin Very low battery voltage (device goes into sleep mode). VERY LOW BATT

veryLowBatteryEnd End of very low battery voltage. VERY LOW BATT END

serviceBegin Service cable connected to the device. SERVICE

serviceEnd Service cable disconnected from the device. SERVICE OFF

3.2.4 CP events

Table 4. Event names (evt) and event data (evtData) for CP (GD30.2/CPX200N) devices.

Event code Event description evt (event name)

evtData (additional data)

test Periodically sent test signal. TEST

input[x]On [x] input activated/returned to normal. ON[x]


input[x]Off OFF[x]

in[x]Tmp [x] input tamper detected/returned to normal. TMPON[x]


in[x]TmpOff TMPOFF[x]

CONFIDENTIAL MATERIAL Printed 2017-07-19 14 / 62


Event code Event description evt (event name)

out[x]On [x] auxiliary input activated/returned to normal. OUT[x] ON


out[x]Off OUT[x] OFF

out0On Sabotage input activated/returned to normal. SAB OUT ON


out0Off SAB OUT OFF

out[x]TmpBegin Tamper input activated/returned to normal. OUT[x] TMP


out[x]TmpEnd OUT[x] TMPOFF

timeLost Time has been lost. TIME LOST

zone1Arm Zone 1 armed/disarmed. PART1_ARM


zone1Disarm PART1_DISARM

zone2Arm Zone 2 armed/disarmed. PART2_ARM


zone2Disarm PART2_DISARM

lowAccuOn Battery on/off. LOW ACC/ACC OK


lowAccuOff

noPowerOn Power failure/OK. NO POWER/POWER OK


noPowerOff

status Status message has been received after "get status" STATUS
command was issued.

connecting The method the device connected (src parameter may be CONNECTING
used to find out the method).

Internal technical data for OSM, not relevant for user

newAddress The new device address. NEW_ADDR

Address in the form of an IP:port or phone number in hex format, e.g.:


0x3231332E3135382E3139392E3133313A3134383132

connect Specified time from the most recent transmission has CONN
expired.

timeout The method the device disconnected (src parameter may TIMEOUT
be used to find out the method).

disconnect Change of communication mode (src parameter may be DISC


used to set a new mode).

modeChange The method the device connected (src parameter may be MODE
used to find out the method).

clockAdjust Server sent set time event to device (automatic time CLOCK_ADJUST
synchronization).

Date and time sent to device in following format: "yyyy-MM-dd hh:mm:ss"

commandSent Command sent to device. COMMAND_SENT

Command contents in ASCII hex values eg. 0x20564552

textMessageRecei Response message received from device. TXT_MSG_RECEIVED


ved

Message contents in UTF-8 hex format

CONFIDENTIAL MATERIAL Printed 2017-07-19 15 / 62


Event code Event description evt (event name)

tooManyDataServe Amount of data sent by the device exceeded defined DATA_LIMIT_EXCEEDED


rAlert threshold within certain period of time.

tooManyConnectio Amount of connection attempts made by the device CONNECTIONS_LIMIT_EXCEEDE


nsServerAlert exceeded defined threshold within certain period of time. D

stillConnected The device is still connected. STILL_CONNECTED

stillDisconnected The device is still disconnected. STILL_DISCONNECTED

clip Notification about rejected incoming voice call (the CLIP


number was not on DIAL list).

Phone number in hexadecimal format

fifoFlushed Buffer flushed by FLUSH command. FIFO_FLUSHED

fifoError Events queue processing error. FIFO_ERROR

gprsLost GPRS connection lost. GPRS_LOST

fifoFull Events queue overflow. FIFO_FULL

gprsRestore GPRS connection restored. GPRS_RESTORE

gprsWatchdog GPRS watchdog test action. GPRS_WATCHDOG

gsmLost GSM connection lost. GSM_LOST

gsmRestore GSM connection restored. GSM_RESTORE

gsmWatchdog GSM watchdog test action. GSM_WATCHDOG

inDataCallBegin Begin of incoming data call (CSD). IN_DATA_CALL

Phone number in hexadecimal format

inDataCallEnd End of incoming data call (CSD). IN_DATA_CALL_END

Phone number in hexadecimal format

inVoiceCallBegin Begin of incoming voice call (the number was on DIAL IN_VOICE_CALL
list).

Phone number in hexadecimal format

inVoiceCallEnd End of incoming voice call. IN_VOICE_CALL_END

Phone number in hexadecimal format

Time changed (new time is sent), occurs simultaneously TIME_RESTORE


timeRestore
with timeUpdate event.

Time changed (old time is sent), occurs simultaneously TIME_UPDATE


timeUpdate
with timeRestore event.

startup Device startup. STARTUP

jammingBegin GSM jamming detected. JAMMING_BEGIN


jammingEnd GSM jamming has ended. JAMMING_END

CONFIDENTIAL MATERIAL Printed 2017-07-19 16 / 62


Event code Event description evt (event name)

inputInstantArm Instant line turned on / off. Event exclusive for CID-


inputInstantDisarm SIA analyzers.

inputEntryArm Delayed line turned on / off. Event exclusive for CID-


inputEntryDisarm SIA analyzers.

input24hPanicArm 24h burglary line turned on / off. Event exclusive for CID-
input24hPanicDisarm SIA analyzers.

inputSetUnsetArm Arm / disarm turned on / off. Event exclusive for CID-


inputSetUnsetDisarm SIA analyzers.

inputSabArm Tamper line turned on / off. Event exclusive for CID-


inputSabDisarm SIA analyzers.

inputIntDelayArm Conditional delayed line turned on / off. Event exclusive for CID-
inputIntDelayDisarm SIA analyzers.

input24hPanicSil 24h burglary silent turned on / off. Event exclusive for CID-
entArm SIA analyzers.
input24hPanicSil
entArm

badCode Bad user code entered. BAD CODE

aux1Fail AUX1 power output failure. AUX1 FAIL


aux1Restore AUX1 power output failure end. AUX1 RESTORE

aux2Fail AUX2 power output failure AUX2 FAIL


aux2Restore AUX2 power output failure end. AUX2 RESTORE

kpoutFail KPOUT power output failure. KPOUT FAIL


kpoutRestore KPOUT power output failure end. KPOUT RESTORE

keypad0lost Communication with keypad lost. KEYPAD0 LOST


keypad0restore Communication with keypad restored. KEYPAD0 RESTORE

keypad0powerFailure Keypad reported power failure. KEYPAD0 POWER FAIL


keypad0powerRestore Keypad reported power restore. KEYPAD0 POWER RESTORE

keypad0TmpBegin Keypad tamper detected / returned to normal. KEYPAD0 TMP


keypad0TmpEnd KEYPAD0 TMP RESTORE

configChanged Device configuration changed. CONFIG_CHANGED

reset Device reset. RESET

serviceBegin[x] Service of line [x] needed. INPUT[x]_SERVICE_BEGIN


serviceEnd[x] Service of line [x] done. INPUT[x]_SERVUCE_END

malfunctionBegin[x] Malfunction of line [x] occurred. INPUT[x]_MALFUNCTION_BEGIN


malfunctionEnd[x] INPUT[x]_MALFUNCTION_END
Malfunction of line [x] has ended.

3.2.5 CS events

Table 5. Event names (evt) and event data (parameters) for Communication Server.

CONFIDENTIAL MATERIAL Printed 2017-07-19 17 / 62


Event code Event description evt (event name)

Parameters

Messages loss Send after server’s buffer overfilling. MESSAGES_LOST

count="number_of_lost_events"

3.2.6 Additional information (AG, AT, FP, SD modifiers)


Dependant on settings device may sent additional information bound with event, like for
example: battery voltage level, GSM signal quality etc. Usually such information may be
used to diagnose device state in a specific period of time. List of XML attributes, their values
and descriptions are shown in the table below.

Tabela 6. Set of the possible modifiers for devices of AG family.

Attribute Meaning Values

Example

CSQ GSM signal level and (0-32,0-99)


BER separated by
comma.

12,0 or 99,99 (both parameters unknown)

ConnectionSta Connection statuses GSM/NOGSM | GPRS/NOGPRS | SRV/NOSRV | SMS/NOSMS |


tus separated by | character. CSD/NOCSD | VOICE/NOVOICE

GSM|GPRS|NOSRV|NOSMS|NOCSD|NOVOICE

BattVol Battery voltage level in 0-5000


millivolts.

4000mV

PowerStatus Power statuses LOW_BATT_VOL/BATT_VOL_OK |


separated by | character. VERY_LOW_BATT/NO_VERY_LOW_BATT |
CHARGER_CONN/NO_CHARGER | CHARGING/NO_CHARGING

BATT_VOL_OK|NO_VERY_LOW_BATT|CHARGER_CONN|NO_CHARGING

MovementActiv Movement activity. 0-65535


ity

100

gps Last gps location. First word in attribute is gps location mode:
 2D
 3D
 DGPS

Format for 2D
2D yyyymmdd hh:mi.ss lat,long horizontalAcc null velocity heading
where:
• yyyy – year, mm – month, dd – day
• hh – hours, mi – minutes, ss – seconds

CONFIDENTIAL MATERIAL Printed 2017-07-19 18 / 62


• lat – Latitude in degrees, positive values N, negative values S
• long – Longitude in degrees (positive values E, negative values W).
• horizontalAcc – horizontal accuracy in meters. Equals 0 if unknown.
• null – null value send only for compatibility mode with 3D , DGPS type
• velocity – velocity [m/s]
• heading – (in degrees)

Format for 3D
3D yyyymmdd hh:mi.ss lat,long horizontalAcc,verticalAcc altitude velocity heading
where:
• yyyy – year, mm – month, dd – day
• hh – hours, mi – minutes, ss – seconds
• lat – Latitude in degrees (positive values N, negative values S)
• long – Longitude in degrees (positive values E, negative values W)
• horizontalAcc – horizontal accuracy in meters. Equals 0 if unknown.
• verticalAcc – vertical accuracy in meters. Equals 0 if unknown
• altitude – (in m)
• velocity – velocity [m/s]
• heading – (in degrees)

Format for DGPS is the same as 3D.

2D 20121016 10:05.37 52.226428,21.156459 28.568000 null 1.060000 178.665400


3D 20121016 10:05.37 52.226428,21.156459 28.568000,30.123000 95.124000 1.060000 178.665400

Example message:

<msg dt="ag" sn="4294967295" dts="2009-05-22 14:51:53" csts="2009-05-22 12:51:43"


src="TCP_AG" evt="CHARGING_END" CSQ="17,0" ConnectionStatus="GSM|GPRS|SRV|NOSMS|
NOCSD|NOVOICE" BattVol="4220mV" PowerStatus="BATT_VOL_OK|NO_VERY_LOW_BATT|
CHARGER_CONN|CHARGING" MovementActivity="341"/>

3.2.7 Additional information (CP modifiers)


Dependant on settings device may sent additional information bound with event, like for
example: battery voltage level, GSM signal quality etc. Usually such information may be
used to diagnose device state in a specific period of time. List of XML attributes, their values
and descriptions are shown in the table below.

Table 7. Set of the possible modifiers for devices of CP type.

Attribute Meaning Values

Example

CSQ Comma separated GSM (0-32,0-99)


and BER range.

12,0 or 99,99 (comma separated GSM and BER range)

ConnectionSt State of connections GSM/NOGSM | GPRS/NOGPRS | SRV/NOSRV | SMS/NOSMS |


atus separated with | CSD/NOCSD | VOICE/NOVOICE
character.

GSM|GPRS|NOSRV|NOSMS|NOCSD|NOVOICE

BattVol Battery voltage in mV. 0-5000

CONFIDENTIAL MATERIAL Printed 2017-07-19 19 / 62


4000mV

PowerStatus Power statuses LOW_BATT_VOL/BATT_VOL_OK |


separated with | VERY_LOW_BATT/NO_VERY_LOW_BATT |
character. CHARGER_CONN/NO_CHARGER | CHARGING/NO_CHARGING

BATT_VOL_OK|NO_VERY_LOW_BATT|CHARGER_CONN|NO_CHARGING

zoneType Event type of input INSTANT / ENTRY / 24H_PANIC / SET_UNSET / SAB /


line. INT_DELAY / 24H_PANIC_SILENT / 24H_FIRE / PERIMETER /
PERIMETER_EXIT / 24H_GAS / 24H_WATER / NIGHT /
NIGHT_PREALARM

INSTANT

parts Numbers of partitions 1-3


assigned to input.

1
2
1,2

userId Identification number (0-255)


of user who performed
an action during
arming/disarming.

3.2.8 Expanded description of important events

CONNECTING
Generated only when a known device tries to connect (only AG, AT, FP, SD or LX in
encrypted transmission mode).

CONNECT
Generated only when a known device connects, provided that the device was in the
DISCONNECT state.

TIMEOUT
Generated once after specified time from the most recent transmission expired.

DISCONNECT
Generated after specified time expired or in result of a deliberate disconnect command,
provided that the device was in the CONNECT mode.

MODE_CHANGE
Generated at the moment the device-server communication mode is changed, provided that
the device was in the CONNECT mode (combination of three or two events: DICONNECT-
CONNECTING-CONNECT or DISCONNECT-CONNECT).

NEWADDRESS
Generated before the relevant event CONNECT or MODE occurs, contains data on the device
network address (IP:port) or phone number

CONFIDENTIAL MATERIAL Printed 2017-07-19 20 / 62


3.2.9 Sample scenario

Device Communication Server AL program

connecting
evt=CONNECTING

connection
evt=NEW_ADDR
evt=CONN

event
evt=event

timeout1
evt=TIMEOU
event T
evt=event

unexpected
disconnection

timeout1 evt= TIMEOUT

timeout2 evt=DISCONNECT

3.2.10 Acknowledging data received in the XML format


Data are repeatedly being sent over until a proper acknowledgement is returned. If server
buffer overruns, devices will not receive acknowledgments and will continue to send data
(according to their own algorithms) until their own buffers overrun.
Acknowledgment format:

<?xml version="1.0" encoding="UTF-8"?>


<xml_al>
<msg command="commit" sq="xxx"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 21 / 62



</xml_al>

sq sequential number of the acknowledged packet

Acknowledgment time-out is fully configurable. In the case of the TCP/IP analyzer does not
send proper acknowledgements for a period longer than 2 minutes OSM will close and try to
reestablish TCP/IP connection.

3.2.11 Sample acknowledging scenario


Sample scenario of communication exchange between server (CS) and analyzer (AL) was
presented in the table below. Subsequent lines represent the flow of time.

Tabela 8. Example of communication exchange between server and analyzer.

CS <?xml version="1.0" encoding="UTF-8"?><xml_cs>

AL <?xml version="1.0" encoding="UTF-8"?><xml_al>

CS <packet sq="21" id="CS1" count="6" rep="1">


<msg dt="ag" sn="23122" dts="2006-11-18 17:32:00" csts="2006-11-18 17:32:11"
src="TCP_AG1" evt="PANIC"/>
<msg dt="ag" sn="5921" dts="2006-11-18 17:31:00" csts="2006-11-18 17:32:12"
src="TCP_AG1" evt="TXT_MSG_RECEIVED" evtData="0x20564552"/>
<msg dt="px" sn="6531" csts="2006-11-18 17:32:11" src="TCP_PX1" evt="on1"/>
<msg dt="ag" sn="AG0023" dts="2006-11-18 17:32:00" csts="2006-11-18 17:32:12"
src="TCP_AG2" evt="READ" evtData="0x3A2178BEF3"/>
</packet>

AL <msg command="commit" sq="21"/>

CS <packet sq="22" id="CS1" count="1" rep="1">


<msg dt="ag" sn="78299" dts="2006-11-18 17:33:00" csts="2006-11-18 17:32:16"
src="TCP_AG1" evt="TEST"/>
</packet>

<msg command="commit" sq="22"/>

CS </xml_cs>

AL </xml_al>

The last pair of messages is sent only when one of the parties wants to close connection
gently.

4. Device configuration and control


Procedure of configuring the list of devices (adding/removing/modifying devices), as
well as sending commands to the configured devices use a separate communication channel (a
separate sever port). In this case the communication server listens in a defined port and waits
for commands sent over by the AL program. If a command is incorrect, an error code/message
is returned. List of error codes/messages is available in section. 4.1.

CONFIDENTIAL MATERIAL Printed 2017-07-19 22 / 62


The following data are sent by the AL program as soon as the connection is established
(TCP/IP), or at the beginning of every message (UDP):

<?xml version="1.0" encoding="UTF-8"?><xml_al>

Each data packet begins with:

<packet sq="xxx" id="yyy" count="zzz" rep="rep" [ALNetworkAddress="ALNetworkAddress"]>

and ends with:

</packet>

Where:
sq sequential number of the packet (only for detection of repeats). Sequential number of
each packet should be incremented by some value (repeats are discarded)
id analyzer program ID (from config.xml file, default is "primary")
count number of messages in the packet
rep transmission attempt sequential number (repeat)
ALNetworkAddress optional network address of the analyzer in the form IP:port used for the purpose of
the audit (note: the parameter is used only when the OSM is not able to determine the
real address for example, when using SSH tunneling; it is sufficient to specify this
parameter once)

Each UDP data packet (each TCP/IP session) is ended with:

</xml_al>

Message format:

<msg sq="yyy" command="cmd" [type="type"] [sn="sn"] [...]/>

sq sequential number of the message (for acknowledging within the response). The range
of this parameter is 0-232 (messages with the same sq number are not discarded)
command command name
type (option) device type ("ag", "at", "fp", "sd", "cp", "lx" or "px")
sn (option) device serial number

Error message format:

<msg sq="yyy" errorCode="code" errorDesc="desc"/>

sq sequential number of the packet (only for repetition detection)


code error code
desc error description

CONFIDENTIAL MATERIAL Printed 2017-07-19 23 / 62


4.1 Error codes

List of available error codes and error descriptions.

Error code Error description


001 Bad parameter value
002 Parameter is missing
003 Connector does not exist
004 Device does not exist
005 Device already exists
006 Device access denied
007 Template does not exist
008 Template already exists
009 Template access denied
010 Authentication required
011 Message buffer full (only SMSreceived command)
012 Invalid phone number (only SMSreceived command)
013 Invalid message (only SMSreceived command)
014 Invalid input module name (only SMSreceived command)
015 Authorized access required

4.2 Configuring the devices

Any given AL program instance may configure parameters of only those devices,
which are assigned to it (that send their data to it). Each device is identified by its type and its
serial number. Some device parameters (phone numbers, encryption keys) are assigned
directly to individual devices, while other (timeout value) – to templates. Each template is
identified by an unique name. Each template may support devices of only a single type and is
assigned to a single AL instance (in other words no other AL instance may modify it).

Dependencies between devices and analyzers block diagram:

CONFIDENTIAL MATERIAL Printed 2017-07-19 24 / 62


Device Device Device Device
No 1 No 2 No 3 … No n1

devices.xml
Template A Template B Template C

Group I Group II

config.xml

Analyzer Analyzer Analyzer


AI1 AI2-BCII1 BCII2

4.2.1 Authentication initialization


The first command after connecting to OSM should be initialization of authentication process
when Analyzer authentication is required (see OSM manual, CONFIG.XML chapter). This
process uses CHAP protocol (Challenge Handshake Authentication Protocol) and its first
phase is to generate "seed".

<msg sq="yyy" command="initAuth" protocol="protocol"/>

sq sequential number of the message


protocol type of protocol used to authenticate (currently "chap-md5")

Example:

<msg sq="271" command="initAuth" protocol="chap-md5"/>

Response:

<msg sq="271" command="initAuth"


challenge="0x18E65B1CEB47207F22E2DD86A1E4D92D762BBBAC0DA889A05FD0F5CB5DDB8041"/>

challenge 32 bytes of "seed" in hexadecimal format

4.2.2 Authentication
Every authentication attempt should follow initialization phase (section. 4.2.1).

<msg sq="yyy" command="auth" protocol="protocol" challengeResponse="challengeResponse"/>

sq sequential number of the message


protocol type of protocol used to authenticate (currently "chap-md5")
challengeResponse 16 bytes of challenge response in hexadecimal format

ChallengeResponse value is
generated by the following formula:MD5("AL_NAME:PASS:SEED") where:

AL_NAME bytes of analyzer name


PASS bytes of password

CONFIDENTIAL MATERIAL Printed 2017-07-19 25 / 62


SEED seed generated in first phase of authentication process
MD5() md5 hash function

For example:

AL_NAME="primary", PASS="abcd", SEED=[0x18 0xE6 0x5B 0x1C 0xEB 0x47 0x20


0x7F 0x22 0xE2 0xDD 0x86 0xA1 0xE4 0xD9 0x2D 0x76 0x2B 0xBB 0xAC 0x0D 0xA8
0x89 0xA0 0x5F 0xD0 0xF5 0xCB 0x5D 0xDB 0x80 0x41]

Then: challengeResponse=MD5([0x70 0x72 0x69 0x6D 0x61 0x72 0x79 0x3A 0x61 0x62
0x63 0x64 0x3A 0x18 0xE6 0x5B 0x1C 0xEB 0x47 0x20 0x7F 0x22 0xE2 0xDD 0x86 0xA1
0xE4 0xD9 0x2D 0x76 0x2B 0xBB 0xAC 0x0D 0xA8 0x89 0xA0 0x5F 0xD0 0xF5 0xCB
0x5D 0xDB 0x80 0x41])

Example:

<msg sq="271" command="auth" protocol="chap-md5"


challengeResponse="0x5957bd9adb15a5c86f1b2c9ef018ee7f"/>

Response:

<msg sq="271" command="auth" challengeResult="OK" />

challengeResult authentication result ("OK" / "WRONG_RESP" / "INIT_REQUIRED" /


"AUTH_ERROR")

4.2.3 List available templates


To get current list of available templates, an AL program may send the following query
message:

<msg sq="yyy" command="querySchemas" [type="type"] [name="name]"/>

sq sequential number of the message


type optional type of devices covered by the queried templates (ag, at, fp, sd, lx, cp or px)
name optional unique template name

Optional parameters may be used as filters.

Example:

<msg sq="271" command="querySchemas" type="ag"/>

Response (current settings, last entry with empty values):

<msg sq="271" command="schemaEntry" type="ag" name="AG1" netTimeout1="600"


netTimeout2="700" smsTimeout="1200"/>

<msg sq="271" command="schemaEntry" type="" name=""/>

type type of devices covered by the queried templates (ag, at, fp, sd, lx, cp or px)
name unique template name
netTimeout1 if this timeout expires, the TIMEOUT event is generated
netTimeout2 if this timeout expires, the DISCONNECT event is generated (network mode)
smsTimeout if this timeout expires, the DISCONNECT event is generated (SMS mode)
all timeouts in seconds

CONFIDENTIAL MATERIAL Printed 2017-07-19 26 / 62


4.2.4 List available templates – full version
To get current list of available templates, an AL program may send the following query
message:

<msg sq="yyy" command="querySchemasFull" [type="type"] [name="name]"/>

sq sequential number of the message


type (option) type of devices covered by the queried templates (ag, at, fp, sd, lx, cp or px)
name (option) unique template name

Optional parameters may be used as filters.

Example:

<msg sq="271" command="querySchemasFull" name="AG1"/>

Response (current settings, last entry with empty values):

<msg sq="271" command="schemaEntry" type="ag" name="AG1" netTimeout1="600"


netTimeout2="700" smsTimeout="1200 netLimitBytes="5000" netLimitConnections="15"
netLimitSeconds="3600" smsLimitMessages="0" smsLimitSeconds="0" outputGroup="ALL"
outputGroup2="NULL" description="" TimeSync="on" TimeSyncMaxDifference="150"
TimeSyncTimeOffset="1" TimeSyncDayLightSaving="on" XMLtest="test" … CIDtest="160" …
SIAtest="A1" … />

<msg sq="271" command="schemaEntry" type="" name=""/>

type type of devices covered by the queried template


name unique template name
netTimeout1 if this timeout expires, the TIMEOUT event is generated
netTimeout2 if this timeout expires, the DISCONNECT event is generated (network mode)
smsTimeout if this timeout expires, the DISCONNECT event is generated (SMS mode) all
timeouts in seconds
netLimitBytes specifies maximum number of bytes sent by the device in network mode per time
unit (see parameter netLimitSeconds). After this limit is exceeded before
netLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0 -
no limit)
netLimitConnections specifies maximum number of connection attempts made by the device in
network mode per time unit (see parameter netLimitSeconds). After this limit is
exceeded before netLimitSeconds is passed "TooManyConnectionsServerAlert"
event will be generated (0 - no limit)
smsLimitMessages specifies maximum number of SMS messages sent by the device in SMS mode per
time unit (see parameter smsLimitSeconds). After this limit is exceeded before
smsLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0
- no limit)
outputGroup name of output group (from config.xml)
outputGroup2 name of optional second output group (from config.xml), "NULL" value means
lack of assignment
description description of template
TimeSync time synchronization ("on" or "off") , only Active Guard, GD or LX devices
TimeSyncMaxDifference maximal time difference in seconds between server and device (150, only Active
Guard, GD or LX devices
TimeSyncTimeOffset time zone offset (-13 - +13) , only Active Guard, GD or LX devices
TimeSyncDayLightSaving daylight savings ("on" or "off"), only Active Guard, GD or LX devices
XMLtest … event codes for XML format
CIDtest … event codes for ContactID format
SIAtest … event codes for SIA format
SIAtest … kody zdarzeń dla formatu SIA (nazwy zdarzeń z tabeli 1, 2 i 3)

4.2.5 Add a new template

CONFIDENTIAL MATERIAL Printed 2017-07-19 27 / 62


<msg sq="yyy" command="addSchema" type="type" name="name" netTimeout1="t1"
netTimeout2="t2" smsTimeout="t3" [netLimitBytes="L1"] [netLimitSeconds="S1"]
[smsLimitMessages="L2"] [smsLimitSeconds="S2"] [description="desc"]
[outputGroup="outputGroup"] [outputGroup2="outputGroup2"] [TimeSync="on|off"]
[TimeSyncMaxDifference="diff"] [TimeSyncTimeOffset="on|off"]
[TimeSyncDayLightSaving="on|off"] [XMLtest="code"] … [CIDtest="code"] …
[SIAtest="code"] … />

sq sequential number of the message


type type of devices covered by the template (ag, at, fp, sd, lx, cp or px)
name unique template name
netTimeout1 if this timeout expires, the TIMEOUT event is generated
netTimeout2 if this timeout expires, the DISCONNECT event is generated (network mode)
smsTimeout if this timeout expires, the DISCONNECT event is generated (SMS mode) all
timeouts in seconds
netLimitBytes specifies maximum number of bytes sent by the device in network mode per time
unit (see parameter netLimitSeconds). After this limit is exceeded before
netLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0 -
no limit)
netLimitConnections specifies maximum number of connection attempts made by the device in
network mode per time unit (see parameter netLimitSeconds). After this limit is
exceeded before netLimitSeconds is passed "TooManyConnectionsServerAlert"
event will be generated (0 - no limit)
smsLimitMessages specifies maximum number of SMS messages sent by the device in SMS mode per
time unit (see parameter smsLimitSeconds). After this limit is exceeded before
smsLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0
- no limit)
outputGroup name of output group (from config.xml)
outputGroup2 name of optional second output group (from config.xml)
description description of template
TimeSync time synchronization ("on" or "off") , only Active Guard, GDCP or LX devices
TimeSyncMaxDifference maximal time difference in seconds between server and device (150, only Active
Guard, GDCP or LX devices
TimeSyncTimeOffset time zone offset (-13 - +13) , only Active Guard, CPGD or LX devices
TimeSyncDayLightSaving daylight savings ("on" or "off"), only Active Guard, CP or LX devices
XMLtest … event codes for XML format
CIDtest … event codes for ContactID format
SIAtest … event codes for SIA format

Example:

<msg sq="271" command="addSchema" type="ag" name="AG2" netTimeout1="700"


netTimeout2="800" smsTimeout="900" TimeSync="on" TimeSyncMaxDifference="150"
TimeSyncTimeOffset="3" TimeSyncDayLightSaving="on" XMLmodeChange="MODE_CHGN"/>

Response (current settings):

<msg sq="271" command="schemaEntry" type="ag" name="AG2" netTimeout1="700"


netTimeout2="800" smsTimeout="900"/>

4.2.6 Remove template


Only not-referenced templates may be removed.

<msg sq="yyy" command="delSchema" name="name"/>

sq sequential number of the message


name unique template name

Example:

<msg sq="271" command="delSchema" name="AG2"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 28 / 62


Response (current settings):

<msg sq="271" command="schemaEntryDeleted" name="AG2" type="ag" netTimeout1="700"


netTimeout2="800" smsTimeout="900"/>

4.2.7 Modify template

<msg sq="yyy" command="editSchema" name="name" [netTimeout1="t1"] [netTimeout2="t2"]


[smsTimeout="t3"] [netLimitBytes="L1"] [netLimitSeconds="S1"]
[smsLimitMessages="L2"] [smsLimitSeconds="S2"] [description="desc"]
[outputGroup="outputGroup"] [outputGroup2="outputGroup2"] [TimeSync="on|off"]
[TimeSyncMaxDifference="diff"] [TimeSyncTimeOffset="on|off"]
[TimeSyncDayLightSaving="on|off"] [XMLtest="code"] … [CIDtest="code"] …
[SIAtest="code"] … />

sq sequential number of the message


name unique template name
netTimeout1 if this timeout expires, the TIMEOUT event is generated
netTimeout2 if this timeout expires, the DISCONNECT event is generated (network mode)
smsTimeout if this timeout expires, the DISCONNECT event is generated (SMS mode) all
timeouts in seconds
netLimitBytes specifies maximum number of bytes sent by the device in network mode per time
unit (see parameter netLimitSeconds). After this limit is exceeded before
netLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0 -
no limit)
netLimitConnections specifies maximum number of connection attempts made by the device in
network mode per time unit (see parameter netLimitSeconds). After this limit is
exceeded before netLimitSeconds is passed "TooManyConnectionsServerAlert"
event will be generated (0 - no limit)
smsLimitMessages specifies maximum number of SMS messages sent by the device in SMS mode per
time unit (see parameter smsLimitSeconds). After this limit is exceeded before
smsLimitSeconds is passed "TooManyDataServerAlert" event will be generated (0
- no limit)
outputGroup name of output group (from config.xml)
outputGroup2 name of optional second output group (from config.xml), empty string removes
current assignment
description description of template
TimeSync time synchronization ("on" or "off") , only Active Guard, GDCP or LX devices
TimeSyncMaxDifference maximal time difference in seconds between server and device (150, only Active
Guard, GD CP or LX devices
TimeSyncTimeOffset time zone offset (-13 - +13) , only Active Guard, CP or LX devices
TimeSyncDayLightSaving daylight savings ("on" or "off"), only Active Guard or LX devices
XMLtest … event codes for XML format
CIDtest … event codes for ContactID format
SIAtest … event codes for SIA format

Example:

<msg sq="271" command="editSchema" name="AG1" smsTimeout="1300" TimeSync="off"


TimeSyncMaxDifference="200"/>

Response (current settings):

<msg sq="271" command="schemaEntry" name="AG1" type="ag" netTimeout1="700"


netTimeout2="800" smsTimeout="1300"/>

4.2.8 List devices (show configuration)


To get current list of devices (current configuration), an AL program may send the following
query message:

CONFIDENTIAL MATERIAL Printed 2017-07-19 29 / 62


<msg sq="yyy" command="queryDevices" [type="type"] [sn="sn"] [phone="phone"]
[schema="schema"] [getKnown="getKnown"] [getUnknown="getUnknown"]/>

sq sequential number of the message


type (option) queried device type (ag, at, fp, sd, lx, cp or px)
sn (option) device serial number
phone (option) phone number (full format, e.g. +48123456789)
schema (option) template name
getKnown (option) "true" or "false" list known devices (by default "true")
getUnknown (option) "true" or "false" list unknown devices (by default "false")

Optional parameters may be used as filters.

Example:

<msg sq="271" command="queryDevices" type="ag"/>

Response (current settings, last entry with empty values):

<msg sq="271" command="deviceEntry" type="ag" sn="3422" phone="+4862312243"


schema="AG1" src="TCP1" connectTime="2006-11-11 12:38:22" key="0xFF3A1154E3558190B3"
cipher="DES"/>
<msg sq="271" command="deviceEntry" type="px" sn="5923" phone="+4862312244"
schema="PX" ac="2121"/>

<msg sq="271" command="deviceEntry" type="" sn=""/>

sq sequential number of the message


type device type (ag, at, fp, sd, lx, cp or px)
sn device serial number
phone phone number (full format, e.g. +48123456789)
schema template name
key encryption key used by the device (AG, GDCP or LX only)
SMSkey encryption key for SMS used by the device (LX only)
cipher encryption algorithm used by the device (AG, GD CP or LX only)
ac access code (LX, CP or PX only)
src current mode of communication (if the device is connected to the server)
connectTime time of connection (if the device is connected to the server)

4.2.9 List devices (show configuration) – full version


To get current list of devices (current configuration), an AL program may send the following
query message:

<msg sq="yyy" command="queryDevicesFull" [type="type"] [sn="sn"] [phone="phone"]


[schema="schema"] [getKnown="getKnown"] [getUnknown="getUnknown"]/>

sq sequential number of the message


type (option) queried device type (ag, at, fp, sd, lx, cp or px)
sn (option) device serial number
phone (option) phone number (full format, e.g. +48123456789)
schema (option) template name
getKnown (option) "true"or "false" list known devices (by default "true")
getUnknown (option) "true"or "false" list unknown devices (by default "false")

Optional parameters may be used as filters.

Example:

<msg sq="271" command="queryDevicesFull" type="ag"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 30 / 62


Response (current settings, last entry with empty values):

<msg sq="271" command="deviceEntry" type="ag" sn="3422" phone="+4862312243"


schema="AG1" src="TCP1" srcAddr="192.168.0.81:3218" connectTime="2006-11-11
12:38:22" lastMessageTime="2006-11-11 12:38:26" key="0xFF3A1154E3558190B3"
cipher="DES" XMLObjectName="3422" CIDLine="1" CIDName="0001" SIALine="1" SIAName="1"
description=""/ />
<msg sq="271" command="deviceEntry" type="px" sn="5923" phone="+4862312244"
schema="PX" ac="2121" XMLObjectName="2121" CIDLine="1" CIDName="0002" SIALine="1"
SIAName="2" description="" DataDecode="CID" DataObjNum="MSG" />

<msg sq="271" command="deviceEntry" type="" sn=""/>

type device type (ag, at, fp, sd, lx, cp or px)


sn device serial number
phone phone number (full format, e.g. +48123456789)
schema template name
key encryption key used by the device (AG, GD CP or LX only)
SMSkey encryption key for SMS used by the device (AG, GD CP or LX only)
cipher encryption algorithm used by the device (AG, CP or LX only)
ac access code
src current mode of communication (if the device is connected to the server)
srcAddr device’s network address (network mode) or it’s phone number (SMS mode)
connectTime time of connection (if the device is connected to the server) (GMT0 zone)
lastMessageTime time of last message (GMT0 zone)
XMLObjectName object name used in XML format
CIDLine object line number used in ContactID format
CIDName object name used in ContactID format
SIALine object line number used in SIA format
SIAName object name used in SIA format
description device description
DataDecode DTMF/RS232 data decoding format: "CID"(ContactID), "FAST42"(FAST 4/2),
"DIRECT"(no decode), only LX or PX devices
DataObjNum DTMF data object identifier: "MSG"(object number from DTMF message),
"SN"(object number from XMLObjectName, CIDName or SIAName), only LX
or PX devices

4.2.10 Add a new device

<msg sq="yyy" command="addDevice" type="type" sn="sn" [phone="phone"] [schema="schema"]


[ac="ac"] [key="key"] [SMSkey="SMSkey"] [XMLObjectName="name"] [CIDLine="line"]
[CIDName="name"] [SIALine="line"] [SIAName="name"] [description="desc"]
[DataDecode="CID"|"FAST42"|"DIRECT"] [DataObjNum="MSG|SN"] />

sq sequential number of the message


type device type (ag, lx, gd cp or px)
sn device serial number
phone phone number (full format, e.g. +48123456789)
schema template name
key encryption key used by the device (AG, GD CP or LX only)
SMSkey encryption key for SMS used by the device (AG, GD CP or LX only)
cipher encryption algorithm used by the device (AG, CP or LX only)
ac access code
XMLObjectName object name used in XML format
CIDLine object line number used in ContactID format
CIDName object name used in ContactID format
SIALine object line number used in SIA format
SIAName object name used in SIA format
description device description
DataDecode DTMF/RS232 data decoding format: "CID"(ContactID), "FAST42"(FAST 4/2),
"DIRECT"(no decode), only LX or PX devices
DataObjNum DTMF data object identifier: "MSG"(object number from DTMF message),
"SN"(object number from XMLObjectName, CIDName or SIAName), only LX
or PX devices

CONFIDENTIAL MATERIAL Printed 2017-07-19 31 / 62


Example:

<msg sq="278" command="addDevice" type="ag" sn="14498" phone="+48987654321"


key="0xF11231AD558190B3"/>

Response (current settings)

<msg sq="278" command="deviceEntry" type="ag" sn="14498" phone="+48987654321"


schema="AG1"/>

4.2.11 Remove device

<msg sq="yyy" command="delDevice" type="type" sn="sn"/>

sq sequential number of the message


type device type ("ag", "cp"or "px")
sn device serial number

Example:

<msg sq="279" command="delDevice" type="ag" sn="14498"/>

Response:

<msg sq="279" command="deviceEntryDeleted" type="ag" sn="14498" phone="+48987654321"


schema="AG2"/>

4.2.12 Add device or modify device parameters


A result of this command is a new entry in device list or modification of parameters of
existing device dependent on whether device already exists or not.

<msg sq="yyy" command="addOrUpdateDevice" type="type" sn="sn" [phone="phone"]


[schema="schema"] [ac="ac"] [key="key"] [SMSkey="SMSkey"] [XMLObjectName="name"]
[CIDLine="line"] [CIDName="name"] [SIALine="line"] [SIAName="name"]
[description="desc"] [DataDecode="CID"|"FAST42"|"DIRECT"] [DataObjNum="MSG|SN"] />

sq sequential number of the message


type device type (ag, lx, gd cp or px)
sn device serial number
phone phone number (full format, e.g. +48123456789)
schema template name
key encryption key used by the device (AG, GD CP or LX only)
SMSkey encryption key for SMS used by the device (AG, GD CP or LX only)
cipher encryption algorithm used by the device (AG, CP or LX only)
ac access code
src current mode of communication (if the device is connected to the server)
srcAddr device’s network address (network mode) or it’s phone number (SMS mode)
connectTime time of connection (if the device is connected to the server) (GMT0 zone)
lastMessageTime time of last message (GMT0 zone)
XMLObjectName object name used in XML format
CIDLine object line number used in ContactID format
CIDName object name used in ContactID format
SIALine object line number used in SIA format
SIAName object name used in SIA format
description device description
DataDecode DTMF/RS232 data decoding format: "CID"(ContactID), "FAST42"(FAST 4/2),
"DIRECT"(no decode), only LX or PX devices

CONFIDENTIAL MATERIAL Printed 2017-07-19 32 / 62


DataObjNum DTMF data object identifier: "MSG"(object number from DTMF message),
"SN"(object number from XMLObjectName, CIDName or SIAName), only LX
or PX devices

Example:

<msg sq="278" command="addOrUpdateDevice" type="ag" sn="14498" phone="+48987654888"


key=""/>

Response (current settings):

<msg sq="278" command="deviceEntry" type="ag" sn="14498" phone="+48987654888"


schema="AG1"/>

4.2.13 Get list of available groups

<msg sq="yyy" command="getListOfAvailableGroups"/>

sq sequential number of the message

Example:

<msg sq="278" command="getListOfAvailableGroups"/>

Response (list of groups to which analyzer is assigned):

<msg sq="278" command="getListOfAvailableGroups" groupCount="3" group1="ALL" group2="GR2"


group3="GR3"/>

4.2.14 Example of conversation between AL and CS (TCP/IP)

1. CS listens

2. AL connects to CS and requests list of devices:

<?xml version="1.0" encoding="UTF-8"?>


<xml_al>
<packet sq="1" id="primary" count="1" rep="1">
<msg sq="12" command="queryDevices"/>
</packet>

3. CS responds:

<?xml version="1.0" encoding="UTF-8"?>


<xml_cs>
<packet sq="1" id="CS1" count="3" rep="1">
<msg sq="12" command="deviceEntry" type="ag" sn="2000" schema="AG1"
phone="+4862312243" src="TCP1" connectTime="2006-11-11 12:38:22"/>
<msg sq="12" command="deviceEntry" type="ag" sn="3423" schema="AG2"
phone="+4862312244"/>
<msg sq="12" command="deviceEntry" type="px" sn="1497" schema="PX1"
phone="+4862312798"/>
<msg sq="12" command="deviceEntry" type="" sn=""/>
</packet>

CONFIDENTIAL MATERIAL Printed 2017-07-19 33 / 62


4. AL sends commands:

<packet sq="2" id="primary" count="3" rep="1">


<msg sq="13" command="addOrUpdateDevice" type="ag" sn="2000" schema="AG3"/>
<msg sq="14" command="addOrUpdateDevice" type="px" sn="8899" schema="PX1"/>
<msg sq="15" command="addDevice" type="ag" sn="3423" schema="AG1" />
</packet>

The commands mean: (i) add or modify parameters of Active Guard device with serial
number 2000; (ii) add or modify parameters of PX device with serial number 8899; and (iii)
add an existing device.

5. CS responds:

<packet sq="2" id="CS1" count="2" rep="1">


<msg sq="13" command="deviceEntry" type="ag" sn="2000" phone="+4862312243"
schema="AG3" src="TCP1" connectTime="2006-11-11 12:38:22"/>
<msg sq="14" command="deviceEntry" type="px" sn="8899" phone="" schema="PX1"/>
<msg sq="15" errorCode="005" errorDesc="Device already exists"/>
</packet>

6. To disconnect, AL sends:

</xml_al>

7. CS disconnects and sends

</xml_cs>

8. Both parties shut the communication session down.

4.3 Sending commands to devices

Commands are transmitted via the same communication channels that is used to
configure devices. Only devices associated with the given AL program instance may be
controlled. Number of commands that may be sent to a device is limited (by default up to 10).
Queue of commands to-be-sent to a PX/EX device may contain only a single command of
each type. General command format:

<msg sq="yyy" command="cmd" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq message sequential number (for acknowledging purposes)


type device type (ag, at, fp, sd, lx, cp or px)
sn device serial number
TTL message validity period in seconds (if during that time the command could not be sent, it will
be removed from the command queue)
src preferred communication mode (default priorities: 1. GPRS, 2. SMSC, 3. GSM modem)

Response format:

<msg sq="yyy" status="status" [src="src"]/>

status "SEND / NOT SEND / SEND NO ACK / QUEUE FULL / NOT SEND MSG TOO LONG"
meaning respectively:
command sent and acknowledged /
command could not be sent before expiration of its validity period /

CONFIDENTIAL MATERIAL Printed 2017-07-19 34 / 62


command sent without acknowledging /
other commands waiting to be sent completely fill up the command queue
message is too long
src the used communication mode

Commands send to Active Guard devices as SMS messages could not end with "SEND"status
(no immediate response). Status of a command sent to Active Guard device as SMS message
will be always "SEND NO ACK". Eventually SMS response from device will be received and
send to analyzer as a "TextMessageReceived"event.

4.3.1 Set time (only AG)

<msg sq="yyy" command="setTime" dts="YYYY-MM-DD hh:mm:ss" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


dts date and time to be set in "YYYY-MM-DD hh:mm:ss"format
type device type (ag)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

In this case value of the TTL parameter should be rather low.

Example:

<msg sq="121" command="setTime" type="ag" sn="1298" dts="2006-11-11 08:12:11" ttl="30"


src="TCP2"/>

Response:

<msg sq="121" status="SEND" src="TCP2"/>

4.3.2 Set device parameters (only AG)

<msg sq="yyy" command="setConfig" type="type" sn="sn" [server="addr"] [port="port"]


[apn="apn"] [un="user"] [pw="password] [dialNo1="dialNo1" dialCount1="dialCount1"]
[dialNo2="dialNo2" dialCount2="dialCount2"] [dialNo3="dialNo3"
dialCount3="dialCount3"] [dialNo4="dialNo4" dialCount4="dialCount4"]
[dialNo5="dialNo5" dialCount5="dialCount5"] [dialNo6="dialNo6"
dialCount6="dialCount6"] [dialNo7="dialNo7" dialCount7="dialCount7"]
[dialNo8="dialNo8" dialCount8="dialCount8"] [sms="sms"] [tperiod="tperiod"]
[tperiodSeconds="tperiodSeconds"] [key="key"] [auth="auth"] [emergency="emergency"]
[kill="true|false"] [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (ag)
sn device serial number
server server address (IP or DNS name)
port server port
apn APN name
un APN user name
pw APN password
dialNoX number of the phone that the device is allowed to respond to (X=1…4)
dialCountX number of phone bells (X=1…4)
dialNoX number of the phone that the device is allowed to respond to (X=5…8) (firmware
>=1.0rc5)
dialCountX number of phone bells (X=5…8) (firmware >=1.0rc5)
sms number of the phone to which SMS messages will be sent over (OSM server)

CONFIDENTIAL MATERIAL Printed 2017-07-19 35 / 62


tperiod frequency of sending test signal (in minutes)
tperiodSeconds frequency of sending test signal (in seconds) (firmware >=1.0rc5)
key new encryption key (the OSM server will store it in its configuration settings)
auth authorized phone number from which the device will accept un-encrypted SMS messages
emergency phone number, to which the device will try to call after pressing and holding "Call Me"
button (firmware >=0.21rc1)
kill should device reset after saving parameters to memory
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="122" command="setConfig" server="server.company.com" port="6710" apn="apnname"


un="username" pw="password" dialNo1="+48567765567" dialCount1="2" sms="+48123321456"
tperiod="5" key="0xEE12213478213478" type="ag" sn="1298" ttl="60"/>

Response:

<msg sq="121" status="SEND NO ACK" src="GSM1"/>

4.3.3 Set device parameters (only LX, CP)

<msg sq="yyy" command="setConfig" type="type" sn="sn" [server="addr"] [port="port"]


[apn="apn"] [un="user"] [pw="password] [sms="sms"] [tperiod="tperiod"] [dns1="dns1"]
[dns2="dns2"] [kill="true|false"] [ttl="TTL"] [src="src"]/>

ssq sequential number of the message


type device type (lx, cp)
sn device serial number
server server address (IP or DNS name – DNS IP address should be provided)
port server port
apn APN name
un APN user name
pw APN assword
sms number of the phone to which SMS messages will be sent over
tperiod frequency of sending test signal (in minutes)
dns1 primary DNS IP address
dns2 backup DNS IP address
kill should device reset after saving parameters to memory
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="122" command="setConfig" server="server.company.com" port="6110" apn="apnname"


un="username" pw="password" dns1="192.168.1.100" tperiod="5" type="lx" sn="221"
kill="true" ttl="60"/>

Response:

<msg sq="121" status="SEND" src="TCP_LX"/>

4.3.4 Request device parameters (only AG)

<msg sq="yyy" command="queryDeviceConfig" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq sequential number of the message

CONFIDENTIAL MATERIAL Printed 2017-07-19 36 / 62


type device type (ag)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="queryDeviceConfig" type="ag" sn="1298" ttl="30"/>

Response:

<msg sq="121" status="SEND" server="server.company.com" port="6710"


apn="apnnname" un="username" pw="password" dialNo1="+48567765567" dialCount1="2"
dialNo2="RING" dialCount2="2" dialNo3="" dialCount3="" dialNo4="2" dialCount4="2"
sms="+48123321456" tperiod="5" auth="" type="ag" src="TCP1"/>

4.3.5 Request device parameters (only LX, CP)

<msg sq="yyy" command="queryDeviceConfig" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (lx, cp)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="queryDeviceConfig" type="lx" sn="198" ttl="30"/>

Response:

<msg sq="121" status="SEND" server="server.company.com" port="6110"


apn="apnnname" un="username" pw="password" dns1="192.168.1.1" src="TCP1"/>

4.3.6 Request location (only AG)

<msg sq="yyy" command="queryDeviceLocation" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (ag)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="queryDeviceLocation" type="ag" sn="1298" ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP1" deviceLocation="Warszawa Wawer"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 37 / 62


4.3.7 Send AT command (not for PX)

<msg sq="yyy" command="sendAnyCommand" type="type" sn="sn" deviceCommand="deviceCommand"


[ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (not px only)
sn device serial number
deviceCommand command body
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="sendAnyCommand" deviceCommand="VER" type="ag" sn="1298" ttl="30"/>

Rsponse:

<msg sq="121" status="SEND" src="TCP1" sendAnyCommandResult="1.0"/>

4.3.8 Send AT command in binary mode (not for PX)


SendAnyCommandRaw command works in the same way as sendAnyCommand, the only
difference is way of deviceCommand parameter specification.

<msg sq="yyy" command="sendAnyCommandRaw" type="type" sn="sn"


deviceCommand="deviceCommand" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (not px)
sn device serial number
deviceCommand command body in hex format
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="sendAnyCommandRaw" deviceCommand="0x30112321" type="lx" sn="1298"


ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP1" sendAnyCommandResult="0xFF31"/>

4.3.9 Change input lock (only PX)

<msg sq="yyy" command="Input" num="num" blk="blk" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


type device type (px)
sn device serial number
num nput number (currently 1…8, 0=all except tamper switch, sab=tamper switch)
blk ON (lock)/ OFF (unlock)
TTL message validity period in seconds
src preferred communication mode

CONFIDENTIAL MATERIAL Printed 2017-07-19 38 / 62


Example:

<msg sq="121" command="Input" blk="ON" num="1" type="px" sn="198" ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP1"/>

4.3.10 Change input locks (only LX)

<msg sq="yyy" command="Input" numblk="numblk" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


type device type (lx)
sn device serial number
numblk nteger value which represents all input locks bit mask; setting bit value from 0 to 1
turns the lock on and setting its value from 1 to 0 turns the lock off (bit 0 – tamper
input, bit 1 – input 1 etc.)
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="Input" numblk="11" type="lx" sn="198" ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP1"/>

4.3.11 Change output state (only LX, CP or PX)

<msg sq="yyy" command="Output" num="num" state="state" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


type device type (lx, px or cp)
sn device serial number
num numer wyjścia (obecnie "aux" i "sab")
state ON (turn on)/ OFF (turn off)
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="Output" num="aux" state="ON" type="px" sn="198" ttl="30"/>

Response:

<msg sq="121" status="SEND NO ACK" src="TCP1"/>

4.3.12 Query device state (only LX, CP or PX)

CONFIDENTIAL MATERIAL Printed 2017-07-19 39 / 62


<msg sq="yyy" command="queryDeviceStatus" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type (lx, px or cp)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="queryDeviceStatus" type="px" sn="1298" ttl="30" src="TCP2"/>

Response:

<msg sq="121" status="SEND" src="TCP2"/>


<input num="1" state="ON" blk="OFF"/>

<output num="sab" state="OFF"/>
<output num="aux" state="OFF"/>
<zone num="1" state="OFF"/>
<zone num="2" state="ON"/>
<accu state="LOW"/>
<power state="OK"/>
<sabSwitch state="OFF" blk="OFF"/>
<phoneLine state="OFF"/>
</msg>

Parameters interpretation:
input
• num input number (currently 1…8)
• state ON (activated) / OFF (not activated)
• blk ON (locked) / OFF (unlocked)
output
• num output ID (currently "aux"and "sab")
• state ON (turned on) / OFF (turned off)
zone
• num zone number (currently 1 or 2)
• state ON (turned on) / OFF (turned off)
accu
• state LOW (low battery) / OK (battery OK)
power
• state LOW (no power supply) / OK (power supply OK)
sabSwitch
• state ON (relay activated) / OFF (relay not activated)
• blk ON (locked) / OFF (unlocked)
phoneLine
• state ON (phone line connected) / OFF (phone line not connected)

4.3.13 Send RS232 data (only LX or PX)

<msg sq="yyy" command="sendBinaryData" data="data" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


type device type (px lub lx)
data data in hex format
sn device serial number
TTL message validity period in seconds
src preferred communication mode

CONFIDENTIAL MATERIAL Printed 2017-07-19 40 / 62


Example:

<msg sq="121" command="sendBinaryData" data="0x0AFF1145AD" type="px" sn="1298" ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP2"/>

4.3.14 Query device software version

<msg sq="yyy" command="queryDeviceFirmwareVersion" type="type" sn="sn" [ttl="TTL"]


[src="src"]/>

sq sequential number of the message


type device type (px lub lx)
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="queryDeviceFirmwareVersion" type="px" sn="1298" ttl="30"


src="TCP2"/>

Response:

<msg sq="121" status="SEND" deviceFirmwareVersion="3.22" src="TCP2"/>

4.3.15 Reset device

<msg sq="yyy" command="resetDevice" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


type device type
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="resetDevice" type="ag" sn="1298" ttl="30"/>

Response:

<msg sq="121" status="SEND NO ACK" src="GSM1"/>

4.4 Server commands


4.4.1 Disconnect device

<msg sq="yyy" command="disconnectDevice" type="type" sn="sn" [ttl="TTL"] [src="src"]/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 41 / 62


sq sequential number of the message
type device type
sn device serial number
TTL message validity period in seconds
src preferred communication mode

Example:

<msg sq="121" command="disconnectDevice" type="ag" sn="1298" ttl="30"/>

Response:

<msg sq="121" status="SEND" src="TCP1"/>

4.4.2 Remove data from the command queue


For all kinds of device server maintains not affirmed or sent commands' queue for the certain
amount of time. There might be a necessity to remove such a queue in some situations though.

<msg sq="yyy" command="purgeQueue" type="type" sn="sn"/>

sq sequential number of the message


type device type
sn device serial number

Example:

<msg sq="121" command="purgeQueue" type="ag" sn="1298"/>

Response:

<msg sq="121" status="NOT SEND">


(and a list of not send or waiting for acknowledgement commands with "NOT
SEND"status)
</msg>

4.4.3 Send text SMS

<msg sq="yyy" command="sendSMS" phone="phone" message="message" [ttl="TTL"] [src="src"]/>

sq sequential number of the message


phone phone number (full format, e.g. +48123456789)
message message contents (UTF-8 encoding)
TTL message validity period in seconds
src device serial number

Example:

<msg sq="121" command="sendSMS" phone="+48555123456" message="Alarm in area 51"


ttl="60"/>

Response:

<msg sq="121" status="SEND" src="GSM1"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 42 / 62


4.4.4 Process SMS message received by external application
SMSreceived command may be used to process SMS messages which are received by external
application. This SMS message will be processed and treated as a usual message received
from the installed GSM modem
Attention: all SMS messages should be delivered without delays and in correct order.

<msg sq="yyy" command="SMSreceived" phone="phone" message="message" [src="src"]/>

sq sequential number of the message


phone phone number (full format, e.g. +48123456789)
message message contents (hexadecimal format)
src communication mode (if empty, it will be randomly assigned from list of GSM modems)

Example:

<msg sq="121" command="SMSreceived" phone="+48555123456" message="0x0304A3BF51"/>

Response:

<msg sq="121" status="SEND" src="GSM1"/>

4.4.5 Generate device’s link state signals


GenerateStateSignal command applies to devices which are assigned to output module
(Analyzer), which was specified in packet header:

<packet sq="sq" id="primary" count="x" rep="y">

After sending this command OSM will try to generate link state signal (still connected or still
disconnected) for every device. In this way any external application may synchronize devices
link state after connection to OSM was lost1.
Attention: frequent invoking of this command is not recommended as it may cause stalls in
communication channel and it could shorten the lifetime of flash memory (if applicable)! You
should wait at least 90 seconds since last generateStateSignal command call (the OSM will
refuse to do it with higher rate).

<msg sq="yyy" command="generateStateSignal"/>

sq sequential number of the message

Example:

<msg sq="121" command="generateStateSignal"/>

Response:

<msg sq="121" status="SEND"/>

1
You should take into account that after loosing and restoring connection to OSM devices may change their link
state to the opposite condition.

CONFIDENTIAL MATERIAL Printed 2017-07-19 43 / 62


4.4.6 Get connectors state

<msg sq="yyy" command="getConnectorsState"/>

sq sequential number of the message

Example:

<msg sq="121" command="getConnectorsState"/>

Response:

<msg sq="121" command="connectorsState">


<connector name="TCP1" type="TCP" state="WORKING" messagesIn="12" messagesOut="13"
bytesIn="340" bytesOut="130" connectionCount="1" errorCount="0"/>
<connector name="GSM1" type="GSM" state="WORKING" messagesIn="2" messagesOut="0"
bytesIn="200" bytesOut="0" connectionCount="1" errorCount="0" GSMRange="60"/>
</msg>

name connector name


type connector type ("TCP"/"UDP"/"GSM"/"SMSC")
state connector state ("WORKING"/"FAILURE")
messagesIn number of received messages
messagesOut number of send messages
bytesIn number of received bytes
bytesOut number of send bytes
connectionCount number of devices using this connector
errorCount number of errors
GSMRange GSM modem range 0-100

4.4.7 Get current Analyzer state


This command applies to output module (analyzer), which was specified in packet header

<packet sq="sq" id="primary" count="x" rep="y">

<msg sq="yyy" command="getALState"/>

sq sequential number of the message

Example:

<msg sq="121" command="getALState"/>

Response:

<msg sq="121" command="getALState" queueSize="0" state="CONNECTED"


moreDataInBuffer="false" isBusy="false"/>

queueSize number of events waiting to be sent to Analyzer


moreDataInBuffer "false"- queueSize represents a total number of messages waiting to be sent,
"true"- there is more events in nonvolatile buffer
state "CONNECTED"or "DISCONNECTED"
isBusy whether sending events to Analyzer is ceased (analyzer is busy)

4.4.8 Cease events sending to Analyzer


This command applies to output module (Analyzer), which was specified in packet header:.

CONFIDENTIAL MATERIAL Printed 2017-07-19 44 / 62


<packet sq="sq" id="primary" count="x" rep="y">

You may use this command many times, previous settings are overridden by the new ones.

<msg sq="yyy" command="setALBusy" setBusy="setBusy" [busyTime="busyTime"]/>

sq sequential number of the message


setBusy "true"– cease sending events, "false"– resume sending events
busyTime amount of time in seconds for which cease sending events (if omitted 60 seconds is
used)

Example:

<msg sq="121" command="setALBusy" setBusy="true" busyTime="30"/>

Response:

<msg sq="121" status="SEND"/>

4.4.9 Get cease events sending state


This command applies to output module (Analyzer), which was specified in packet header:

<packet sq="sq" id="primary" count="x" rep="y"

<msg sq="yyy" command="isALBusy"/>

sq sequential number of the message

Example:

<msg sq="121" command="isALBusy"/>

Response:

<msg sq="121" command="isALBusy" isBusy="false"/>

4.4.10 Get event queue size


This command applies to output module (Analyzer), which was specified in packet header:

<packet sq="sq" id="primary" count="x" rep="y">

<msg sq="yyy" command="getALQueueSize"/>

sq sequential number of the message

Example:

<msg sq="121" command="getALQueueSize"/>

Response:

CONFIDENTIAL MATERIAL Printed 2017-07-19 45 / 62


<msg sq="121" command="getALQueueSize" queueSize="0" moreDataInBuffer="false"/>

queueSize number of events waiting to be sent to Analyzer


moreDataInBuffer "false"- queueSize represents a total number of messages waiting to be sent,
"true"- there is more events in nonvolatile buffer

4.4.11 Get server version

<msg sq="yyy" command="getServerVersion"/>

sq sequential number of the message

Przykład:

<msg sq="121" command="getServerVersion"/>

Response:

<msg sq="121" command="serverVersion" version="0.9"/>

4.4.12 Get server license

<msg sq="yyy" command="getServerLicense"/>

sq sequential number of the message

Example:

<msg sq="121" command="getServerLicense"/>

Response:

<msg sq="121" command="serverLicense" clientId="371" agCount="1000" pxCount="1000"


licenseMinutesLeft="0"/>

clientId client identifier (0 – no license)


agCount number of Active Guard devices support by the server
pxCount number of PX devices support by the server
licenseMinutesLeft number of minutes left to license expiration (0 – unlimited)

4.4.13 Get OSM startup time

<msg sq="yyy" command="getStartupTime"/>

sq sequential number of the message

Example:

<msg sq="121" command="getStartupTime"/>

Response:

<msg sq="121" command="getStartupTime" time="2007-10-10 11:31:41"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 46 / 62


time date and time of OSM startup in "yyyy-mm-dd hh:mm:ss"format, GMT0 zone

4.4.14 Get OSM current time

<msg sq="yyy" command="getCurrentTime"/>

sq sequential number of the message

Example:

<msg sq="121" command="getCurrentTime"/>

Response:

<msg sq="121" command="getCurrentTime" time="2007-11-20 21:11:09"/>

time OSM’s current date and time in "yyyy-mm-dd hh:mm:ss"format, GMT0 zone

4.4.15 Get operating system name

<msg sq="yyy" command="getOSName"/>

sq sequential number of the message

Example:

<msg sq="121" command="getOSName"/>

Response:

<msg sq="121" command="getOSName" name="Linux 2.6.23embed"/>

or

<msg sq="121" command="getOSName" name="Windows XP Professional Dodatek Service Pack 2


(build 2600)"/>

name name of operating system

4.4.16 Restart or exit OSM service


OSM main program depends on an external service which is responsible for restarting OSM
main program in case of any errors, malfunctions, restarts etc. For Windows OS this service is
an exe file "svc.exe"which is started normally during boot by Windows system service. In
case of Linux OS this external service is a dedicated batch script. Thus, a result of "restart or
exit OSM service"command depends on the method of OSM installation. EBS provides
systems in which OSM main program is always started in a controlled way, thus it is
guaranteed that OSM main program would restart for this command.

<msg sq="yyy" command="exitOrRebootOSM"/>

sq sequential number of the message

Example:

CONFIDENTIAL MATERIAL Printed 2017-07-19 47 / 62


<msg sq="121" command="exitOrRebootOSM"/>

Response:

<msg sq="121" command="exitOrRebootOSM"/>

4.5 OSM configuration commands

OSM configuration is divided into two types: "running"and "configured". Both types
of configurations are equal to each other right after start of OSM. The differences appear after
changing OSM settings. It is recommended that application which shows and modifies OSM
settings should be able to display both types of configuration. For every command of this type
as a result we get "result"XML attribute with following values:
 CONFIGURED – values has been saved and will be used after OSM restart
 CONFIGURED_AND_RUNNING – values has been saved and made current
 CONFIGURED_PARTIALLY_RUN – all values has been saved and some of them
made current
 ERROR – an error occurred during configuration phase (e.g. wrong module name
was used)
Only some of parameters are validated by OSM during configuration phase. These are: name
of changed object ("name") and type of configuration ("type"). If these parameters are invalid
or analyzer is not authorized for changing OSM settings then error code (errorCode) and
error description (errorDesc) are returned as a result. Application which modifies OSM
settings is responsible for settings valid values for all parameters (see OSM manual).

4.5.1 Get authorization level

<msg sq="yyy" command="getAuthLevel"/>

sq sequential number of the message

Example:

<msg sq="121" command="getAuthLevel"/>

Response:

<msg sq="121" command="getAuthLevel" level="NONE"/>

level access level to OSM configuration (NONE/READ/READ_WRITE)

4.5.2 Get general settings

<msg sq="yyy" command="getOSMConfig" type="running|configured"/>

sq sequential number of the message


type type of configuration (running or configured)

CONFIDENTIAL MATERIAL Printed 2017-07-19 48 / 62


Example:

<msg sq="121" command="getOSMConfig" type="running"/>

Response:

<msg sq="121" command="getOSMConfig" commandListeningPort="9000" autoAddDevices="false"/>

commandListeningPort TCP port number


autoAddDevices state of auto adding unknown device function

4.5.3 Set general settings

<msg sq="yyy" command="setOSMConfig" [commandListeningPort="port"]


[autoAddDevices="true|false"]/>

sq sequential number of the message


port TCP port number
autoAddDevices state of auto adding unknown device function

Example:

<msg sq="121" command="setOSMConfig" commandListeningPort="8888"/>

Response:

<msg sq="121" command="setOSMConfig" result="CONFIGURED"/>

4.5.4 Get watchdog settings


Hardware watchdog is implemented by motherboard BIOS and available only for Linux
systems.

<msg sq="yyy" command="getWatchdogConfig" type="running|configured"/>

sq sequential number of the message


type type of configuration (running or configured)

Example:

<msg sq="121" command="getWatchdogConfig" type="configured"/>

Response:

<msg sq="121" command="getWatchdogConfig" periodMinutes="3"


deactivateOnProperExit="true"/>

sq sequential number of the message


periodMinutes maximal period of OSM inactivity
deactivateOnProperExit deactivate watchdog on proper OSM main program exit (by default "true"),
empty value means that watchdog is disabled

CONFIDENTIAL MATERIAL Printed 2017-07-19 49 / 62


4.5.5 Set watchdog settings
Hardware watchdog is implemented by motherboard BIOS and available only for Linux
systems.

<msg sq="yyy" command="setWatchdogConfig" [periodMinutes="period"]


[deactivateOnProperExit="true|false"]/>

sq sequential number of the message


periodMinutes maximal period of OSM inactivity
deactivateOnProperExit deactivate watchdog on proper OSM main program exit (by default "true"),
empty value means that watchdog is disabled

Example:

<msg sq="121" command="setWatchdogConfig" periodMinutes="5"/>

Response:

<msg sq="121" command="setWatchdogConfig" result="CONFIGURED"/>

4.5.6 Get connectors settings

<msg sq="yyy" command="getConnectorsConfig" type="running|configured"


[name="name"]/>

sq sequential number of the message


type type of configuration (running or configured)
name name of connector (optional)

Example:

<msg sq="121" command="getConnectorsConfig" type="configured"/>

Response (last entry empty):

<msg sq="121" command="getConnectorsConfig" name="TCP1" port="6831" proto="tcp"


device="ag"/>
<msg sq="121" command="getConnectorsConfig" name="gsm1" port="/dev/ttyS3" proto="gsm"
device="any" baudRate="115200" characterSize="8" parity="N" stopBits="1" pin="1234"
prefix="+48"/>
<msg sq="121" command="getConnectorsConfig" name=""/>

sq sequential number of the message


name name of connector
proto name of protocol ("tcp", "udp", "gsm"or "smsc")
port name of serial port device or network port number (TCP/IP or UDP)
TCPKeepAliveSeconds period of sending TCP keepalive packets (disconnect after 5 periods)
baudRate serial port baud rate
characterSize serial port character size
parity serial port parity
stopBits serial port stop bits
pin GSM modem pin number
prefix default prefix for phone numbers
virtualDeviceType type of virtual device for failures notifications, empty string turns off
notifications
virtualDevice serial number of virtual device for failures notifications, empty string turns off
notifications

CONFIDENTIAL MATERIAL Printed 2017-07-19 50 / 62


4.5.7 Set connector settings

<msg sq="yyy" command="setConnectorConfig" name="name" device="device"


[newName="newName"] proto="proto"[port="port"]
[TCPKeepAliveSeconds="TCPKeepAliveSeconds"] [baudRate="true|false"
characterSize="characterSize" parity="parity" stopBits="stopBits" pin="pin"
prefix="prefix"][virtualDeviceType="virtualDeviceType"]
[virtualDevice="virtualDevice"] [editOrAdd="true|false"]/>

sq sequential number of the message


name name of connector
newName new name of connector
proto name of protocol ("tcp", "udp", "gsm"or "smsc")
port name of serial port device or network port number (TCP/IP or UDP)
TCPKeepAliveSeconds period of sending TCP keepalive packets (disconnect after 5 periods)
baudRate serial port baud rate
characterSize serial port character size
parity serial port parity
stopBits serial port stop bits
pin GSM modem pin number
prefix default prefix for phone numbers
virtualDeviceType type of virtual device for failures notifications, empty string turns off
notifications
virtualDevice serial number of virtual device for failures notifications, empty string turns off
notifications
editOrAdd whether to create a new connector if it does not exist ("false"by default)

Example:

<msg sq="121" command="setConnectorConfig" name="TCP4" newName="TXP_LX" device="lx"


proto="tcp" port="1234" TCPKeepAliveSeconds="120" editOrAdd="true"/>

Response:

<msg sq="121" command="setConnectorConfig" result="CONFIGURED"/>

4.5.8 Remove connector

<msg sq="yyy" command="delConnectorConfig" name="name"/>

sq sequential number of the message


name name of connector

Example:

<msg sq="121" command="delConnectorConfig" name="TCP4"/>

Response:

<msg sq="121" command="delConnectorConfig" result="CONFIGURED"/>

4.5.9 Get buffers settings

<msg sq="yyy" command="getBuffersConfig" type="running|configured"/>

sq sequential number of the message

CONFIDENTIAL MATERIAL Printed 2017-07-19 51 / 62


type type of configuration (running or configured)

Example:

<msg sq="121" command="getBuffersConfig" type="configured"/>

Response:

<msg sq="121" command="getBuffersConfig" location="/mnt/buffers" maxSize="100m"


availableSpace="128M"/>

sq sequential number of the message


location main directory of buffers files (read-only attribute for Linux systems); empty string
means OSM program working/installation directory
maxSize default size for every buffer file, value may end with ‘K’ or ‘M’ suffixes (multiplications
of 1024 or 1024*1024 respectively)

4.5.10 Set buffer settings

<msg sq="yyy" command="setBuffersConfig" [location="location"] [maxSize="maxSize"]/>

sq sequential number of the message


location main directory of buffers files (read-only attribute for Linux systems); empty string
means OSM program working/installation directory
maxSize default size for every buffer file, value may end with ‘K’ or ‘M’ suffixes (multiplications
of 1024 or 1024*1024 respectively)

Example:

<msg sq="121" command="setBuffersConfig" maxSize="10m"/>

Response:

<msg sq="121" command="setBuffersConfig" result="CONFIGURED"/>

4.5.11 Get groups settings

<msg sq="yyy" command="getGroupsConfig" type="running|configured" [name="name"]/>

sq sequential number of the message


type type of configuration (running or configured)
name name of group (optional)

Example:

<msg sq="121" command="getGroupsConfig" type="configured"/>

Response (last entry empty):

<msg sq="121" command="getGroupsConfig" name="GR1" ackMethod="one" default="false"


buffername="buf1" retryTime="15" maxMessages="64000" maxSize="20m"
analysersCount="2" analyserRef1="AL1" analyserRefMandatory1="true"
analyserRef2="Al2" analyserRefMandatory2="false"/>
<msg sq="121" command="getGroupsConfig" name=""/>

sq sequential number of the message

CONFIDENTIAL MATERIAL Printed 2017-07-19 52 / 62


name name of the group
ackMethod acknowledge method
default whether this group is default
buffername buffer file name (full name of buffer consists of: buffers location, file name
and ".buf"extension)
retryTime retry time in seconds of resending unacknowledged messages, empty value
means 15 seconds
maxMessages maximal number of messages
maxSize maximal size of buffer
analysersCount number of analyzers assigned to the group
analyserRefx name of x analyzer
analyserRefMandatoryx whether x analyzer should always acknowledge messages (applicable for
ackMethod "one")

4.5.12 Set group settings

<msg sq="yyy" command="setGroupConfig" name="name" [newName="name"]


[ackMethod="ackMethod"] [default="true|false"] [buffername="buffername"]
[retryTime="retryTime"] [maxMessages="maxMessages"] [maxSize="maxSize"]
[analysersCount="analysersCount" analyserRefx="analyserRefx"
analyserRefMandatoryx="true|false"…] [editOrAdd="true|false"]/>

sq sequential number of the message


name name of the group
newName new name of the group
ackMethod acknowledge method
default whether this group is default
buffername buffer file name (full name of buffer consists of: buffers location, file name
and ".buf"extension)
retryTime retry time in seconds of resending unacknowledged messages, empty value
means 15 seconds
maxMessages maximal number of messages
maxSize maximal size of buffer
analysersCount number of analyzers assigned to the group
analyserRefx name of x analyzer
analyserRefMandatoryx whether x analyzer should always acknowledge messages (applicable for
ackMethod "one")
editOrAdd whether to create a new group if it does not exist ("false"by default)

Example:

<msg sq="121" command="setGroupConfig" name="GR1" retryTime="30"/>

Response:

<msg sq="121" command="setGroupConfig" result="CONFIGURED_AND_RUNNING"/>

4.5.13 Remove group

<msg sq="yyy" command="delGroupConfig" name="name"/>

sq sequential number of the message


name name of the group

Example:

<msg sq="121" command="delGroupConfig" name="GR1"/>

Response:

CONFIDENTIAL MATERIAL Printed 2017-07-19 53 / 62


<msg sq="121" command="delGroupConfig" result="CONFIGURED"/>

4.5.14 Get analyzers settings

<msg sq="yyy" command="getAnalysersConfig" type="running|configured" [name="name"]


[encryptAuthPassWithRSAKey="key"]/>

sq sequential number of the message


type type of configuration (running or configured)
name name of analyzer (optional)
key 2048-bit asymmetric RSA key for passwords encryption passed in ASN.1 syntax as a
modulus and exponent, hexadecimal notation with "0x"prefix

Example:

<msg sq="121" command="getAnalysersConfig" type="configured"


encryptSharePassWithRSAKey="0x3082010902820100BBDA4D26E818992A69E41C73F91C1463DFCC18
D05BDB8A3513E8184C69292D9E4B1DA654FB00051F393D706AF350A426FE984A141F9B0492DADBDB917A
B02A63F2DE52274906C44C5C1E92E0241494946EF8DB47F07D300823318DDDF35ACFC6EC169CCE1EA256
0E1F98966A104A0602C36CF1D39ED70BA88D2A180C7778AA32CC5C9AA0165670E55CF78CC58309612B05
884C30473F4665DB4A66A2643D629443B121FA986DD4AA7C80FA374CFE78A63EAA0DE41BD85F7888608D
E1D80E30078A0C7375E91BD46FEA6E07E354976A919348CA36F20F61DB46EACC72C16F23FC317280BE01
3931F1D95A8DC1E0001730BBF56E6E06B502FF1BC43452B297FCB90203010001"/>

Response (last entry empty):

<msg sq="121" command="getAnalysersConfig" name="AL1" addr="192.168.1.0" port="7000"


proto="TCP" format="XML" authLevel="READ_WRITE" authPassCount="1"
authPass1="0x5225FBDC4875983FBAA8DCB9388C4B19F080094889D39C8188AE7F0088C29462681CBBA
BCEC25A0F7672C086E6129BFABFBD3ACA8CE4E97C615F8E7274E0CA6021406EE9BFED5FCC310F3881A59
89A1AE10D7E23E24247051D6577CFFD6E5706BBE6FA66FE05BF181642BC49A96539732138C654177DA83
BB9AB160AF4ADFF9C00ECC9BF90A315C7303C191A79F698E35FFD4A7F5BD25169E667AF89FC2759C5734
CF486F75C14DBCE160E091636A6A7A532E8236C1891E670D5519AD79DAD19C125CD348E29B5CA4882D72
7D014DFC8B4D25A603A5F6272BB17E8D97830B2B19927CA23C5958050702EA227CBFB5724D465F858FD5
D958B8875A1B451C850CC" authPassDesc1="haslo 1"
encryptAuthPassWithRSAKey="0x30820108028201010095F3082C8D549EE73848E84FABC21269FB9BB
4233238B84D453DBD5B55FEF92BA64F6A2825E49EEBD031FC428D90C0CA86DC30CC0DF8E7D46172B71EC
0C2E1C9A85BB44E3DC6AC53575183B733CA44615C51D297500FFAEDAAB283DD7A5733B7BE845EDB0B7E5
80722108221ED86623C4C3A3C3C18834339CDF8500A7E751F0A0B4C230C9A2AD128BCB2083185558B768
D3B484A9C0AF8A89BBFC084B43AE5D4A8698ACB0C8BBD0CF5393A3870EA9AB8FEADCB27D446FEE566498
6AFFABD962B16A92DE9A2A7D06EE87A1B750CC535893BE5E75C7DEC00E57177B7DBB3DE7E946FCD058E6
35521EC83FFB51AF0BF1F4C7E1E503A72084B2045035D3D7916292F020123"/>
<msg sq="121" command="getAnalyzersConfig" name=""/>

sq sequential number of the message


name name of the analyzer
addr IP address of analyzer (applicable for "tcp", "udp"or "db")
port IP port number or serial port device name (applicable for "tcp", "udp", "rs232"or "db")
proto type of protocol (possible values: "tcp", "udp", "rs232", "db")
format data fromat (possible values: "XML", "CID", "SIA"for "tcp", "udp", "rs232"or
"DB_PQ"for "db")
user database user name (applicable for "db")
password database user password (applicable for "db")
db database name (applicable for "db")
baudRate serial port baud rate (applicable for "rs232")
characterSize serial port character size (applicable for "rs232")
parity serial port parity (applicable for "rs232")
stopBits serial port stop bits (applicable for "rs232")
authLevel access level to OSM configuration (possible values: "NONE", "READ"or
"READ_WRITE")
authPassCount number of passwords for analyzer (available only when RSA key was not empty in
request)

CONFIDENTIAL MATERIAL Printed 2017-07-19 54 / 62


authPassx x password encrypted with given RSA key
authPassDescx description of x password
encryptAuthPassWithRSAKey
2048-bit asymmetric RSA key generated by OSM for passwords encryption passed in
ASN.1 syntax as a modulus and exponent, hexadecimal notation with "0x"prefix

4.5.15 Set analyzer settings

<msg sq="yyy" command="setAnalyserConfig" name="name" [newName="newName"] [addr="addr"]


[port="port"] [proto="proto"] [baudRate="true|false" characterSize="characterSize"
parity="parity" stopBits="stopBits"][format="format"] [user="user"
password="password" db="db"] [authCount="authCount" authPassx="authPassx"
authPassDescx="authPassDescx" …] [authLevel="authLevel"] [editOrAdd="true|false"]/>

sq sequential number of the message


name name of the analyzer
newName new name of analyzer
addr IP address of analyzer (applicable for "tcp", "udp"or "db")
port IP port number or serial port device name (applicable for "tcp", "udp", "rs232"or "db")
proto type of protocol (possible values: "tcp", "udp", "rs232", "db")
format data fromat (possible values: "XML", "CID", "SIA"for "tcp", "udp", "rs232"or
"DB_PQ"for "db")
user database user name (applicable for "db")
password database user password (applicable for "db")
db database name (applicable for "db")
baudRate serial port baud rate (applicable for "rs232")
characterSize serial port character size (applicable for "rs232")
parity serial port parity (applicable for "rs232")
stopBits serial port stop bits (applicable for "rs232")
authLevel access level to OSM configuration (possible values: "NONE", "READ"or
"READ_WRITE")
authPassCount number of passwords for analyzer
authPassx x password encrypted with OSM RSA key (received from last get analyzers settings
command)
authPassDescx description of x password
editOrAdd whether to create a new analyzer if it does not exist ("false"by default)

Example:

<msg sq="121" command="setAnalyserConfig" name="AL1" addr="192.168.1.100"/>

Response:

<msg sq="121" command="setAnalyserConfig" result="CONFIGURED"/>

4.5.16 Remove analyzer

<msg sq="yyy" command="delAnalyserConfig" name="name"/>

sq sequential number of the message


name name of analyzer

Example:

<msg sq="121" command="delAnalyserConfig" name="AL2"/>

Response:

CONFIDENTIAL MATERIAL Printed 2017-07-19 55 / 62


<msg sq="121" command="delAnalyserConfig" result="CONFIGURED"/>

4.5.17 Get backup settings


OSM backup is available only for Linux OS. It is possible to set simultaneously one storage
device (USB flash memory) and one network share.

<msg sq="yyy" command="getBackupConfig" type="running|configured"


[encryptSharePassWithRSAKey="key"]/>

sq sequential number of the message


type type of configuration (running or configured)
key 2048-bit asymmetric RSA key for network share passwords encryption passed in ASN.1
syntax as a modulus and exponent, hexadecimal notation with "0x"prefix

Example:

<msg sq="121" command="getBackupConfig" type="configured"/>

Response:

<msg sq="121" command="getBuffersConfig" device="/dev/sda1" shareIP="192.168.7.2"


sharePath="backups" shareUser="osm" sharePass="" intervalSeconds="120"
compression="1" availableDevicesCount="2" backupDevice1="/dev/sda1"
backupDevice2="/dev/sda2"
encryptSharePassWithRSAKey="0x30820108028201010095F3082C8D549EE73848E84FABC21269FB9B
B4233238B84D453DBD5B55FEF92BA64F6A2825E49EEBD031FC428D90C0CA86DC30CC0DF8E7D46172B71E
C0C2E1C9A85BB44E3DC6AC53575183B733CA44615C51D297500FFAEDAAB283DD7A5733B7BE845EDB0B7E
580722108221ED86623C4C3A3C3C18834339CDF8500A7E751F0A0B4C230C9A2AD128BCB2083185558B76
8D3B484A9C0AF8A89BBFC084B43AE5D4A8698ACB0C8BBD0CF5393A3870EA9AB8FEADCB27D446FEE56649
86AFFABD962B16A92DE9A2A7D06EE87A1B750CC535893BE5E75C7DEC00E57177B7DBB3DE7E946FCD058E
635521EC83FFB51AF0BF1F4C7E1E503A72084B2045035D3D7916292F020123"/>

sq sequential number of the message


device storage device name
shareIP IP address of network share
sharePath network share name (without subdirectories)
shareUser name of network share user
sharePass encrypted password of network (available only when RSA key was not empty
in request)
intervalSeconds interval of backups (not less than 10 seconds)
compression whether to compress backup files ("0"or "1")
availableDevicesCount number of connected storage devices
backupDevicex x name of connected storage devices

encryptSharePassWithRSAKey
2048-bit asymmetric RSA key generated by OSM for network share passwords
encryption passed in ASN.1 syntax as a modulus and exponent, hexadecimal
notation with "0x"prefix

4.5.18 Set backup settings

<msg sq="yyy" command="setBackupConfig" [device="device"] [shareIP="shareIP"]


[sharePath="sharePath"] [shareUser="shareUser"] [sharePass="sharePass"]
[intervalSeconds="intervalSeconds"] [compression="(0|1)"]/>

sq sequential number of the message


device storage device name
shareIP IP address of network share

CONFIDENTIAL MATERIAL Printed 2017-07-19 56 / 62


sharePath network share name (without subdirectories)
shareUser name of network share user
sharePass encrypted password of network (available only when RSA key was not empty in
request)
intervalSeconds interval of backups (not less than 10 seconds)
compression whether to compress backup files ("0"or "1")

Example:

<msg sq="121" command="setBackupConfig" intervalSeconds="1800"/>

Response:

<msg sq="121" command="setBackupConfig" result="CONFIGURED_AND_RUNNING"/>

5. Example of conversation between AL and CS (TCP/IP)


1. CS listens..

2. AL connects to CS and sends commands:

<?xml version="1.0" encoding="UTF-8"?>


<xml_al>
<packet sq="1" id="primary" count="3" rep="1">
<msg sq="120" command="queryDeviceStatus" type="px" sn="2000" ttl="60"/>
<msg sq="121" command="Input" num="0" blk="ON" type="px" sn="2001" ttl="60"/>
<msg sq="122" command="setConfig" dialNo1="+48567765567" dialCount1="2"
dialNo2="" dialNo3="" dialNo4="" sms="+48123321456" testPeriod="5"
key="0xEE12213478" type="ag" sn="1298" ttl="60" src="TCP2"/>
</packet>

3. CS responds:

<?xml version="1.0" encoding="UTF-8"?>


<xml_cs>
<packet sq="1" id="CS1" count="2" rep="1">
<msg sq="120" status="SEND" src="TCP2">
<input num="1" state="OFF" blk="OFF"/>
<input num="2" state="OFF" blk="OFF"/>
<input num="3" state="OFF" blk="OFF"/>
<input num="4" state="OFF" blk="OFF"/>
<input num="5" state="OFF" blk="OFF"/>
<input num="6" state="OFF" blk="OFF"/>
<input num="7" state="OFF" blk="OFF"/>
<input num="8" state="OFF" blk="OFF"/>
<output num="sab" state="OFF"/>
<output num="aux" state="OFF"/>
<zone num="1" state="OFF"/>
<zone num="2" state="ON"/>
<accu state="LOW"/>
<power state="OK"/>
<sabSwitch state="OFF" blk="OFF"/>
</msg>
</packet>

4. After some time CS continues:

<packet sq="2" id="CS1" count="2" rep="1">


<msg sq="121" status="SEND NO ACK" src="GSM1"/>
<msg sq="122" status="NOT SEND" src="TCP2"/>

CONFIDENTIAL MATERIAL Printed 2017-07-19 57 / 62


</packet>

5. AL re-sends (without specifying src):

<packet sq="2" id="primary" count="3" rep="1">


<msg sq="123" command="setConfig" dialNo1="+48567765567" dialCount1="2" dialNo2=""
dialNo3="" dialNo4="" sms="+48123321456" testPeriod="5" key="0xEE12213478213478"
type="ag" sn="1298" ttl="60"/>
</packet>

6. CS responds::

<packet sq="3" id="CS1" count="1" rep="1">


<msg sq="123" status="SEND NO ACK" src="GSM1"/>
</packet>

7. To disconnect, AL sends::

</xml_al>

8. CS disconnects and sends:

</xml_cs>

9. Both parties shut the communication session down.

6. Short listing of parameters and commands

AG type AG type
Parameter PX/EX LX/PXN/PXD CP
(≤65535) (>65535)
Access code (ac) ● ● ●
● ○ (0-7 ASCII (0-7 ASCII (0-7 ASCII
(4 digits)
characters) characters) characters)

Cipher key (key) ● ● ● ●


○ (64 bits) (252 bits) (252 bits) (252 bits)

Separate SMS
cipher key ○ ○ ● ● ●
(252 bits) (252 bits) (252 bits)
(SMSkey)

Cipher algorithm ● ● ● ●
(cipher) ○ (DES) (AES256) (AES256) (AES256)

DTMF decoding
(DataDecode) ● ○ ○ ● ○

DTMF object
number ● ○ ○ ● ○
(DataObjNum)
AG type – AG/AT/FP/SD

CONFIDENTIAL MATERIAL Printed 2017-07-19 58 / 62


AG type AG type
Command PX/EX LX/PXN/PXD CP
(≤65535) (>65535)
setTime ○ ● ● ● ●
setConfig ○ ● ● ● ●
queryDeviceConfig ○ ● ● ● ●
queryDeviceLocation ○ ● ○ ○ ○
sendAnyCommand ○ ● ● ● ●
sendAnyCommandRaw ○ ● ● ● ●
input ● ○ ○ ● ●
output ● ○ ○ ● ●
queryDeviceStatus ● ○ ○ ● ○
sendBinaryData ● ○ ○ ● ○
queryDeviceFirmwareVersion ● ● ● ● ●
resetDevice ● ● ● ● ●
disconnectDevice ● ● ● ● ●
purgeQueue ● ● ● ● ●
AG type – AG/AT/FP/SD

7. Document history
7.1 Changes and corrections
7.1.1 Changes for version 1.1.0
• Section 4.2.3 ac parameter added.
• Section 4.2.3 example response corrected.
• Section 4.2.4 example response corrected.
• Tamper switch added as another input.
• Example request corrected, num parameter added.
• Section 4.2.6 example request corrected, num parameter added.

7.1.2 Changes for version 1.2.0


• Section 3.2.5 server events added.
• Section 4.1 list of available error codes added.
• Entry with empty values at the end of list added.
• Entry with empty values at the end of list added.
• Send SMS command added.
• Get connectors state command added.
• Get server version command added.

CONFIDENTIAL MATERIAL Printed 2017-07-19 59 / 62


7.1.3 Changes for version 1.3.0
• Parameters description changed.
• New events for Active Guard and PX devices added, LX events table added.
• CONNECTING event described.
• Sample scenario added.
• New error codes added.
• Authentication commands added.
• Full version of querySchemas added.
• Parameters added.
• Parameters added.
• Full version of queryDevices added.
• Parameters added.
• New command status added.
• Detailed information about sending commands to Active Guard devices added.
• Set LX configuration command added.
• Get LX configuration command added.
• Send AT command added.
• Send AT command in binary mode added.
• Change input locks of LX device command added.
• PhoneLine to PX status added.
• Disconnect device command added.
• SMSreceived command added.
• generateStateSignal command added.
• getALState command added.
• etALBusy command added.
• isALBusy command added.
• getALQueueSize command added.
• get server license command added.
• get OSM startup time command added.
• get current OSM time command added.

7.1.4 Changes for version 1.4.0


• New error code added.
• Group parameter added.
• New command added.
• New command added.
• New command added.
• New commands added.

7.1.5 Changes for version 1.4.1


• Dodano parametr autoAddDevices.
• Dodano parametr TCPKeepAliveSeconds.

7.1.6 Changes for version 1.4.2


• New events for LX devices added.

7.1.7 Changes for version 1.4.3


• New events for LX devices added.
• Modify device parameters command changed.

7.1.8 Changes for version 1.4.4


• New events for AG devices added.

CONFIDENTIAL MATERIAL Printed 2017-07-19 60 / 62


• Added list of AG modifiers.
• ac and SMSKey parameters made available for AG.

7.1.9 Changes for version 1.4.5


• outputGroup2 parameter added.

7.1.10 Changes for version 1.4.6


• New events for AG devices added.

7.1.11 Changes for version 1.4.7


• New event newAddress added.
• Added information about the disconnect TCP/IP connection after 2 minutes.
• Added parameter ALNetworkAddressss.

7.1.12 Changes for version 1.4.8


• New device type (gd) added.
• New LX exvents (jamming) and new events table for GD devices.
• Section new device type GD added.
• Column with GD commands added.

7.1.13 Changes for version 1.4.9


• "gps" modifier added.

7.1.14 Changes for version 1.4.10


• "gps" modifier modified for 2D mode.
• Event codes list is updated, eg. are added CFG_START, FRMUP_START, TMPON,
FRM_CHANGED.

7.1.15 Changes for version 1.4.11


• Device type name changed from GD to CP.
• Modifiers for CP
• Event codes list is updated for CP: outxTmpBegin / outxTmpEnd, kpoutFail,
kpoutRestore, aux1Fail, aux1Restore, aux2Fail, aux2Restore, keypad0lost,
kaypad0restore, keypad0powerFailure, keypad0powerRestore, timeLost,
configChanged, keypad0tmpBegin, keypad0tmpRestore.

7.1.16 Changes for version 1.4.12


• Name change of atrribute ‘partitions’ to ‘parts’ for CP.

7.1.17 Changes for version 1.4.13


• Event ‘read’ added to AT.

7.1.18 Changes for version 1.4.14


• Edited event Input1Arm for AG/AT; added event LOCATION for AT.

7.1.19 Changes for version 1.4.15


• Explanation for additional data for "CONNECTING"event. for AT.

7.1.20 Changes for version 1.4.17


• New input line type 24H_FIRE for CP.

CONFIDENTIAL MATERIAL Printed 2017-07-19 61 / 62


7.1.21 Changes for version 1.4.18
• New input line types PERIMETER and PERIMETER_EXIT for CP.
• New input line types 24H_GAS and 24H_WATER for CP.
• Added missing AUX3 LX events.
• Added missing events description for new devices FP and SD.
• Fixed modifiers table.

7.1.22 Changes for version 1.4.19


• New events fo CP added: SERVICE[X]_BEGIN, SERVICE[X]_END,
MALFUNCTION[X]_BEGIN, MALFUNCTION[X]_END.
• Event table for LX device filled with AUX3 events.
• Event table for LX device AG-AT filled with information about new devices FP and
SD.

7.1.23 Changes for version 1.5.0


• Thorough change of document format, style and appereance. Version unification.
• Tables appereance revamped.
• Some headers has been changed.

7.1.24 Changes for version 1.5.1


• LOCATION_UPDATE event description modified for AG device family.

7.1.25 Changes for version 1.5.2


• New input line types NIGHT and NIGHT_PREALARM for CP.

CONFIDENTIAL MATERIAL Printed 2017-07-19 62 / 62

You might also like