Professional Documents
Culture Documents
Netio Communication Protocol - Rev 2.1
Netio Communication Protocol - Rev 2.1
Communication Protocol
Specifications
Communication Protocol
Revision history
Scope
References
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
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
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
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.
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
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.
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.
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.
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
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.
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
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.
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”
Netio SRL 10
Communication Protocol
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