From 251cc206ff8460cfe2f3b4cce70f079b081cf1c2 Mon Sep 17 00:00:00 2001 From: Cort Buffington Date: Wed, 27 Apr 2016 16:27:23 -0500 Subject: [PATCH] TGID-Based Bridge Rule Triggering Added! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That’s PTT or UA to you c-Bridge dorks. It works now. Note you MUST update your bridge rules file for this. --- bridge.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bridge.py b/bridge.py index be430a0..c8bdf7e 100755 --- a/bridge.py +++ b/bridge.py @@ -164,12 +164,20 @@ class bridgeIPSC(IPSC): for rule in RULES[_network]['GROUP_VOICE']: if _dst_group == rule['ON']: rule['ACTIVE'] = True - #RULES[(rule[DST_NET])]['GROUP_VOICE'][_network]['ACTIVE'] = True - logger.info('(%s) Bridge Rule \"%s\" changed to state: %s', _network, rule['NAME'], rule['ACTIVE']) + _target = rule['DST_NET'] + logger.info('(%s) Primary Bridge Rule \"%s\" changed to state: %s', _network, rule['NAME'], rule['ACTIVE']) + for target_rule in RULES[_target]['GROUP_VOICE']: + if target_rule['NAME'] == rule['NAME']: + target_rule['ACTIVE'] = True + logger.info('(%s) Reciprocal Bridge Rule \"%s\" in IPSC \"%s\" changed to state: %s', _network, target_rule['NAME'], _target, rule['ACTIVE']) if _dst_group == rule['OFF']: rule['ACTIVE'] = False - #RULES[(rule[DST_NET])]['GROUP_VOICE'][_network]['ACTIVE'] = False - logger.info('(%s) Bridge Rule \"%s\" changed to state: %s', _network, rule['NAME'], rule['ACTIVE']) + _target = rule['DST_NET'] + logger.info('(%s) Bridge Rule \"%s\" changed to state: %s', _network, rule['NAME'], rule['ACTIVE']) + for target_rule in RULES[_target]['GROUP_VOICE']: + if target_rule['NAME'] == rule['NAME']: + target_rule['ACTIVE'] = False + logger.info('(%s) Reciprocal Bridge Rule \"%s\" in IPSC \"%s\" changed to state: %s', _network, target_rule['NAME'], _target, rule['ACTIVE']) now = time() # Mark packet arrival time -- we'll need this for call contention handling