From 32c49b93eab52bef4179a897a9aea6fe406c8636 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sat, 25 Jan 2025 17:22:28 -0500 Subject: [PATCH] filter out DVM CALL_TERM packets on the FNE based on TGID rules; --- src/fne/network/callhandler/TagP25Data.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/fne/network/callhandler/TagP25Data.cpp b/src/fne/network/callhandler/TagP25Data.cpp index 62551af3..a49fd4b5 100644 --- a/src/fne/network/callhandler/TagP25Data.cpp +++ b/src/fne/network/callhandler/TagP25Data.cpp @@ -1111,6 +1111,26 @@ bool TagP25Data::validate(uint32_t peerId, lc::LC& control, DUID::E duid, const } break; } + + // handle validating DVM call termination packets + if (tsbk->getMFId() == MFG_DVM_OCS) { + switch (tsbk->getLCO()) { + case LCO::CALL_TERM: + { + lookups::TalkgroupRuleGroupVoice tg = m_network->m_tidLookup->find(tsbk->getDstId()); + + // check TGID validity + if (tg.isInvalid()) { + return false; + } + + if (!tg.config().active()) { + return false; + } + } + break; + } + } } return true;