5.2.12. Z/IP Command Class, version 4¶
The Z/IP Packet Command Class, version 4 adds the support of a Keep Alive command in order to prevent the closure of a Z/IP DTLS session and introduces new Z/IP Packet Options.
5.2.12.1. Compatibility considerations¶
Z/IP Packet Command Class, version 4 is backwards compatible with the Z/IP Packet Command Class, version 3.
\requirement{CC:0023.04.00.21.001}{0}
A device supporting Z/IP Packet Command Class, version 4 MUST support Z/IP Packet Command Class, version 3.
\requirement{CC:0023.04.00.21.002}{0}
All fields and commands not described in this version MUST remain unchanged from version 3.
\requirement{CC:0023.04.00.21.003}{0}
A node supporting the Z/IP Packet Command Class, version 4 MUST respect the requirements specified in Z-Wave Multicast Addressing Option.
The Z/IP Keep Alive Command is introduced in this version in order to prevent a DTLS session to time out between a Z/IP Client and server. The default DTLS timeout configured in Z/IP deployments is 60 seconds, i.e. a peer will close the DTLS connection if no command is sent or received in 60 seconds.
The Installation and Maintenance Report Option is extended with new TLVs and a new option is added to indicate a receiving client the addressing method that has been used on the Z-Wave network.
5.2.12.2. Z/IP Keep Alive Command¶
This command is used to as a Keep Alive probe for a DTLS session between two IP nodes.
\requirement{CC:0023.04.03.21.001}{0}
This command SHOULD be issued at a minimum interval of 25 seconds and at a maximum interval of 55 seconds after the last sent or received command in order to prevent session closure.
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|---|---|---|---|---|---|---|---|
Command Class = COMMAND_CLASS_ZIP (0x23) |
|||||||
Command = COMMAND_ZIP_KEEP_ALIVE (0x03) |
|||||||
Ack Request |
Ack Response |
Reserved |
|||||
Reserved
\requirement{CC:0023.04.03.11.001}{0}
This field MUST be set to 0 by a sending node and MUST be ignored by a receiving node.
Ack Request (1 bit)
This field is used by a sending node to request an acknowledgement for this command from a receiving node.
\requirement{CC:0023.04.03.11.002}{0}
The value 1 MUST indicate that an acknowledgement is requested.
The value 0 MUST indicate that an acknowledgement is not requested.
\requirement{CC:0023.04.03.11.003}{0}
If this flag is set to 1, a receiving node MUST return a Z/IP Keep Alive Command with the Ack Response flag set to 1.
\requirement{CC:0023.04.03.11.004}{0}
This field MUST NOT be set to 1 if the Ack Response field is set to 1.
Ack Response (1 bit)
This field is used by a node to acknowledge that it received a Z/IP Keep Alive Command with the Ack Request flag set to 1.
\requirement{CC:0023.04.03.11.005}{0}
The value 1 MUST indicate that this command is an acknowledgement for a received Z/IP Keep Alive Command.
The value 0 MUST indicate that this command is not an acknowledgement
\requirement{CC:0023.04.03.11.006}{0}
This field MUST NOT be set to 1 if the Ack Request field is set to 1.