|
|
|
@ -85,35 +85,35 @@ namespace network
|
|
|
|
|
|
|
|
|
|
|
|
// P25 V.24 LDU1 Encapsulation Frames
|
|
|
|
// P25 V.24 LDU1 Encapsulation Frames
|
|
|
|
const uint8_t LDU1_REC62[] = { // IMBE Voice 1
|
|
|
|
const uint8_t LDU1_REC62[] = { // IMBE Voice 1
|
|
|
|
// ID IMBE Voice
|
|
|
|
// ID RT Md St/Sp Type ICW RSSI IMBE Voice Source
|
|
|
|
0x62U, 0x02U, 0x02U, 0x0CU, 0x0BU, 0x12U, 0x64U, 0x00U, 0x00U, 0x80U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U };
|
|
|
|
0x62U, 0x02U, 0x04U, 0x0CU, 0x0BU, 0x1BU, 0x64U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC63[] = { // IMBE Voice 2
|
|
|
|
const uint8_t LDU1_REC63[] = { // IMBE Voice 2
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
// ID IMBE Voice Source
|
|
|
|
0x63U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x63U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC64[] = { // IMBE Voice 3 + Link Control
|
|
|
|
const uint8_t LDU1_REC64[] = { // IMBE Voice 3 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID LCO MFId SvcOp IMBE Voice Status
|
|
|
|
0x64U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x64U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC65[] = { // IMBE Voice 4 + Link Control
|
|
|
|
const uint8_t LDU1_REC65[] = { // IMBE Voice 4 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID Destination ID IMBE Voice Status
|
|
|
|
0x65U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x65U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC66[] = { // IMBE Voice 5 + Link Control
|
|
|
|
const uint8_t LDU1_REC66[] = { // IMBE Voice 5 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID Source ID IMBE Voice Status
|
|
|
|
0x66U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x66U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC67[] = { // IMBE Voice 6 + Link Control
|
|
|
|
const uint8_t LDU1_REC67[] = { // IMBE Voice 6 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
0x67U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x67U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC68[] = { // IMBE Voice 7 + Link Control
|
|
|
|
const uint8_t LDU1_REC68[] = { // IMBE Voice 7 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
0x68U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x68U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC69[] = { // IMBE Voice 8 + Link Control
|
|
|
|
const uint8_t LDU1_REC69[] = { // IMBE Voice 8 + Link Control
|
|
|
|
// ID Link Control IMBE Voice Status
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
0x69U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x69U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU1_REC6A[] = { // IMBE Voice 9 + Low Speed Data
|
|
|
|
const uint8_t LDU1_REC6A[] = { // IMBE Voice 9 + Low Speed Data
|
|
|
|
@ -122,27 +122,27 @@ namespace network
|
|
|
|
|
|
|
|
|
|
|
|
// P25 V.24 LDU2 Encapsulation Frames
|
|
|
|
// P25 V.24 LDU2 Encapsulation Frames
|
|
|
|
const uint8_t LDU2_REC6B[] = { // IMBE Voice 10
|
|
|
|
const uint8_t LDU2_REC6B[] = { // IMBE Voice 10
|
|
|
|
// ID IMBE Voice
|
|
|
|
// ID RT Md St/Sp Type ICW RSSI IMBE Voice
|
|
|
|
0x6BU, 0x02U, 0x02U, 0x0CU, 0x0BU, 0x12U, 0x64U, 0x00U, 0x00U, 0x80U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U };
|
|
|
|
0x6BU, 0x02U, 0x04U, 0x0CU, 0x0BU, 0x1BU, 0x64U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC6C[] = { // IMBE Voice 11
|
|
|
|
const uint8_t LDU2_REC6C[] = { // IMBE Voice 11
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
// ID IMBE Voice Status
|
|
|
|
0x6CU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x6CU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC6D[] = { // IMBE Voice 12 + Encryption Sync
|
|
|
|
const uint8_t LDU2_REC6D[] = { // IMBE Voice 12 + Encryption Message Indicator
|
|
|
|
// ID Encryption Sync IMBE Voice Status
|
|
|
|
// ID Encryption MI IMBE Voice Status
|
|
|
|
0x6DU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x6DU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC6E[] = { // IMBE Voice 13 + Encryption Sync
|
|
|
|
const uint8_t LDU2_REC6E[] = { // IMBE Voice 13 + Encryption Message Indicator
|
|
|
|
// ID Encryption Sync IMBE Voice Status
|
|
|
|
// ID Encryption MI IMBE Voice Status
|
|
|
|
0x6EU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x6EU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC6F[] = { // IMBE Voice 14 + Encryption Sync
|
|
|
|
const uint8_t LDU2_REC6F[] = { // IMBE Voice 14 + Encryption Message Indicator
|
|
|
|
// ID Encryption Sync IMBE Voice Status
|
|
|
|
// ID Encryption MI IMBE Voice Status
|
|
|
|
0x6FU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x6FU, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC70[] = { // IMBE Voice 15 + Encryption Sync
|
|
|
|
const uint8_t LDU2_REC70[] = { // IMBE Voice 15 + Encryption Algorithm & Key ID
|
|
|
|
// ID Encryption Sync IMBE Voice Status
|
|
|
|
// ID AlgId KID KID IMBE Voice Status
|
|
|
|
0x70U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
0x70U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x02U };
|
|
|
|
|
|
|
|
|
|
|
|
const uint8_t LDU2_REC71[] = { // IMBE Voice 16 + Encryption Sync
|
|
|
|
const uint8_t LDU2_REC71[] = { // IMBE Voice 16 + Encryption Sync
|
|
|
|
|