|
|
|
|
@ -205,12 +205,22 @@ class OPENBRIDGE(DatagramProtocol):
|
|
|
|
|
if _slot != 1:
|
|
|
|
|
logger.error('(%s) OpenBridge packet discarded because it was not received on slot 1. SID: %s, TGID %s', self._system, int_id(_rf_src), int_id(_dst_id))
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Low-level TG filtering
|
|
|
|
|
if _call_type != 'unit':
|
|
|
|
|
_int_dst_id = int_id(_dst_id)
|
|
|
|
|
if _int_dst_id <= 79 or (_int_dst_id >= 9990 and _int_dst_id <= 9999) or _int_dst_id == 900999:
|
|
|
|
|
if _stream_id not in self._laststrid:
|
|
|
|
|
logger.info('(%s) CALL DROPPED WITH STREAM ID %s FROM SUBSCRIBER %s BY GLOBAL TG FILTER', self._system, int_id(_stream_id), _int_dst_id)
|
|
|
|
|
self.send_bcsq(_dst_id,_stream_id)
|
|
|
|
|
self._laststrid.append(_stream_id)
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
# ACL Processing
|
|
|
|
|
if self._CONFIG['GLOBAL']['USE_ACL']:
|
|
|
|
|
if not acl_check(_rf_src, self._CONFIG['GLOBAL']['SUB_ACL']):
|
|
|
|
|
if _stream_id not in self._laststrid:
|
|
|
|
|
logger.info('(%s) CALL DROPPED WITH STREAM ID %s FROM SUBSCRIBER %s BY GLOBAL ACL', self._system, int_id(_stream_id), int_id(_rf_src))
|
|
|
|
|
logger.info('(%s) CALL DROPPED WITH STREAM ID %s ON TGID %s BY GLOBAL TS1 ACL', self._system, int_id(_stream_id), int_id(_rf_src))
|
|
|
|
|
self.send_bcsq(_dst_id,_stream_id)
|
|
|
|
|
self._laststrid.append(_stream_id)
|
|
|
|
|
return
|
|
|
|
|
|