diff --git a/FreeDMR-SAMPLE-commented.cfg b/FreeDMR-SAMPLE-commented.cfg index cd0d2ab..c88007f 100755 --- a/FreeDMR-SAMPLE-commented.cfg +++ b/FreeDMR-SAMPLE-commented.cfg @@ -202,3 +202,4 @@ TS2_STATIC: DEFAULT_REFLECTOR: 0 ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 1 +ALLOW_UNREG_ID: False diff --git a/FreeDMR-SAMPLE.cfg b/FreeDMR-SAMPLE.cfg index 46f851d..4467e97 100755 --- a/FreeDMR-SAMPLE.cfg +++ b/FreeDMR-SAMPLE.cfg @@ -95,3 +95,4 @@ TS2_STATIC: DEFAULT_REFLECTOR: 0 ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 100 +ALLOW_UNREG_ID: False diff --git a/bridge_master.py b/bridge_master.py index d8fdfa7..732d7c8 100644 --- a/bridge_master.py +++ b/bridge_master.py @@ -641,12 +641,12 @@ def threadAlias(): logger.debug('(ALIAS) starting alias thread') reactor.callInThread(aliasb) -def setAlias(_peer_ids,_subscriber_ids, _talkgroup_ids): - peer_ids, subscriber_ids, talkgroup_ids = _peer_ids, _subscriber_ids, _talkgroup_ids +def setAlias(_peer_ids,_subscriber_ids, _talkgroup_ids, _local_subscriber_ids): + peer_ids, subscriber_ids, talkgroup_ids,local_subscriber_ids = _peer_ids, _subscriber_ids, _talkgroup_ids, _local_subscriber_ids def aliasb(): - _peer_ids, _subscriber_ids, _talkgroup_ids = mk_aliases(CONFIG) - reactor.callFromThread(setAlias,_peer_ids, _subscriber_ids, _talkgroup_ids) + _peer_ids, _subscriber_ids, _talkgroup_ids, _local_subscriber_ids = mk_aliases(CONFIG) + reactor.callFromThread(setAlias,_peer_ids, _subscriber_ids, _talkgroup_ids, _local_subscriber_ids) def ident(): for system in systems: @@ -2805,7 +2805,7 @@ if __name__ == '__main__': signal.signal(sig, sig_handler) # Create the name-number mapping dictionaries - peer_ids, subscriber_ids, talkgroup_ids = mk_aliases(CONFIG) + peer_ids, subscriber_ids, talkgroup_ids, local_subscriber_ids = mk_aliases(CONFIG) #Add special IDs to DB subscriber_ids[900999] = 'D-APRS' @@ -2813,6 +2813,7 @@ if __name__ == '__main__': CONFIG['_SUB_IDS'] = subscriber_ids CONFIG['_PEER_IDS'] = peer_ids + CONFIG['_LOCAL_SUBSCRIBER_IDS'] = local_subscriber_ids diff --git a/config.py b/config.py index 0a18f20..82cd556 100755 --- a/config.py +++ b/config.py @@ -181,7 +181,8 @@ def build_config(_config_file): 'SUBSCRIBER_URL': config.get(section, 'SUBSCRIBER_URL'), 'TGID_URL': config.get(section, 'TGID_URL'), 'STALE_TIME': config.getint(section, 'STALE_DAYS') * 86400, - 'SUB_MAP_FILE': config.get(section, 'SUB_MAP_FILE') + 'SUB_MAP_FILE': config.get(section, 'SUB_MAP_FILE'), + 'LOCAL_SUBSCRIBER_FILE': config.get(section, 'LOCAL_SUBSCRIBER_FILE') }) elif section == 'MYSQL': diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 569f4d9..785731c 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -137,6 +137,7 @@ TS2_STATIC: DEFAULT_REFLECTOR: 0 ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 100 +ALLOW_UNREG_ID: False [ECHO] MODE: PEER diff --git a/hblink.py b/hblink.py index 2bd58dc..464b9ac 100755 --- a/hblink.py +++ b/hblink.py @@ -812,7 +812,11 @@ class HBSYSTEM(DatagramProtocol): _int_peer_id = int(_int_peer_id) _subscriber_ids = self._CONFIG['_SUB_IDS'] _peer_ids = self._CONFIG['_PEER_IDS'] - if _int_peer_id in _subscriber_ids: + _local_subscriber_ids = self._CONFIG['_LOCAL_SUBSCRIBER_IDS'] + + if _int_peer_id in _local_subscriber_ids: + return _local_subscriber_ids[_int_peer_id] + elif _int_peer_id in _subscriber_ids: return _subscriber_ids[_int_peer_id] elif _int_peer_id in _peer_ids: return _peer_ids[_int_peer_id] @@ -1332,7 +1336,13 @@ def mk_aliases(_config): if talkgroup_ids: logger.info('(ALIAS) ID ALIAS MAPPER: talkgroup_ids dictionary is available') - return peer_ids, subscriber_ids, talkgroup_ids + local_subscriber_ids = mk_id_dict(_config['ALIASES']['PATH'], _config['ALIASES']['LOCAL_SUBSCRIBER_FILE']) + if subscriber_ids: + logger.info('(ALIAS) ID ALIAS MAPPER: local_subscriber_ids dictionary is available') + + + + return peer_ids, subscriber_ids, talkgroup_ids, local_subscriber_ids #************************************************ diff --git a/loro.cfg b/loro.cfg index 302f687..c1cb24f 100644 --- a/loro.cfg +++ b/loro.cfg @@ -189,4 +189,5 @@ TS2_STATIC: DEFAULT_REFLECTOR: 0 GENERATOR: 1 ANNOUNCEMENT_LANGUAGE:es_ES +ALLOW_UNREG_ID: True