I
love playing with these hex code dumps. Excuse me if I'm posting stuff you already know.
Code:
37 FD 00 FF FF FD 82 10 04 00 54 D1
00 00 A0 0A FF FF FD 21 BE A1 00 9F
02 8E 00 A0 0A 21 BE A1 C0 2B 23 9A
As you say: 21 BE A1 = RID 2211489
First of all - manufacturer (3rd octet) is 00 so this is a P25-standard function, not just for M/A-COM.
Second of all - according to the standard, this is an obsolete opcode. Read what you want into how up-to-date PPSTN is from that.
Target address is supposed to be the three octets after manufacturer ID. As you note in the top of the text file, that's $FFFFFD = 16777213. I doubt this is a valid radio ID, or if it is, it's not intended for a regular use radio. Either a tech or a console (IIRC the standard or M/A-COM allows for specific high- and low-end values to be reserved for console and other use).
First block:
Octet 0 has some format and system parameters. $37 generally means an "alternate multiblock trunking control" OSP.
Octet 1 identifies if it's "protected" or not, with 1s in the 2 most significant bits. $3D here ($FD with the 2 MSBs stripped) = non-protected.
Octet 2 is manufacturer ID, as mentioned above.
Octet 3-5 is the "Logical Link ID" - the target RID.
Octet 6 is supposed to be "blocks to follow" with 1 in the MSB. $82 = 2 blocks to follow.
Octet 7 is the opcode (with 0s in the 2 MSBs). $10 here.
Octet 8 is Service Options. Somewhere I have what $04 means... here we go, non-emergency call, non-protected, half-duplex, circuit-mode (these four are all the 0 means), and default priority (4).
Octet 9 is "Reserved" (I have never seen anything other than $00 here).
Octet 10-11 is, as usual, the CRC of the "header" (first) block.
Second block:
Octet 0-3 is Source WACN and SysID (octet 2 first four bits is part of WACN, last four is part of SysID).
Octet 4-6 = Source ID. This is the unlikely ID again.
Octet 7-9 = Target ID. You've already got this as $21BEA1.
Octet 10-11 = Rx LCN. You've decoded this as $009F or 00-0159 or 138.795.
Third block:
Octet 0-1 = Tx LCN. $028E = 00-0654 = 141.27 is your "input" frequency for 138.795.
Octet 2-7 = "Reserved" - presumably the message. $00A00A21BEA1. Looks a lot like the SysID twice and the target RID once to me.
Octet 8-11 = Packet CRC.
General thoughts:
The standard may have some typos in it, or I'm confusing things at this early hour. In the description for the multiblock trunking format, the first radio ID is supposed to be the target ID for the OSP. In the description for the individual data grant, it's referenced as the source address, as is the first one in the 2nd block, with the 2nd one in the 2nd block (the one you have as $21BEA1) as the target address. I'm wondering if this is actually the other way around. Maybe PPSTN is using this as a way of the unit indicating its status (i.e. responding, arrived, clear), instead of the STS_UPDT opcode (18). Sending a message from $21BEA1 to $FFFFFD (the system controller responsible for transporting the status update into the CAD system, perhaps?) makes more sense to me.
Would I be able to get the dump logs for the site so I can play with them? As I said, it's a hobby.