Confused with API frames 0x09 and 0x17

Hi all, the problem is I’m sending the following packet and got no response:

0x7e 0x0 0xf 0x17 0x0 0x0 0x13 0xa2 0x0 0x40 0x79 0xb2 0x71 0xff 0xfe 0x2 0x49 0x53 0xbc

Details: if I send e.g. the following frame, I can see a pin state change, so address and checksum and staff are OK:

0x7e 0x0 0x10 0x17 0x0 0x0 0x13 0xa2 0x0 0x40 0x79 0xb2 0x71 0xff 0xfe 0x2 0x44 0x34 0x4 0xdc

The problem is that with 0x17 packet type I can only set registers on remote XBee. The guide, however, says:
>Used to query or set module parameters on a remote device
>Command Parameter … If no characters present, the register is queried.

Ok, I read this as if I provided a parameter, the register will be set to this parameter. If I didn’t, I get a response with the current parameter value.

This doesn’t work. If I send 0x09 packet instead of 0x17, I get the following status report, but no sample data:

{'status': '\x00', 'frame_id': '\x01', 'parameter': '\x01\x00\x1c\x00\x00\x08', 'command': 'IS', 'id': 'at_response'}

The other thing I can do is to set periodic sampling. In this case I get sample data normally!

This looks super strange and contradicts to what guide says.

OK, seems the problem is that sample data in response to IS command comes in as 0x97, not 0x92

0x09 is used to set the AT command on the module itself.
0x17 is used to set the AT command on the remote module from the local module.

The following article has link for downloading API frame maker, http://www.digi.com/support/kbase/kbaseresultdetl?id=3215
you can easily form and decode the frames.