Not receiving 0x92 API messages on S3B-900HP Programmable node

I am trying to set up an I/O sampling network with S3B-900HP radios, but I have not received a single 0x92 message yet. I am developing in C within the CodeWarrior SDK. What handler would these responses show up in, or am I going to have to manually write something up using _xbee_frame_load and _xbee_frame_dispatch myself?

I’ve got as many of the handlers enabled as possible, but I never seem to get a 0x92 message. I have them all configured as routers. I plan to issue the AG command from my aggregator when a new node is discovered to automatically tell it where to send updates. My non-sleep network is configured as follows:

(1) S3B-900HP Programmable (XBP9B-DMSTB-002) intended as the aggregator node that will acquire discrete inputs from other radios
AP=1
AO=0

(24) S3B-900HP NON-Programmable (XBP9B-DMST-002) intended as remote nodes and currently configured in Transparent mode.
AP=0
AO=0
IR = 3A98 (15s)

Both types are configured with the following:
CM=FFFFFFFFFFF7FFFF
HP 0
ID 5451

Any idea what could be going wrong?

I would suggest looking at https://www.digi.com/support/knowledge-base/digital-and-analog-sampling-using-xbee-radios
Start by having the Programmable version doing the ADC input sending to the non Programmable version. That will help you understand what the settings need to be.

Okay, it seems as though when AO=0 on Aggregator, I get 0x92 returned:

7E Delimiter
00 12 Length
92 Frame Type
00 13 A2 00 41 DB 4C AD 64-bit Source Address
FF FE 16-bit Source Address
C2 Receive Options
01 Number of Samples
06 27 Digital Chan Mask
00 Analog Chan Mask
04 01 Digital Samples
B1 Checksum

and when when AO=1 on Aggregator, I get 0x91 returned:

7E Delimiter
00 18 Length
91 Frame Type
00 13 A2 00 41 DB 4C AD 64-bit Source Address
FF FE 16-bit Source Address
E8 Source Endpoint
E8 Destination Endpoint
00 92 Cluster ID
C1 05 Profile ID
C2 Receive Options
01 06 27 00 04 01 Payload
8A Checksum

The problem seems to be that when I go into XCTU, find my programmable radio (aggregator) and read its settings, I’ll do the pushbutton reset process on the XBIB and it will presumably put it in the bootloader mode. In that mode, I can see the above data. When my XBee boots into my own application after resetting, none of my frame handlers are picking any of this up. Not 0x91 nor 0x92.

Added more below

I will also point out that I need the “Aggregator” (API) node to instruct changes to the remote transparent nodes for their output pins to go high or low. So maybe “Aggregator” is not an accurate term here to use since it also needs to be able to reach out to the remote nodes to tell them what to do.