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.

Table 5.161 Z/IP Keep Alive Command

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.