Bridging Now Works

This commit is contained in:
Cort Buffington 2013-11-05 19:30:31 -06:00
parent 25c9ce23d2
commit 10f73545ad
2 changed files with 5 additions and 8 deletions

View File

@ -13,7 +13,7 @@ from twisted.internet import task
import binascii import binascii
import dmrlink import dmrlink
from dmrlink import IPSC, UnauthIPSC, NETWORK, networks, int_id, send_to_ipsc from dmrlink import IPSC, UnauthIPSC, NETWORK, networks, int_id, send_to_ipsc, dmr_nat
RULES = { RULES = {
'K0USY': { 'K0USY': {
@ -56,12 +56,12 @@ class bridgeIPSC(IPSC):
_data = _data.replace(_peerid, NETWORK[_target]['LOCAL']['RADIO_ID']) _data = _data.replace(_peerid, NETWORK[_target]['LOCAL']['RADIO_ID'])
# Re-Write the destinaion Group ID # Re-Write the destinaion Group ID
_data = _data.replace(_dst_sub, source['DST_GROUP']) _data = _data.replace(_dst_sub, source['DST_GROUP'])
_data = dmr_nat(_data, '\x00\x0C\x30')
# Calculate and append the authentication hash for the target network... if necessary # Calculate and append the authentication hash for the target network... if necessary
if NETWORK[_target]['LOCAL']['AUTH_KEY'] == True: if NETWORK[_target]['LOCAL']['AUTH_ENABLED'] == True:
_data = hashed_packet(NETWORK[_target]['LOCAL']['AUTH_KEY'], _data) _data = self.hashed_packet(NETWORK[_target]['LOCAL']['AUTH_KEY'], _data)
# Send the packet to all peers in the target IPSC # Send the packet to all peers in the target IPSC
send_to_ipsc(_target, _data) send_to_ipsc(_target, _data)
print(_target, binascii.b2a_hex(_data))
def private_voice(self, _network, _src_sub, _dst_sub, _ts, _end, _peerid, _data): def private_voice(self, _network, _src_sub, _dst_sub, _ts, _end, _peerid, _data):
pass pass

View File

@ -228,11 +228,8 @@ def valid_master(_network, _peerid):
# Accept a complete packet, ready to be sent, and send it to all active peers + master in an IPSC # Accept a complete packet, ready to be sent, and send it to all active peers + master in an IPSC
# #
def send_to_ipsc(_target, _packet): def send_to_ipsc(_target, _packet):
# _log = logger.debug # Send to the Master
# Send to the Master
# _log('Sending %s to:', binascii.b2a_hex(_packet)
networks[_target].transport.write(_packet, (NETWORK[_target]['MASTER']['IP'], NETWORK[_target]['MASTER']['PORT'])) networks[_target].transport.write(_packet, (NETWORK[_target]['MASTER']['IP'], NETWORK[_target]['MASTER']['PORT']))
# _log(' Master: %s', binascii.b2a_hex(NETWORK[_target]['MASTER']['RADIO_ID']))
# Send to each connected Peer # Send to each connected Peer
for peer in NETWORK[_target]['PEERS']: for peer in NETWORK[_target]['PEERS']:
if peer['STATUS']['CONNECTED'] == True: if peer['STATUS']['CONNECTED'] == True: