From adefbeba89f76480669950d9deb4b300e2e8ad02 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sun, 4 Oct 2026 10:20:35 -0400 Subject: [PATCH] correct P25 ACK_RSP ISP decode; --- src/common/p25/lc/tsbk/IOSP_ACK_RSP.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/common/p25/lc/tsbk/IOSP_ACK_RSP.cpp b/src/common/p25/lc/tsbk/IOSP_ACK_RSP.cpp index f8c78dfc..7652e4e8 100644 --- a/src/common/p25/lc/tsbk/IOSP_ACK_RSP.cpp +++ b/src/common/p25/lc/tsbk/IOSP_ACK_RSP.cpp @@ -44,6 +44,11 @@ bool IOSP_ACK_RSP::decode(const uint8_t* data, bool rawTSBK) ulong64_t tsbkValue = TSBK::toValue(tsbk); m_aivFlag = (((tsbkValue >> 56) & 0xFFU) & 0x80U) == 0x80U; // Additional Info. Flag + m_extendedAddrFlag = (((tsbkValue >> 56) & 0xFFU) & 0x40U) == 0x40U; // Extended Addressing Flag + if (m_aivFlag && m_extendedAddrFlag) { + m_netId = (uint32_t)((tsbkValue >> 36) & 0xFFFFFU); // Network ID + m_sysId = (uint16_t)((tsbkValue >> 24) & 0xFFFU); // System ID + } m_service = (uint8_t)((tsbkValue >> 56) & 0x3FU); // Service Type m_dstId = (uint32_t)((tsbkValue >> 24) & 0xFFFFFFU); // Target Radio Address m_srcId = (uint32_t)(tsbkValue & 0xFFFFFFU); // Source Radio Address