Extended Transmit Status - 0x8B
Request frames:
Description
This frame type is emitted when a network transmission request completes. The status field of this frame indicates whether the request succeeded or failed and the reason. This frame type provides additional networking details about the transmission.
This frame is only emitted if the Frame ID in the request is non-zero.
Zigbee transmissions to an unknown network address of 0xFFFE will return the discovered 16-bit network address in this response frame. This network address should be used in subsequent transmissions to the specific destination.
Note Broadcast transmissions are not acknowledged and always return a status of 0x00, even if the delivery failed.
Format
The following table provides the contents of the frame. For details on frame structure, see API frame format.
Offset | Size | Frame Field | Description |
---|---|---|---|
0 | 8-bit | Start Delimiter | Indicates the start of an API frame. |
1 | 16-bit | Length | Number of bytes between the length and checksum. |
3 | 8-bit | Frame type |
Transmit Status - 0x8B |
4 | 8-bit | Frame ID | Identifies the data frame for the host to correlate with a prior request. |
5 | 16-bit | 16-bit destination address |
The 16-bit network address where the packet was delivered (if successful). If not successful, this address is 0xFFFD (destination address unknown). 0xFFFE indicates 16-bit addressing was not used. |
7 | 8-bit | Transmit retry count | The number of application transmission retries that occur. |
8 | 8-bit | Delivery status |
Complete list of delivery statuses: 0x00 = Success 0x01 = MAC ACK failure 0x02 = CCA/LBT failure 0x03 = Indirect message unrequested / no spectrum available 0x15 = Invalid destination endpoint 0x21 = Network ACK failure 0x22 = Not joined to network 0x23 = Self-addressed 0x24 = Address not found 0x25 = Route not found 0x26 = Broadcast source failed to hear a neighbor relay the message 0x2B = Invalid binding table index 0x2C = Resource error - lack of free buffers, timers, etc. 0x2D = Attempted broadcast with APS transmission 0x2E = Attempted unicast with APS transmission, but EE = 0 0x31 = Internal resource error 0x32 = Resource error lack of free buffers, timers, etc. 0x34 = No Secure Session connection 0x35 = Encryption failure 0x74 = Data payload too large 0x75 = Indirect message unrequested Refer to the tables below for a filtered list of status codes that are appropriate for specific devices. |
9 | 8-bit | Discovery status |
Complete list of delivery statuses: 0x00 = No discovery overhead 0x01 = Zigbee address discovery 0x02 = Route discovery 0x03 = Zigbee address and route discovery 0x40 = Zigbee end device extended timeout |
EOF | 8-bit | Checksum | 0xFF minus the 8-bit sum of bytes from offset 3 to this byte (between length and checksum). |
Examples
Each example is written without escapes (AP = 1) and all bytes are represented in hex format. For brevity, the start delimiter, length, and checksum fields have been excluded.
Successful transmission
Host sent a unicast transmission to a remote Zigbee device using a Transmit Request - 0x10 frame. The transmission was sent using the destination's IEEE 64-bit address with a 16-bit network address of 0xFFFE (unknown).
The corresponding Extended Transmit Status - 0x8B with a matching Frame ID is emitted as a response to the request:
7E 00 07 8B 52 12 34 02 00 01 D9
Frame type | Frame ID | 16-bit dest address | Tx retries | Delivery status | Discovery status |
---|---|---|---|---|---|
0x8B | 0x52 | 0x1234 | 0x02 | 0x00 | 0x01 |
Response | Matches request | Discovered NWK address | 2 retries | Success | Address discovery |
To reduce discovery overhead, the host can retrieve the discovered 16-bit network address from this response frame to use in subsequent transmissions.