Fixed Activation/Deactivation Logic
This commit is contained in:
parent
80941c9608
commit
dbc7d923e1
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,6 +7,7 @@ rcm.cfg
|
||||
stats.py
|
||||
pub*
|
||||
bridge_rules.py
|
||||
confbridge_rules.py
|
||||
playback_config.py
|
||||
known_bridges.py
|
||||
sub_acl.py
|
||||
|
@ -212,7 +212,9 @@ class confbridgeIPSC(IPSC):
|
||||
|
||||
for _target in BRIDGES[_bridge]:
|
||||
if _target['SYSTEM'] != self._system:
|
||||
if _target['ACTIVE']:
|
||||
_target_status = systems[_target['SYSTEM']].STATUS
|
||||
_target_system = self._CONFIG['SYSTEMS'][_target['SYSTEM']]
|
||||
|
||||
# BEGIN CONTENTION HANDLING
|
||||
#
|
||||
@ -223,11 +225,11 @@ class confbridgeIPSC(IPSC):
|
||||
# From the same group as the last TX to this IPSC, but from a different subscriber, and it has been less than TS Clear Time
|
||||
# The "continue" at the end of each means the next iteration of the for loop that tests for matching rules
|
||||
#
|
||||
if ((_target['TGID'] != _target_status[_target['TS']]['RX_TGID']) and ((now - _target_status[_target['TS']]['RX_TIME']) < self._CONFIG['SYSTEMS'][_target['SYSTEM']]['LOCAL']['GROUP_HANGTIME'])):
|
||||
if ((_target['TGID'] != _target_status[_target['TS']]['RX_TGID']) and ((now - _target_status[_target['TS']]['RX_TIME']) < _target_system['LOCAL']['GROUP_HANGTIME'])):
|
||||
if _burst_data_type == BURST_DATA_TYPE['VOICE_HEAD']:
|
||||
self._logger.info('(%s) Call not bridged to TGID%s, target active or in group hangtime: IPSC: %s, TS: %s, TGID: %s', self._system, int_id(_target['TGID']), _target['SYSTEM'], _target['_TS'], int_id(_target_status[_target['TS']]['RX_TGID']))
|
||||
continue
|
||||
if ((_target['TGID'] != _target_status[_target['TS']]['TX_TGID']) and ((now - _target_status[_target['TS']]['TX_TIME']) < self._CONFIG['SYSTEMS'][_target['SYSTEM']]['LOCAL']['GROUP_HANGTIME'])):
|
||||
if ((_target['TGID'] != _target_status[_target['TS']]['TX_TGID']) and ((now - _target_status[_target['TS']]['TX_TIME']) < _target_system['LOCAL']['GROUP_HANGTIME'])):
|
||||
if _burst_data_type == BURST_DATA_TYPE['VOICE_HEAD']:
|
||||
self._logger.info('(%s) Call not bridged to TGID%s, target in group hangtime: IPSC: %s, TS: %s, TGID: %s', self._system, int_id(_target['TGID']), _target['SYSTEM'], _target['TS'], int_id(_target_status[_target['TS']]['TX_TGID']))
|
||||
continue
|
||||
@ -250,7 +252,7 @@ class confbridgeIPSC(IPSC):
|
||||
_tmp_data = _data
|
||||
|
||||
# Re-Write the IPSC SRC to match the target network's ID
|
||||
_tmp_data = _tmp_data.replace(_peerid, self._CONFIG['SYSTEMS'][_target['SYSTEM']]['LOCAL']['RADIO_ID'])
|
||||
_tmp_data = _tmp_data.replace(_peerid, _target_system['LOCAL']['RADIO_ID'])
|
||||
|
||||
# Re-Write the destination Group ID
|
||||
_tmp_data = _tmp_data.replace(_dst_group, _target['TGID'])
|
||||
@ -286,9 +288,9 @@ class confbridgeIPSC(IPSC):
|
||||
|
||||
|
||||
# Set values for the contention handler to test next time there is a frame to forward
|
||||
_target_status[_ts]['TX_GROUP'] = _target['TGID']
|
||||
_target_status[_ts]['TX_TIME'] = now
|
||||
_target_status[_ts]['TX_SRC_SUB'] = _src_sub
|
||||
_target_status[_target['TS']]['TX_TGID'] = _target['TGID']
|
||||
_target_status[_target['TS']]['TX_TIME'] = now
|
||||
_target_status[_target['TS']]['TX_SRC_SUB'] = _src_sub
|
||||
|
||||
|
||||
# Mark the group and time that a packet was recieved for the contention handler to use later
|
||||
|
@ -8,14 +8,14 @@ BRIDGES = {
|
||||
'KANSAS': [
|
||||
{'SYSTEM': 'LAWRENCE', 'TS': 2, 'TGID': 3120, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'ON', 'ON': [2,], 'OFF': [9,]},
|
||||
{'SYSTEM': 'C-BRIDGE', 'TS': 2, 'TGID': 3120, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'OFF', 'ON': [2,], 'OFF': [9,]},
|
||||
{'SYSTEM': 'BRANDMEISTER', 'TS': 2, 'TGID': 3120, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [2,], 'OFF': [9,]},
|
||||
#{'SYSTEM': 'BRANDMEISTER', 'TS': 2, 'TGID': 3120, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [2,], 'OFF': [9,]},
|
||||
],
|
||||
'BYRG': [
|
||||
{'SYSTEM': 'LAWRENCE', 'TS': 1, 'TGID': 3100, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,]},
|
||||
{'SYSTEM': 'BRANDMEISTER', 'TS': 2, 'TGID': 31201, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,]},
|
||||
#{'SYSTEM': 'BRANDMEISTER', 'TS': 2, 'TGID': 31201, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,]},
|
||||
],
|
||||
'ENGLISH': [
|
||||
#{'SYSTEM': 'LAWRENCE', 'TS': 1, 'TGID': 13, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,]},
|
||||
{'SYSTEM': 'LAWRENCE', 'TS': 1, 'TGID': 13, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,]},
|
||||
{'SYSTEM': 'C-BRIDGE', 'TS': 1, 'TGID': 13, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,]},
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user