ignore subsequent grant demands for a TG with a call in progress;

pull/72/head
Bryan Biedenkapp 1 year ago
parent 7dc9522d7f
commit 61a7a108ad

@ -179,6 +179,12 @@ bool TagP25Data::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId
}
if (std::find_if(m_status.begin(), m_status.end(), [&](StatusMapPair x) { return x.second.dstId == dstId; }) != m_status.end()) {
if (grantDemand) {
LogWarning(LOG_NET, "P25, Call Collision, peer = %u, srcId = %u, dstId = %u, streamId = %u, rxPeer = %u, rxSrcId = %u, rxDstId = %u, rxStreamId = %u, external = %u",
peerId, srcId, dstId, streamId, status.peerId, status.srcId, status.dstId, status.streamId, external);
return false;
}
else {
m_status.erase(dstId);
// is this a parrot talkgroup? if so, clear any remaining frames from the buffer
@ -212,6 +218,7 @@ bool TagP25Data::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId
m_network->m_callInProgress = false;
}
}
}
// is this a new call stream?
if ((duid != DUID::TDU) && (duid != DUID::TDULC)) {

Loading…
Cancel
Save

Powered by TurnKey Linux.