Merge branch 'master' into AMI

AMI
Simon 4 years ago
commit d28760e1dc

@ -1419,7 +1419,7 @@ class routerOBP(OPENBRIDGE):
#Assemble transmit HBP packet header #Assemble transmit HBP packet header
_tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]]) _tmp_data = b''.join([_data[:15], _tmp_bits.to_bytes(1, 'big'), _data[16:20]])
_tmp_data = b''.join([_tmp_data, dmrpkt]) _tmp_data = b''.join([_tmp_data, dmrpkt])
systems[_d_system].send_system(_tmp_data,_hops) systems[_d_system].send_system(_tmp_data)
logger.info('(%s) UNIT Data Bridged to HBP on slot 1: %s DST_ID: %s',self._system,_d_system,_int_dst_id) logger.info('(%s) UNIT Data Bridged to HBP on slot 1: %s DST_ID: %s',self._system,_d_system,_int_dst_id)
if CONFIG['REPORTS']['REPORT']: if CONFIG['REPORTS']['REPORT']:
systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore')) systems[_d_system]._report.send_bridgeEvent('UNIT DATA,START,TX,{},{},{},{},{},{}'.format(_d_system, int_id(_stream_id), int_id(_peer_id), int_id(_rf_src), 1, _int_dst_id).encode(encoding='utf-8', errors='ignore'))
@ -1500,7 +1500,7 @@ class routerOBP(OPENBRIDGE):
} }
self.STATUS[_stream_id]['LAST'] = pkt_time self.STATUS[_stream_id]['LAST'] = pkt_time
self.STATUS[_stream_id][packets] = self.STATUS[_stream_id][packets] + 1 self.STATUS[_stream_id]['packets'] = self.STATUS[_stream_id]['packets'] + 1
hr_times = {} hr_times = {}
for system in systems: for system in systems:
@ -2175,7 +2175,7 @@ class routerHBP(HBSYSTEM):
_tmp_bits = _bits ^ 1 << 7 _tmp_bits = _bits ^ 1 << 7
else: else:
_tmp_bits = _bits _tmp_bits = _bits
self.sendDataToHBP(_d_system,_d_slot,_dst_id,_tmp_bits,_data,dmrpkt,_rf_src,_stream_id,_peer_id,None) self.sendDataToHBP(_d_system,_d_slot,_dst_id,_tmp_bits,_data,dmrpkt,_rf_src,_stream_id,_peer_id)
else: else:
logger.info('(%s) UNIT Data not bridged to HBP on slot 1 - target busy: %s DST_ID: %s',self._system,_d_system,_int_dst_id) logger.info('(%s) UNIT Data not bridged to HBP on slot 1 - target busy: %s DST_ID: %s',self._system,_d_system,_int_dst_id)

@ -54,6 +54,7 @@ DMR = b'DMR'
DMRD = b'DMRD' DMRD = b'DMRD'
DMRE = b'DMRE' DMRE = b'DMRE'
DMRF = b'DMRF' DMRF = b'DMRF'
EOBP = b'EOBP'
MSTCL = b'MSTCL' MSTCL = b'MSTCL'
MSTNAK = b'MSTNAK' MSTNAK = b'MSTNAK'
MSTPONG = b'MSTPONG' MSTPONG = b'MSTPONG'

@ -316,8 +316,8 @@ class OPENBRIDGE(DatagramProtocol):
h,p = _sockaddr h,p = _sockaddr
logger.warning('(%s) OpenBridge HMAC failed, packet discarded - OPCODE: %s DATA: %s HMAC LENGTH: %s HMAC: %s SRC IP: %s SRC PORT: %s', self._system, _packet[:4], repr(_packet[:53]), len(_packet[53:]), repr(_packet[53:]),h,p) logger.warning('(%s) OpenBridge HMAC failed, packet discarded - OPCODE: %s DATA: %s HMAC LENGTH: %s HMAC: %s SRC IP: %s SRC PORT: %s', self._system, _packet[:4], repr(_packet[:53]), len(_packet[53:]), repr(_packet[53:]),h,p)
elif _packet[:4] == DMRE: elif _packet[:4] == EOBP:
logger.warning('(%s) *ProtoControl* KF7EEL DMRE protocol not supported',self._system) logger.warning('(%s) *ProtoControl* KF7EEL EOBP protocol not supported',self._system)
return return
elif _packet[:4] == DMRF: elif _packet[:4] == DMRF:
@ -338,6 +338,7 @@ class OPENBRIDGE(DatagramProtocol):
_seq = _data[4] _seq = _data[4]
_rf_src = _data[5:8] _rf_src = _data[5:8]
_dst_id = _data[8:11] _dst_id = _data[8:11]
_int_dst_id = int_id(_dst_id)
_bits = _data[15] _bits = _data[15]
_slot = 2 if (_bits & 0x80) else 1 _slot = 2 if (_bits & 0x80) else 1
#_call_type = 'unit' if (_bits & 0x40) else 'group' #_call_type = 'unit' if (_bits & 0x40) else 'group'
@ -363,7 +364,8 @@ class OPENBRIDGE(DatagramProtocol):
_inthops = _hops +1 _inthops = _hops +1
if _inthops > 10: if _inthops > 10:
logger.warning('(%s) MAX HOPS exceed, dropping', self._system) logger.warning('(%s) MAX HOPS exceed, dropping. Hops: %s, DST: %s', self._system, _inthops, _int_dst_id)
self.send_bcsq(_dst_id,_stream_id)
return return

Loading…
Cancel
Save

Powered by TurnKey Linux.