reject U2U voice channel grant for P25, DMR and NXDN if the unit being called isn't registered;

82-dvmbridge---implement-notch-filter-for-2175hz-trc-guard-tone
Bryan Biedenkapp 1 year ago
parent 1e6282c92b
commit b419c56405

@ -868,6 +868,14 @@ bool ControlSignaling::writeRF_CSBK_Grant(uint32_t srcId, uint32_t dstId, uint8_
} }
} }
if (!grp && !m_tscc->m_ignoreAffiliationCheck) {
// is this the target registered?
if (!m_tscc->m_affiliations->isUnitReg(dstId)) {
LogWarning(LOG_RF, "DMR Slot %u, CSBK, RAND (Random Access, IND_VOICE_CALL (Individual Voice Call) ignored, no unit registration, dstId = %u", m_tscc->m_slotNo, dstId);
return false;
}
}
uint32_t availChNo = m_tscc->m_affiliations->getAvailableChannelForSlot(slot); uint32_t availChNo = m_tscc->m_affiliations->getAvailableChannelForSlot(slot);
if (!m_tscc->m_affiliations->rfCh()->isRFChAvailable() || availChNo == 0U) { if (!m_tscc->m_affiliations->rfCh()->isRFChAvailable() || availChNo == 0U) {
if (grp) { if (grp) {

@ -479,6 +479,14 @@ bool ControlSignaling::writeRF_Message_Grant(uint32_t srcId, uint32_t dstId, uin
} }
} }
if (!grp && !m_nxdn->m_ignoreAffiliationCheck) {
// is this the target registered?
if (!m_nxdn->m_affiliations.isUnitReg(dstId)) {
LogWarning(LOG_RF, "NXDN, %s ignored, no unit registration, dstId = %u", rcch->toString().c_str(), dstId);
return false;
}
}
if (!m_nxdn->m_affiliations.rfCh()->isRFChAvailable()) { if (!m_nxdn->m_affiliations.rfCh()->isRFChAvailable()) {
if (grp) { if (grp) {
if (!net) { if (!net) {

@ -2200,6 +2200,14 @@ bool ControlSignaling::writeRF_TSDU_Grant(uint32_t srcId, uint32_t dstId, uint8_
} }
} }
if (!grp && !m_p25->m_ignoreAffiliationCheck) {
// is this the target registered?
if (!m_p25->m_affiliations.isUnitReg(dstId)) {
LogWarning(LOG_NET, P25_TSDU_STR ", TSBKO, IOSP_UU_VCH (Unit-to-Unit Voice Channel Request) ignored, no unit registration, dstId = %u", dstId);
return false;
}
}
if (!m_p25->m_affiliations.rfCh()->isRFChAvailable()) { if (!m_p25->m_affiliations.rfCh()->isRFChAvailable()) {
if (grp) { if (grp) {
if (!net) { if (!net) {

Loading…
Cancel
Save

Powered by TurnKey Linux.