From 24a205e81a6ab42529ea6d54f0504f38a7f23c4f Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 18 Jan 2022 23:59:56 +0000 Subject: [PATCH] move timestamp --- hblink.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hblink.py b/hblink.py index f3b3001..7778b81 100755 --- a/hblink.py +++ b/hblink.py @@ -145,7 +145,7 @@ class OPENBRIDGE(DatagramProtocol): if _packet[:3] == DMR and self._config['TARGET_IP']: if 'VER' in self._config and self._config['VER'] > 1: - _packet = b''.join([DMRE,_packet[4:11], self._CONFIG['GLOBAL']['SERVER_ID'], time_ns().to_bytes(8,'big'), _packet[15:]]) + _packet = b''.join([DMRE,time_ns().to_bytes(8,'big'),_packet[4:11], self._CONFIG['GLOBAL']['SERVER_ID'],_packet[15:]]) _h = blake2b(key=self._config['PASSPHRASE'], digest_size=16) _h.update(_packet) _hash = _h.digest() @@ -305,10 +305,10 @@ class OPENBRIDGE(DatagramProtocol): if self._config['NETWORK_ID'] != _peer_id: logger.error('(%s) OpenBridge packet discarded because NETWORK_ID: %s Does not match sent Peer ID: %s', self._system, int_id(self._config['NETWORK_ID']), int_id(_peer_id)) return - _seq = _data[4] - _rf_src = _data[5:8] - _dst_id = _data[8:11] - _timestamp = _data[12:19] + _timestamp = _data[5:12] + _seq = _data[12] + _rf_src = _data[13:16] + _dst_id = _data[16:19] _bits = _data[23] _slot = 2 if (_bits & 0x80) else 1 #_call_type = 'unit' if (_bits & 0x40) else 'group' @@ -375,7 +375,7 @@ class OPENBRIDGE(DatagramProtocol): #Remove timestamp from data. For now dmrd_received does not expect it #Leaving it in screws up the AMBE data - _data = b''.join([_data[:12],_data[19:]]) + _data = b''.join([_data[:5],_data[12:]]) # Userland actions -- typically this is the function you subclass for an application self.dmrd_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _call_type, _frame_type, _dtype_vseq, _stream_id, _data,_hash) #Silently treat a DMRD packet like a keepalive - this is because it's traffic and the