From ff04fea52fc68e5f5f6ff95a151f83bdaf351d21 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 16 Sep 2016 13:51:24 +0100 Subject: [PATCH] Further refinement of TGRewrite logic --- DMRAccessControl.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/DMRAccessControl.cpp b/DMRAccessControl.cpp index d560380..e2a9808 100644 --- a/DMRAccessControl.cpp +++ b/DMRAccessControl.cpp @@ -216,17 +216,16 @@ unsigned int DMRAccessControl::DstIdRewrite (unsigned int did, unsigned int sid, } else { return 0; } - } else { - if (did == 9 && m_dstRewriteID != 9 && (m_time + m_callHang) > currenttime) { + } else if (did == 9 && m_dstRewriteID != 9 && m_dstRewriteID != 0 && (m_time + m_callHang) > currenttime) { LogMessage("DMR Slot %u, Rewrite DST ID (TG) of outbound network traffic from %u to %u (return traffic during CallHang)",slot,did,m_dstRewriteID); return(m_dstRewriteID); - } else { - return(0); - } - } - + } else if (did < 4000 && did > 0 && did !=9) { + m_dstRewriteID = did; + } + return 0; } + void DMRAccessControl::setOverEndTime() { m_time = std::time(nullptr);