From 73e32df31037c0b23c370dc5ad91fdefe6a7a5e6 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sun, 7 Jan 2024 17:48:52 -0500 Subject: [PATCH] ensure DMR doesn't try to perform supervisory control for the opposing slot on a CC instance; correct TSBK ToString(); --- src/common/p25/lc/tsbk/ISP_SNDCP_CH_REQ.cpp | 2 +- src/host/dmr/packet/ControlSignaling.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/common/p25/lc/tsbk/ISP_SNDCP_CH_REQ.cpp b/src/common/p25/lc/tsbk/ISP_SNDCP_CH_REQ.cpp index ad84c0d1..82239ec4 100644 --- a/src/common/p25/lc/tsbk/ISP_SNDCP_CH_REQ.cpp +++ b/src/common/p25/lc/tsbk/ISP_SNDCP_CH_REQ.cpp @@ -95,7 +95,7 @@ void ISP_SNDCP_CH_REQ::encode(uint8_t* data, bool rawTSBK, bool noTrellis) /// std::string ISP_SNDCP_CH_REQ::toString(bool isp) { - return std::string("TSBK_ISP_SNDCP_CH_REQ (Authentication FNE Result)"); + return std::string("TSBK_ISP_SNDCP_CH_REQ (SNDCP Data Channel Request)"); } // --------------------------------------------------------------------------- diff --git a/src/host/dmr/packet/ControlSignaling.cpp b/src/host/dmr/packet/ControlSignaling.cpp index 20b5cc37..d8725fb9 100644 --- a/src/host/dmr/packet/ControlSignaling.cpp +++ b/src/host/dmr/packet/ControlSignaling.cpp @@ -920,7 +920,8 @@ bool ControlSignaling::writeRF_CSBK_Grant(uint32_t srcId, uint32_t dstId, uint8_ } // callback REST API to permit the granted TG on the specified voice channel - if (m_tscc->m_authoritative && m_tscc->m_supervisor) { + if (m_tscc->m_authoritative && m_tscc->m_supervisor && + m_tscc->m_channelNo != chNo) { ::lookups::VoiceChData voiceChData = m_tscc->m_affiliations->getRFChData(chNo); if (voiceChData.isValidCh() && !voiceChData.address().empty() && voiceChData.port() > 0) { json::object req = json::object(); @@ -997,7 +998,8 @@ bool ControlSignaling::writeRF_CSBK_Grant(uint32_t srcId, uint32_t dstId, uint8_ } // callback REST API to permit the granted TG on the specified voice channel - if (m_tscc->m_authoritative && m_tscc->m_supervisor) { + if (m_tscc->m_authoritative && m_tscc->m_supervisor && + m_tscc->m_channelNo != chNo) { ::lookups::VoiceChData voiceChData = m_tscc->m_affiliations->getRFChData(chNo); if (voiceChData.isValidCh() && !voiceChData.address().empty() && voiceChData.port() > 0) { json::object req = json::object();