Proper implementation of the ZDO Match Descriptor Response command

I am trying to implement the ZDO Match Descriptor Respond Command as a response to a received ZDO Match Descriptor Request command. This is first step that preceeds implementation of the ZCL OTA upgrade.

After the Match Descriptor Request command is received, I execute the following:

            DATA_TO_SEND =  bytearray([0x01, 0x00, 0x00, 0x00, 0x01, 0x05])
            SRC_ENDPOINT = 0x00
            DEST_ENDPOINT = 0x00
            CLUSTER_ID = 0x8006
            PROFILE_ID = 0x0000
            XMIT_OPTIONS = 0x00

based on the Digi Xbee 3 Zigbee RF Module PDF, ZDI clusters are discussed starting on page 137. The format of the Match Descriptor Response command packet, which is in DATA_TO_SEND, is documented on page 146.

Did I set this up correctly? Wireshark output looks like the following:

I am wondering whether I have the correct Network Address, which is the MY 16 but network address of the IX15 Gateway that is the OTA upgrade server. This is the device handling the incoming and outbound Match Descriptor Request/Response.

And, do I have the correct Endpoint specified in the Match List, which is the last “field” in the response payload? In my endpoint’s source code, the ZIGBEE FOTA endpoint is 5.


Yes you have the correct network address as the Coordinators network address is 0x0000. As for the correct Cluster ID’s and end points, you would want to look in the Zigbee 3.0 specifications to verify that.