Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

 

Communication Protocol 
Specifications 
 
   

 
 
Communication Protocol 
 

 
Revision history 

Scope 

References 

Conventions and Definitions 


Typographic conventions 
Terms and Definitions 
ACK - Acknowledgement 
Authentication 
Central Station Receiver - “CSR” 
Frame 
IP Address 
NAK - Negative Acknowledgment 
Premises equipment - “PE” 

Requirements 
Media 
IP Addresses 
Transport protocol 
Messages 
Format 
Message fields. 
00 - Timestamp 
01 - Source checker 
02 - Assign checker 
03 - Signal level 
04 - Link test or keepalive 
05 - Contact ID event 
06 - Sequence 
07 - ACK 
08 - NACK 
09 - Programming string 
10 - Keyboard 
11 - Input/Output read 
12 - Output write 

 
Netio SRL 1 
 
Communication Protocol 
 

13 - Request PE firmware version 


14 - Connection timeout 
15 - Request control panel status (for DSC™ Control Panels) 
16 - CSR sequence 
Limitations 

Message details 
Authentication token (checker) 
PE originated messages 
Link test 
Contact ID event report 
CSR originated messages 
Keypad control 
Key press command 
DSC Power™ Series special keys 
Request control panel status 
Enable/Disable status reports 
DSC™ Power Series status reports 
STQ command details 
PE programming messages 
PE input/output control 
 
   

 
Netio SRL 2 
 
Communication Protocol 
 

Revision history 
● Rev 1.0 - 2016-11-29 
○ First revision. 
● Rev 1.1 - 2016-12-01 
○ DSC special keys added 
○ Orthographic corrections 
● Rev 2.0 - 2017-01-20 
○ Added commands 14, 15, 16 
 

Scope 
 
 
This draft specifies the protocol and related details to report alarm events (but not limited) from 
premises equipments developed by Netio SRL to a central station using the internet protocol (IP) to 
carry the event content. This protocol is not limited to report alarm events, but also to program and 
control the premises equipment. Premises equipment included are alarm control panel 
communicators, vehicle location equipment and can be expanded to other possibilities. 

References 
 
The following document provides referential information: 
DC-05 Security Industry Association, “Contact ID” Communication Protocol 

Conventions and Definitions 


 

Typographic conventions 
Elements of messages are enclosed in greater and lesser symbols “<​>” ​and may consist of one or 
more bytes. Greater/Lesser symbols do not appear in the transmitted message. 
Complete messages are enclosed in a frame. 
Italic​ font is used for variable elements in a message. 

 
Netio SRL 3 
 
Communication Protocol 
 

Terms and Definitions 

ACK - Acknowledgement 
A return message indicating the correct receipt of a transmitted message. 

Authentication 
A process to assure that a received message is not a counterfeit sent by an unauthorized sender. 

Central Station Receiver - “CSR” 


Server software or hardware that receives connections from premises equipments and manages 
information, commands and transmits events to central station. 

Frame 
The elements that make up a complete message for this protocol. 

IP Address 
The unique identifier number assigned to a device on an IP network 

NAK - Negative Acknowledgment 


A return message indicating rejection of a transmitted message. 

Premises equipment - “PE” 


In this draft, “premises equipment” is used to describe an electronic device developed by Netio SRL 
and is field-installed for the purpose of send alarm events to central station. 

Requirements 
 

Media 
This protocol can be implemented on any media that carries internet protocol including but not limited 
to Ethernet, GPRS, UMTS, 802.11x. 

IP Addresses 
The central station receiver shall be hosted on a static IP address but it’s allowed to use a dynamic IP 
address associated to a dynamic DNS service. 

 
Netio SRL 4 
 
Communication Protocol 
 
The premises equipment is then programmed with the IP address or domain name of the central 
station receiver. 

Transport protocol 
The recommended transport protocol is UDP/IP but for better user interaction with the control panel, 
persistent TCP/IP connections can be used however this would weight heavily on resources.  

