add option to disallow radio monitor at the FNE;

pull/121/head
Bryan Biedenkapp 2 months ago
parent 7d4ca986d2
commit a703d4efbc

@ -174,6 +174,8 @@ master:
disallowAdjStsBcast: false disallowAdjStsBcast: false
# Flag indicating whether or not a P25 ADJ_STS_BCAST will pass to connected external peers. # Flag indicating whether or not a P25 ADJ_STS_BCAST will pass to connected external peers.
disallowExtAdjStsBcast: true disallowExtAdjStsBcast: true
# Flag indicating whether or not a radio monitor will pass to any peers.
disallowRadioMonitor: true
# Flag indicating whether or not a conventional site can override affiliation rules. # Flag indicating whether or not a conventional site can override affiliation rules.
allowConvSiteAffOverride: true allowConvSiteAffOverride: true
# Flag indicating whether or not In-Call Control feedback is enabled. # Flag indicating whether or not In-Call Control feedback is enabled.

@ -116,6 +116,7 @@ TrafficNetwork::TrafficNetwork(HostFNE* host, const std::string& address, uint16
m_callCollisionTimeout(5U), m_callCollisionTimeout(5U),
m_disallowAdjStsBcast(false), m_disallowAdjStsBcast(false),
m_disallowExtAdjStsBcast(true), m_disallowExtAdjStsBcast(true),
m_disallowRadioMonitor(true),
m_allowConvSiteAffOverride(false), m_allowConvSiteAffOverride(false),
m_disallowCallTerm(false), m_disallowCallTerm(false),
m_restrictGrantToAffOnly(false), m_restrictGrantToAffOnly(false),
@ -205,6 +206,7 @@ void TrafficNetwork::setOptions(yaml::Node& conf, bool printOptions)
{ {
m_disallowAdjStsBcast = conf["disallowAdjStsBcast"].as<bool>(false); m_disallowAdjStsBcast = conf["disallowAdjStsBcast"].as<bool>(false);
m_disallowExtAdjStsBcast = conf["disallowExtAdjStsBcast"].as<bool>(true); m_disallowExtAdjStsBcast = conf["disallowExtAdjStsBcast"].as<bool>(true);
m_disallowRadioMonitor = conf["disallowRadioMonitor"].as<bool>(true);
m_allowConvSiteAffOverride = conf["allowConvSiteAffOverride"].as<bool>(true); m_allowConvSiteAffOverride = conf["allowConvSiteAffOverride"].as<bool>(true);
m_enableRIDInCallCtrl = conf["enableRIDInCallCtrl"].as<bool>(false); m_enableRIDInCallCtrl = conf["enableRIDInCallCtrl"].as<bool>(false);
m_disallowInCallCtrl = conf["disallowInCallCtrl"].as<bool>(false); m_disallowInCallCtrl = conf["disallowInCallCtrl"].as<bool>(false);
@ -355,6 +357,7 @@ void TrafficNetwork::setOptions(yaml::Node& conf, bool printOptions)
LogInfo(" Disable Packet Data: %s", m_disablePacketData ? "yes" : "no"); LogInfo(" Disable Packet Data: %s", m_disablePacketData ? "yes" : "no");
LogInfo(" Dump Packet Data: %s", m_dumpPacketData ? "yes" : "no"); LogInfo(" Dump Packet Data: %s", m_dumpPacketData ? "yes" : "no");
LogInfo(" Disable P25 ADJ_STS_BCAST to neighbor peers: %s", m_disallowExtAdjStsBcast ? "yes" : "no"); LogInfo(" Disable P25 ADJ_STS_BCAST to neighbor peers: %s", m_disallowExtAdjStsBcast ? "yes" : "no");
LogInfo(" Disable P25 Radio Monitor to any peers: %s", m_disallowRadioMonitor ? "yes" : "no");
LogInfo(" Disable P25 TDULC call termination broadcasts to any peers: %s", m_disallowCallTerm ? "yes" : "no"); LogInfo(" Disable P25 TDULC call termination broadcasts to any peers: %s", m_disallowCallTerm ? "yes" : "no");
LogInfo(" Allow conventional sites to override affiliation and receive all traffic: %s", m_allowConvSiteAffOverride ? "yes" : "no"); LogInfo(" Allow conventional sites to override affiliation and receive all traffic: %s", m_allowConvSiteAffOverride ? "yes" : "no");
LogInfo(" Enable RID In-Call Control: %s", m_enableRIDInCallCtrl ? "yes" : "no"); LogInfo(" Enable RID In-Call Control: %s", m_enableRIDInCallCtrl ? "yes" : "no");

@ -369,6 +369,7 @@ namespace network
bool m_disallowAdjStsBcast; bool m_disallowAdjStsBcast;
bool m_disallowExtAdjStsBcast; bool m_disallowExtAdjStsBcast;
bool m_disallowRadioMonitor;
bool m_allowConvSiteAffOverride; bool m_allowConvSiteAffOverride;
bool m_disallowCallTerm; bool m_disallowCallTerm;
bool m_restrictGrantToAffOnly; bool m_restrictGrantToAffOnly;

@ -1210,6 +1210,11 @@ bool TagP25Data::processTSDUFrom(uint8_t* buffer, uint32_t peerId, uint8_t duid)
} }
} }
break; break;
case TSBKO::IOSP_RAD_MON:
case TSBKO::IOSP_RAD_MON_ENH:
if (m_network->m_disallowRadioMonitor)
return false;
break;
default: default:
break; break;
} }
@ -1300,6 +1305,11 @@ bool TagP25Data::processTSDUTo(uint8_t* buffer, uint32_t peerId, uint8_t duid)
} }
} }
break; break;
case TSBKO::IOSP_RAD_MON:
case TSBKO::IOSP_RAD_MON_ENH:
if (m_network->m_disallowRadioMonitor)
return false;
break;
default: default:
break; break;
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.