|
|
|
|
@ -159,7 +159,7 @@ class OPENBRIDGE(DatagramProtocol):
|
|
|
|
|
|
|
|
|
|
if 'VER' in self._config and self._config['VER'] > 3:
|
|
|
|
|
_ver = VER.to_bytes(1,'big')
|
|
|
|
|
_packet = b''.join([DMRE,_packet[4:11], self._CONFIG['GLOBAL']['SERVER_ID'],_packet[15:],_ber,_rssi,_ver,time_ns().to_bytes(8,'big'), _source_server, _hops])
|
|
|
|
|
_packet = b''.join([DMRE,_packet[4:11], self._CONFIG['GLOBAL']['SERVER_ID'],_packet[15:],_ber.to_bytes(1,'big'),_rssi.to_bytes(1,'big'),_ver,time_ns().to_bytes(8,'big'), _source_server.to_bytes(4,'big'), _hops])
|
|
|
|
|
_h = blake2b(key=self._config['PASSPHRASE'], digest_size=16)
|
|
|
|
|
_h.update(_packet)
|
|
|
|
|
_hash = _h.digest()
|
|
|
|
|
@ -342,8 +342,8 @@ class OPENBRIDGE(DatagramProtocol):
|
|
|
|
|
|
|
|
|
|
elif _packet[:4] == DMRE:
|
|
|
|
|
_data = _packet[:53]
|
|
|
|
|
_ber = _packet[53:54]
|
|
|
|
|
_rssi = _packet[54:55]
|
|
|
|
|
_ber = _packet[53]
|
|
|
|
|
_rssi = _packet[54]
|
|
|
|
|
_embedded_version = _packet[55]
|
|
|
|
|
_timestamp = _packet[56:64]
|
|
|
|
|
_source_server = _packet[64:68]
|
|
|
|
|
@ -732,9 +732,9 @@ class HBSYSTEM(DatagramProtocol):
|
|
|
|
|
def updateSockaddr_errback(self,failure):
|
|
|
|
|
logger.info('(%s) hostname resolution error: %s',self._system,failure)
|
|
|
|
|
|
|
|
|
|
def send_peers(self, _packet, _hops = b'', _ber = b'\x00', _rssi = b'\x00',_source_server = b'\x00\x00\x00\x00'):
|
|
|
|
|
def send_peers(self, _packet, _hops = b'', _ber = b'\x00', _rssi = b'\x00',_source_server = b'\x00\x00\x00\x00', _ber = b'\x00', _rssi = b'\x00'):
|
|
|
|
|
for _peer in self._peers:
|
|
|
|
|
_packet =b''.join([_packet,_ber,_rssi])
|
|
|
|
|
_packet =b''.join([_packet,_ber.to_bytes(1,'big'),_rssi.to_bytes(1,'big')])
|
|
|
|
|
self.send_peer(_peer, _packet)
|
|
|
|
|
#logger.debug('(%s) Packet sent to peer %s', self._system, self._peers[_peer]['RADIO_ID'])
|
|
|
|
|
|
|
|
|
|
@ -747,7 +747,7 @@ class HBSYSTEM(DatagramProtocol):
|
|
|
|
|
|
|
|
|
|
def send_master(self, _packet, _hops = b'', _ber = b'\x00', _rssi = b'\x00',_source_server = b'\x00\x00\x00\x00'):
|
|
|
|
|
if _packet[:4] == DMRD:
|
|
|
|
|
_packet = b''.join([_packet[:11], self._config['RADIO_ID'], _packet[15:],_ber,_rssi])
|
|
|
|
|
_packet = b''.join([_packet[:11], self._config['RADIO_ID'], _packet[15:],_ber.to_bytes(1,'big'),_rssi.to_bytes(1,'big')])
|
|
|
|
|
self.transport.write(_packet, self._config['MASTER_SOCKADDR'])
|
|
|
|
|
# KEEP THE FOLLOWING COMMENTED OUT UNLESS YOU'RE DEBUGGING DEEPLY!!!!
|
|
|
|
|
#logger.debug('(%s) TX Packet to %s:%s -- %s', self._system, self._config['MASTER_IP'], self._config['MASTER_PORT'], ahex(_packet))
|
|
|
|
|
|