Messages 

Format 
The message frame is entirely coded in ASCII and has defined mandatory starting and ending strings. 
Start string includes PE electronic serial number and ending includes a CRC16 calculation for error 
detection. 
Message example 
<​ide=​70710494​|00=​58388E5C​|01=​123456​|03=​74​|04=​FFFF​|!​34EF​> 
 
Start string includes the word “ide” and the equal sign character, followed by the PE electronic serial 
number that uniquely identifies the device. 
Ending includes the character “!” and the 4 digit ASCII coded CRC16. CRC16 calculation includes the 
entire frame, from “ide” to “!”, it is evaluated as CRC-CCITT with 0x1021 polynomial, 16 bits width, 
0xFFFF initial value. It’s called CRC16-CCITT FALSE 
(​http://reveng.sourceforge.net/crc-catalogue/16.htm#crc.cat.crc-16-ccitt-false​). 

Message fields. 
Message includes command fields that identifies the type of data it carries, message command and 
command parameters are separated by the equal sign character “=”, message parameter can be NULL 
and, in that case, the equal sign character is not necessary. 
Command fields separator is the pipe character “|”. 
CSR implementation must support new commands added in the future (Ignoring unknown commands 
until successfully implementation). 

00 - Timestamp 
PE synchronises its clock with the CSR and sends timestamped messages, for example, an event 
signal is timestamped with the event occurrence time. 00 
The clock synchronization is done within the message response from the CSR, ie, PE takes the 
timestamps field and sets its clock value. 
Timestamp format is according to Unix epoch (​http://www.epochconverter.com/hex​) in hexadecimal 
representation, PE timezone must be managed on the CSR. 

 
Netio SRL 5 
 
Communication Protocol 
 

01 - Source checker 
Source checker is for message authentication, PE always send the last assigned checker. Checker 
must be hexadecimal ASCII coded and always 6 digit width. 

02 - Assign checker 
The CSR can send a new checker at any time and upon receival new checkers are generated, all future 
checkers are based on the last checker. 

03 - Signal level 
If PE has a cellular module, it can include the actual signal level in the message. Signal level format is 
in percent and the percent symbol is not included. 

04 - Link test or keepalive 


PE may send a message periodically just to test the communication link with the CSR, CSR can 
monitors the period of this message and send notifications when the message stops arriving. 
As parameter, PE sends a user account number. 

05 - Contact ID event 
When ME is a home alarm control, it uses this field to send alarm events. The parameter format is as 
described in the Contact ID standard. 

06 - Sequence 
If present the CSR sends back an acknowledgment. Same on sequences from CSR to PE. 

07 - ACK 
Every valid message must have an acknowledgement answer. 

08 - NACK 
If a message has an invalid CRC (Broken data), it must be a NACK reply report. 

09 - Programming string 
This field is used to send or read configuration parameters according to PE programming manual. 

10 - Keyboard 
This field is used to send keyboard commands to control panel, commands format is up to control 
panel model. This field is also used to answer control panel status to CSR. 

11 - Input/Output read 
When ME is equipped with input/outputs, CSR can use this field to read input/output status on PE. 

 
Netio SRL 6 
 
Communication Protocol 
 

12 - Output write 
To change output status on PE, CSR can send a message with the new output value, PE will answer 
with the updated value on a read (11) field. 

13 - Request PE firmware version 


CSR can get PE general device information. With this command, PE response will include its firmware 
name and version, check PE manual to understand firmware name/version capabilities. 

14 - Connection timeout 
When TCP mode is used, CSR can send periodically (say every 2 minutes) a message to set a timeout 
timer (say 2,5 minutes), PE will set the timer and if expired, will close the TCP connection and try to 
reconnect. The timeout value must be in seconds, hex coded, 2 digits width and maximum allowed 
value is 0xFE. To prevent unnecessary connection closes, is recommended to set timeout value at 
least 20% higher than message period.  
If no connection timeout is settled, then PE will not run the timer.  

15 - Request control panel status (for DSC™ Control Panels) 


For Nt-Link PE models connected to DSC™ compatible control panels, CSR can request the control 
panel status whenever needed, the information provided is per partition and CSR must select the 
partition to be read. PE will answer a message with partition status (ready/not ready, armed/not 
armed, system fails/no system fails), and 32 zones status (open/closed, alarm/normal, bypassed/not 
bypassed).  

16 - CSR sequence 
When CSR sends a message that needs to be acknowledged by PE, it must include a 2 digits 
sequence number. This sequences number must be located before the execution commands sended. 
Commands that request information from PE can not require an ACK, but if so, PE will return the ACK 
message before the answer message. CSR must consider receiving both the ACK and the answer in 
the same message. 

Limitations 
Message frame size may have some limitations according to PE specifications, it is recommended for 
CSR implementation to adjust message size to 128 characters (bytes). 

Message details 
 
 

 
Netio SRL 7 
 
Communication Protocol 
 

Authentication token (checker) 


CSR can control PE authentication using the source checker command field, the first time CSR 
receives a message from an equipment, it must assign an authentication token to PE, PE must save 
this authentication token in non-volatile memory and use it in every message sent to CSR. 
If CSR receives a message with an invalid authentication token, it must ignore the message WITHOUT 
sending a valid checker. 
CSR can send a new checker at any time. 
PE with invalid authentication tokens must be manually reset on CSR. This will allow the CSR to send 
new valid checker. 

PE originated messages 

Link test 
PE will periodically send a link test message (also called keepalive), CSR response must be an ACK. 
Link test example 
<​ide=​70710494​|00=​58388E5C​|01=​123456​|03=​74​|04=​FFFF​|!​34EF​> 
CSR response 
<​ide=​70710494​|00=​58388E5E​|07|!​11D5​> 
 
Where: 
ide=70710494​ - PE identification (Electronic Serial Number) 
00=58388E5C​ - Current timestamp (Hex coded) 
01=123456​ - Last assigned authentication token (checker) 
03=74​ - Current GSM signal level (74%) 
04=FFFF​ - Control panel user account (System) 
!34EF​ - Ending character plus CRC16 for current frame 
 
On the response: 
07​ - Stands for ACK. 
 
Note that CSR response doesn’t reply PE timestamp, it sends his own current timestamp. 

Contact ID event report 


PE will report event signals in Contact ID format as described in “DC-05 Security Industry Association, 
‘Contact ID’ Communication Protocol”. 
Event report example 
<​ide=​70710494​|00=​5838912E​|01=​123456​|03=​64​|05=​FFFF18340101040D​|06=​01​|!​9D6F​> 
CSR Response 
<​ide=​70710494​|00=​58389130​|07|06=​01​|!​CADD​> 
 
Where: 

 
Netio SRL 8 
 
Communication Protocol 
 
ide=70710494​ - PE identification (Electronic Serial Number) 
00=5838912E​ - Timestamp of event occurrence time(Hex coded) 
01=123456​ - Last assigned authentication token (checker) 
03=64​ - Current GSM signal level (64%) 
05=FFFF18340101040D​ - Contact ID event as described in “DC-05 Security Industry Association, 
‘Contact ID’ Communication Protocol” 
06=01​ - Event sequence number, must return in ACK response 
!9D6F​ - Ending character plus CRC16 for current frame 
 
On the response: 
07​ - Stands for ACK. 
06=01​ - Sequence number returned to PE 

CSR originated messages 

Keypad control 
If PE supports control panel interaction, it is possible to enable status message reports and send 
keypad commands. 
Keyboard message type (10) is used for control panel interaction, CSR can enable/disable keypad 
status report and send key press commands. 

Key press command 


CSR can send messages to arm/disarm the system, zone bypass, or any function available from 
control panel keypad, KBY command is used to send keypress messages. 
Key press example 
<ide=​70710494​|00=​5882C4DD​|16=​02​|10=​KBY:1234​|!​F8DB​> 
PE response 
<ide=​70710494​|00=​5882C4DD​|01=​123456​|03=​61​|07|16=​02​|!​2C9B​> 
 
Where: 
16=02​ - Is the CSR sequence 
10=KBY:1234​ - Stands for “Press the 1, 2, 3 and 4 keys” 
 
PE must ACK to this message, if not, CSR can retry. The CSR sequence will be included in the 
response for validation. 

DSC Power™ Series special keys 


DSC Power series control panel have some special function keys for particular functions. For “Fire”, 
“Aux” and “Panic” emergency keys CSR must send “@F”, “@A” and “@P” respectively. 
For “Quick arming”, F1 and F2 function keys, if F1 is set up for “Stay arming”, the action character for 
this key is “I”. 
If F2 is set up for “Away arming”, the action character for this key is “W”. 
Examples 

 
Netio SRL 9 
 
Communication Protocol 
 
Command to quick arm in stay mode, “kby:I” 
Command to quick arm in away mode, “kby:W” 
Command to send a panic signal to the central station, “kby:@P” 

Request control panel status 


CSR can read control panel status for a single partition whenever is needed, partition number must be  
set as a parameter. PE will answer one or more status message including partition and zones status. 
PE answer will include the following message field: 
15=p1:RAS,z1:00000000------------------------ 
Where 
15​ - Is the field type command 
p1​ - Is the selected partition 
RAS​ - Are the Ready, Arm and System leds respectively, a minus (-) sign will replace the letter if led is 
off 
z1​ - Is the initial zone index 
00000000------------------------​ - Is the 32 zones status (from z1 to z1+32) 
A minus sign (-) means that the zone doesn’t belongs to the partition. 
Zone status will be indicated in boolean logic with: 
Bit 0: Zone opened 
Bit 1: Zone in alarm 
Bit 2: Zone bypassed 
Bit 3: Reserved for future use 
 
Request from CSR 
<ide=​70710494​|00=​58826611​|16=​04​|15=​1​|!​6916​> 
PE ACK 
<ide=​70710494​|00=​58826611​|01=​123456​|03=​58​|07|16=​04​|!​9342​> 
Control panel status 
<ide=​70710494​|00=​58826611​|01=​123456​|03=​58​|15=​p1:R-S,z1:000---0-------------------------​|06=​25​|!​91C2​> 
CSR ACK 
<ide=​70710494​|00=​58826615​|07|06=​25​|!​B71C​> 
 
Where: 
16=04 -​ Is the CSR sequence 
15=1 -​ Request the status of partition 1 
15=p1:R-S,z1:000---0-------------------------​ - Is the partition status 
 
CSR sequence can be omitted if no ACK is required 
Request from CSR 
<ide=​70710494​|00=​58826A60​|15=​1​|!​7A81​> 
Control panel status from PE 
<ide=​70710494​|00=​58826A60​|01=​123456​|03=​54​|15=​p1:-AS,z1:000---0-------------------------​|06=​29​|!​8BDC​> 
CSR ACK 
<ide=​70710494​|00=​58826A62​|07|06=​29​|!​00BF​> 

 
Netio SRL 10 
 
Communication Protocol 
 
 

Enable/Disable status reports 


When enabled, PE can send control panel status messages periodically. 
Enable status report example 
<ide=​70710494​|00=​5882C681​|16=​03​|10=​ENA:1​|!​779A​> 
PE response 
<ide=​70710494​|00=​5882C681​|01=​123456​|03=​64​|07|16=​03​|!​641C​> 
 
Where: 
10=ENA:1​ - Stands for “Enable control panel status reports” 
 
Disable status report example 
<ide=​70710494​|00=​5882C688​|16=​04​|10=​ENA:0​|!​49BF​> 
PE response 
<ide=​70710494​|00=​5882C688​|01=​123456​|03=​64​|07|16=​04​|!​F199​> 
 
Where: 
10=ENA:0​ - Stands for “Disable control panel status reports” 

DSC™ Power Series status reports 


When control panel is a DSC power series, PE will send status reports displaying PC1555RKZ keypad 
status leds using STQ command. 
​STQ example 
<​ide=​70710494​|00=​5839FF75​|01=​123456​|03=​70​|10=​STQ:0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0​|!​631F​> 
CSR response 
<​ide=​70710494​|00=​5839FF78​|07|!​0575​> 
 
Where: 
10=STQ:0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0 -​ DSC Power Series status 

STQ command details 


Each digit in the STQ command is a PC1555RKZ LED, except for digit 12 which is buzzer information 
and digits 13 to 20 are reserved for future use. 
Digits 1 to 8 are zone leds, digit 1 is zone 8, digit 2 is zone 7, …, digit 7 is zone 2 and digit 8 is zone 1. 
Digits 9, 10 and 11 are Ready, Armed and System leds respectively. 
Digit with value 0 stands for led off, digit with value 1 stands for led on, digit with value 2 stands for 
led blinking. 
For buzzer digit, 
1 stands for confirmation beeping. 
4 stands for error long beep. 
5 stands for arming time beeping. 
6 stands for final arming time beeping. 
 

 
Netio SRL 11 
 
Communication Protocol 
 

PE programming messages 
CSR can send programming messages according to the PE programming manual, as the connection 
between CSR and PE is supposed to be secured, no heading nor programming password is required. 
Programming string (09) message type is used to send/answer programming commands. 
Programming example 
CSR Programming message 
<​ide=​70710494​|00=​583DBABE​|09=​server1:190.231.153.104;port1:8097;evuid:1234​|!​7E38​> 
PE Programming result (Successfully programmed parameters) 
<​ide=​70710494​|00=​583DBABE​|01=​123456​|03=​61​|09=​EVUID1:1234; SERVER1:190.231.153.104; 
PORT1:8097; ​|06=​0C​|!​2EFE​> 
CSR ACK to programming result 
<​ide=​70710494​|00=​583DBAC9​|07|06=​0C​|!​3075​> 
 
If CSR requires an ACK for the programming message, a CSR sequence field (16) must be added to 
the programming message. 
Programming result may have multiple messages. Each of them must be acknowledged by CSR. 

PE input/output control 
PE may have some input/output signals that can be read/controlled from CSR. 
IO read command is (11), while output write command is (12). 
When PE answers an IO read, it adds a capital ‘D’ or ‘A’ before IO value to identify a digital or analog 
IO. 
IO read example 
CSR IO read message 
<​ide=​70710494​|00=​583DC169​|11=​e2​|!D64A​> 
PE IO read result (Output read IO value) 
<​ide=​70710494​|00=​583DC169​|01=​123456​|03=​58​|11=​e2:D0​|06=​0D​|!​4560​> 
CSR ACK to read result 
<​ide=​70710494​|00=​583DC16B​|07|06=​0D​|!​D0DB​> 
 
Output write example 
CSR Output write message 
<​ide=​70710494​|00=​583DC33C​|12=​s1:1​|!​A914​> 
PE Output write result (Output updated value) 
<​ide=​70710494​|00=​583DC33C​|01=​123456​|03=​58​|11=​s1:D1​|06=​0E​|!​9DF8​> 
CSR ACK to output write result 
<​ide=​70710494​|00=​583DC33F​|07|06=​0E​|!​5C33​> 
 
Pay attention to the use of command type 12 to write a value in an output pin, and the use of 
command type 11 to answer the updated value. 
 

 
Netio SRL 12 

You might also like