Date   

Re: DMRmonitor setup

Steve N4IRS
 

Running current code now too.

On 7/20/2017 2:33 PM, Peter M0NWI wrote:

YES!


Got it, the pointer was when you said it should be getting the config.


You'd hardcoded 9000, and I'd not opened that port back into the cloud host firewall!!


All OK now, thanks, really nice page, but I'm utilitarian anyway.


Great stuff Cort.


73,

Peter







Re: DMRmonitor setup

Peter M0NWI
 

YES!


Got it, the pointer was when you said it should be getting the config.


You'd hardcoded 9000, and I'd not opened that port back into the cloud host firewall!!


All OK now, thanks, really nice page, but I'm utilitarian anyway.


Great stuff Cort.


73,

Peter




From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Steve N4IRS <szingman@...>
Sent: 20 July 2017 19:21
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
That's what I get for not keeping up with the code. ;)

On 7/20/2017 2:20 PM, Cort N0MJS wrote:
Actually, they’re totally different. tcp_client was the first attempt at using TCP and then I build web_tables… but because I knew Steve was using tcp_client, I didn’t want to just overwrite it, so made a new file with a more accurate name…. like I said, this thing is far, far from prime time :)

set logging to DEBUG and you’ll know if you’re getting the config and building the it’s internal dictionaries… that’s gonna be really noisy… just try and prettyprint CTABLE…. if there’s stuff there, you got the config, if it stays empty, you didn’t.

On Jul 20, 2017, at 12:37 PM, Peter M0NWI <peter-martin@...> wrote:


Thanks Cort, I'll add some debug statements, but I'm not sure the config is being dumped at all, or i don't see a message tell me it has, you're right, it doesn't crash, I just keep getting the errors.

Can I just confirm that i should just be running web_tables, and that tcp_client is called by it?

Thanks
Peter


Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Cort N0MJS <n0mjs@...>
Sent: 20 July 2017 17:57:56
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206


Cort Buffington
785-865-7206



Re: DMRmonitor setup

Steve N4IRS
 

That's what I get for not keeping up with the code. ;)

On 7/20/2017 2:20 PM, Cort N0MJS wrote:
Actually, they’re totally different. tcp_client was the first attempt at using TCP and then I build web_tables… but because I knew Steve was using tcp_client, I didn’t want to just overwrite it, so made a new file with a more accurate name…. like I said, this thing is far, far from prime time :)

set logging to DEBUG and you’ll know if you’re getting the config and building the it’s internal dictionaries… that’s gonna be really noisy… just try and prettyprint CTABLE…. if there’s stuff there, you got the config, if it stays empty, you didn’t.

On Jul 20, 2017, at 12:37 PM, Peter M0NWI <peter-martin@...> wrote:


Thanks Cort, I'll add some debug statements, but I'm not sure the config is being dumped at all, or i don't see a message tell me it has, you're right, it doesn't crash, I just keep getting the errors.

Can I just confirm that i should just be running web_tables, and that tcp_client is called by it?

Thanks
Peter


Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Cort N0MJS <n0mjs@...>
Sent: 20 July 2017 17:57:56
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206


Cort Buffington
785-865-7206



Re: DMRmonitor setup

Cort N0MJS <n0mjs@...>
 

Actually, they’re totally different. tcp_client was the first attempt at using TCP and then I build web_tables… but because I knew Steve was using tcp_client, I didn’t want to just overwrite it, so made a new file with a more accurate name…. like I said, this thing is far, far from prime time :)

set logging to DEBUG and you’ll know if you’re getting the config and building the it’s internal dictionaries… that’s gonna be really noisy… just try and prettyprint CTABLE…. if there’s stuff there, you got the config, if it stays empty, you didn’t.

On Jul 20, 2017, at 12:37 PM, Peter M0NWI <peter-martin@...> wrote:


Thanks Cort, I'll add some debug statements, but I'm not sure the config is being dumped at all, or i don't see a message tell me it has, you're right, it doesn't crash, I just keep getting the errors.

Can I just confirm that i should just be running web_tables, and that tcp_client is called by it?

Thanks
Peter


Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Cort N0MJS <n0mjs@...>
Sent: 20 July 2017 17:57:56
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206


Cort Buffington
785-865-7206


Re: DMRmonitor setup

Steve N4IRS
 

I'm running tcp_client.py

On 7/20/2017 1:37 PM, Peter M0NWI wrote:

Thanks Cort, I'll add some debug statements, but I'm not sure the config is being dumped at all, or i don't see a message tell me it has, you're right, it doesn't crash, I just keep getting the errors.

Can I just confirm that i should just be running web_tables, and that tcp_client is called by it?

Thanks
Peter


Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Cort N0MJS <n0mjs@...>
Sent: 20 July 2017 17:57:56
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206



Re: DMRmonitor setup

Peter M0NWI
 


Thanks Cort, I'll add some debug statements, but I'm not sure the config is being dumped at all, or i don't see a message tell me it has, you're right, it doesn't crash, I just keep getting the errors.

Can I just confirm that i should just be running web_tables, and that tcp_client is called by it?

Thanks
Peter


Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Cort N0MJS <n0mjs@...>
Sent: 20 July 2017 17:57:56
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRmonitor setup
 
DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206


Re: DMRmonitor setup

Cort N0MJS <n0mjs@...>
 

DMRmonitor is really i its infancy. I’m not really happy with a lot of it, but it’s out there. The hyphen shouldn’t be a problem — hyphens are valid in strings. 

The problem you’re getting is it’s trying to set a dictionary value for the key "IPSC-GB7HS” and that key does not exist.

Most probable answer is that you’re getting an RCM message before the first dump of the config dict from DMRlink to web_tables… Does it kill the web_tables process? If not, does the problem persist past the first load of the config table into web_tables? I’m making wild speculation here — but without looking deeper than I have time to, I know there are a number of circumstances with this code where things aren’t stable until it’s been running for a few seconds (maybe up to a minute) because of numerous “chicken and egg” problems — but I’ve never had it terminate the process on me, the errors just stop after all of the data has been loaded in… and often times it only happens when the repeaters are active right on startup of web_tables.

Yeah, I know, poor programming… It’s how I work… get it working at all, then clean it up.


My vacation is over now and time to dig into things is scarce. If I were troubleshooting this problem, and it was clear web_tables had received a config dump from dmrlink, I’d add temporary code to prettyprint CTABLE and _name between lines 122 and 123 and find out what’s going on that way.


0x49 DE N0MJS

On Jul 20, 2017, at 11:25 AM, Peter M0NWI <peter-martin@...> wrote:

Cort/Steve,

I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?

I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.

I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.

I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?

This is what I'm getting;

root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']

<dummyfile.0.part>

I've tried, but getting stuck now.

73,
Peter



Cort Buffington
785-865-7206


DMRmonitor setup

Peter M0NWI
 

Cort/Steve,


I'm trying to get the DMRMonitor package running, but struggling and could do with a steer?


I've downloaded and setup the DMRlink bridge code using the socket-reporting branch (in /opt/dmrrep), also installed and configured the DMRmonitor package (in /opt/dmrrep/dmrmonitor) and its dependencies, I have got the 2 talking connected to each other, and I can also surf to the webpage being served from the code.  When running the application interactively I'm getting error messages on the data coming into dmrmonitor from dmrlink, and the web template is not filling out.  DMRLink is running supporting all the repeater bridging without problem.


I've checked the DMRlink.cfg and I've got the 2 options RCM and and CON_APP set to true.


I'm wondering if have a hyphen in the middle of my IPSC names, is not allowed?


This is what I'm getting;


root@www:/opt/dmrrep/dmrmonitor# ./web_tables.py
INFO:root:ID ALIAS MAPPER: 'peer_ids.csv' successfully downloaded
INFO:root:ID ALIAS MAPPER: 'subscriber_ids.csv' successfully downloaded
INFO:root:Initiating Connection to Server.
INFO:root:Connected.
INFO:root:Resetting reconnection delay
INFO:root:static website requested: <Request at 0xb618276c method=GET uri=/ clientproto=HTTP/1.1>
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 214, in doRead
    return self._dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 220, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 180, in dataReceived
    self._consumeData()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 225, in _consumeData
    self._consumePayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 352, in _consumePayload
    self._processPayload()
  File "/usr/lib/python2.7/dist-packages/twisted/protocols/basic.py", line 398, in _processPayload
    self.stringReceived(self._payload.getvalue()[:-1])
  File "./web_tables.py", line 413, in stringReceived
    process_message(data)
  File "./web_tables.py", line 370, in process_message
    process_rcm(_message[1:])
  File "./web_tables.py", line 137, in process_rcm
    CTABLE[_name]['PEERS'][_source][_ts]['STATUS'] = _status
exceptions.KeyError: 'IPSC-GB7HS'
INFO:root:Lost connection.  Reason: [Failure instance: Traceback (failure with no frames): <type 'exceptions.KeyError'>: 'IPSC-GB7HS']



I've tried, but getting stuck now.

73,
Peter



Re: Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Matthew 2E0SIP
 

Hi Cort,

On Fri, Jul 14, 2017 at 06:09 am, Cort N0MJS wrote:
Let's not just change it, but make it a configurable option to either masquerade or preserve the source ID.

To clarify, I am referring to the RADIO_ID variable in the HB_Link code, which is known as the 'Repeater ID' in the MMDVM protocol spec. I am not talking about the DMR ID of the radio that sent the transmission.

I don't mind making it a configurable option, however in the HB_Link implementation at least, if a Master receives a frame from a client, with a different RADIO_ID (Repeater ID) to the ID the client sent during the login process, it will be dropped.

Do you know if the Brandmeister / DMR+ implementations also validate the Repeater ID?  

Cheers
Matthew


Re: hb_confbridge_rules.py wildcard TGID ....

Matthew 2E0SIP
 

Thanks Mathew  , from what I have experienced ,  hb_parrot.py will repeat  ANY TG/TS that it receives 

Yes this is true, but I intend on running the traffic through conf bridge first.

73
Matthew 
2E0SIP


Re: hb_confbridge_rules.py wildcard TGID ....

 

Thanks Mathew  , from what I have experienced ,  hb_parrot.py will repeat  ANY TG/TS that it receives .

 

I tested  MMDVM  Client in hb_parrot.py as a  master and it  echoes every TG/TS it receives .

So if  you   put a hb_parrot.py  available  from outside ( NAT) , it  should be available  for any one to test it’s  MMDVM repeater or hotspot ...

 

Unless I am  wrong ......

 

Thanks also  to Cort . I am  aware it’s not a simple  add on to put in place ...

 

Richard

 

Provenance : Courrier pour Windows 10

 

De : Matthew 2E0SIP
Envoyé le :vendredi 14 juillet 2017 16:52
À : DVSwitch@groups.io
Objet :Re: [DVSwitch] hb_confbridge_rules.py wildcard TGID ....

 

I will have a look at adding this in the coming days as I'd like similar functionality. I want a 'server' that acts purely as an echo / parrot service regardless of talk group, so people can test hotspots etc with minimal code plug edits, and without sending traffic to the networks.

 


Re: hb_confbridge_rules.py wildcard TGID ....

Cort N0MJS <n0mjs@...>
 

I’ve been thinking about how to effectively do this for some time. It’s not as easy as you might think given the way the rules and confbridge work. Each line controls both ingress and egress behavior for a particular conference bridge. Right now I’ve been leaning on a few specially named conference bridges that have their own pre-defined behavior.


On Jul 14, 2017, at 3:31 PM, Richard (Joseph) VE2DJE <ve2dje@...> wrote:

I wonder if here is any way to  program a wildcard or passAll  in hb_confbridge_rules.py
 
I have my setup  3 rules ,
 
First branch  sends TG9TS2 to HB_Bridge   Analog_Bridge   AST
Second branch sends TG9991TS2  to HB_parrot 
Third sends TG3027TS1 to BM Server .
 
I would like  to know if there is  a way to  send “all” TG on TS1 to BM server.
 
Something like a Wild card  ‘TGID’ : *,    instead of listing all possible  TGID ????? 
 
That would need to  set an  ORDER  in   the hb_confbridge_rules.py files 
So that  the wild card  is the last  entry ..... ( Catch All type ) 
 
If not in that version , can it be evaluated as a add on to a next version ..
 
Thanks
 
Richard VE2DJE

Provenance : Courrier pour Windows 10
 

--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Re: hb_confbridge_rules.py wildcard TGID ....

Matthew 2E0SIP
 

I will have a look at adding this in the coming days as I'd like similar functionality. I want a 'server' that acts purely as an echo / parrot service regardless of talk group, so people can test hotspots etc with minimal code plug edits, and without sending traffic to the networks.


hb_confbridge_rules.py wildcard TGID ....

 

I wonder if here is any way to  program a wildcard or passAll  in hb_confbridge_rules.py

 

I have my setup  3 rules ,

 

First branch  sends TG9TS2 to HB_Bridge   Analog_Bridge   AST

Second branch sends TG9991TS2  to HB_parrot

Third sends TG3027TS1 to BM Server .

 

I would like  to know if there is  a way to  send “all” TG on TS1 to BM server.

 

Something like a Wild card  ‘TGID’ : *,    instead of listing all possible  TGID ?????

 

That would need to  set an  ORDER  in   the hb_confbridge_rules.py files

So that  the wild card  is the last  entry ..... ( Catch All type )

 

If not in that version , can it be evaluated as a add on to a next version ..

 

Thanks

 

Richard VE2DJE

Provenance : Courrier pour Windows 10

 


Re: Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Cort N0MJS <n0mjs@...>
 

Mathew,

Good point. I did it that way to obfuscate the origin of the traffic to an upstream Network.

Let's not just change it, but make it a configurable option to either masquerade or preserve the source ID.

Sent from my iPhone

On Jul 13, 2017, at 8:01 PM, Matthew 2E0SIP <groups.io@...> wrote:

Hi Both,
 
Richard - Thanks for sending your diagram, it helps to see things 'visually'

Cort - Thanks for the heads up. Now that you've mentioned it, its obvious that MMDVM clients could connect straight to hb_confbridge. Doh!
 
The code change adds about 5 lines, so not much is lost if it turns out to be unnecessary - although there may be a use case for my change.
 
We can pick this up when you get time - I'm in no huge rush.
 
Thanks again for your help,
 
Matthew
2E0SIP 


Re: Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Matthew 2E0SIP
 

Hi Both,
 
Richard - Thanks for sending your diagram, it helps to see things 'visually'

Cort - Thanks for the heads up. Now that you've mentioned it, its obvious that MMDVM clients could connect straight to hb_confbridge. Doh!
 
The code change adds about 5 lines, so not much is lost if it turns out to be unnecessary - although there may be a use case for my change.
 
We can pick this up when you get time - I'm in no huge rush.
 
Thanks again for your help,
 
Matthew
2E0SIP 


Re: Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Cort N0MJS <n0mjs@...>
 

Your configuration does not require running hblink.py at all. You only need parrot and hb_confbridge.py. I don’t have the time right now to write it all up, but as you’re modifying code and going to submit a PR based on not using the existing code correctly, I felt I should post something to stop you before you go to more unnecessary trouble.

hb_confbridge.py calls and uses everything hblink.py does and is…. it *adds* functionality, to hblink.py, so there’s no need to run a copy of each.




On Jul 13, 2017, at 7:37 PM, Matthew 2E0SIP <groups.io@...> wrote:

I switched to the HB_Bridge branch and it performed a little better, in that hb_confbridge was relaying the frames to the parrot, however the parrot was still ignoring them.

I did some digging and found this was due to the fact that hb_confbridge was relaying the frames with the Radio_ID of hblink, rather than that of the Parrots 'client', so they were dropped.

I've resolved it by re-writing the RADIO_ID of the frame is being relayed to a master. I will submit a PR in due course, however I think I must be missing something as I'm surprised this hasn't picked up in the past. 

Is it unusual / unsupported for conf_bridge to bridge two Masters? 

Thanks
Matthew
2E0SIP

--
Cort Buffington
H: +1-785-813-1501
M: +1-785-865-7206






Re: Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Matthew 2E0SIP
 

I switched to the HB_Bridge branch and it performed a little better, in that hb_confbridge was relaying the frames to the parrot, however the parrot was still ignoring them.

I did some digging and found this was due to the fact that hb_confbridge was relaying the frames with the Radio_ID of hblink, rather than that of the Parrots 'client', so they were dropped.

I've resolved it by re-writing the RADIO_ID of the frame is being relayed to a master. I will submit a PR in due course, however I think I must be missing something as I'm surprised this hasn't picked up in the past. 

Is it unusual / unsupported for conf_bridge to bridge two Masters? 

Thanks
Matthew
2E0SIP


Trying to setup a basic 'Parrot', however hb_confbridge.py is not matching the RADIO_ID

Matthew 2E0SIP
 

Hi all,

I'm trying to setup a basic parrot, which consists of the following-

hb_parrot (Master) - Provides Parrot Service

hblink (Master) - Allows clients to connect to the service

hb_confbridge (Client) - Conferences the two masters together, bridging audio from 'clients' to the Parrot

My MMDVM based hotspot has successfully connected to hblink, and hblink is relaying DMR frames to hb_confbridge, however they are failing client_datagramReceived RADIO_ID validation, as they are being recieved with the ID of my handheld rather than a client. I have verified this by adding an additional line of logging to hblink.py

I feel like I'm missing something obvious, or I've got my understanding wrong.

Thanks in advance,
Matthew
2E0SIP

PARROT
[MASTER-1] MODE: MASTER ENABLED: True REPEAT: True EXPORT_AMBE: False IP: 127.0.0.1 PORT: 54001 PASSPHRASE: passw0rd GROUP_HANGTIME: 5

hblink

[MASTER-1]

MODE: MASTER
ENABLED: True
REPEAT: True
EXPORT_AMBE: False
IP:
PORT: 54000
PASSPHRASE: passw0rd
GROUP_HANGTIME: 5

hb_confbridge

[PARROT]
MODE: CLIENT
ENABLED: True
EXPORT_AMBE: False
IP: 127.0.0.1
PORT: 54011
MASTER_IP: 127.0.0.1
MASTER_PORT: 54001
PASSPHRASE: passw0rd
CALLSIGN: 2E0SIP
RADIO_ID: 312001
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 25
COLORCODE: 1
SLOTS: 2
LATITUDE: 38.0000
LONGITUDE: -095.0000
HEIGHT: 75
LOCATION: Anywhere, USA
DESCRIPTION: This is a cool repeater
URL: www.w1abc.org
SOFTWARE_ID: HBlink
PACKAGE_ID: v0.1
GROUP_HANGTIME: 5
OPTIONS:

[MASTER]
MODE: CLIENT
ENABLED: True
EXPORT_AMBE: False
IP: 127.0.0.1
PORT: 54010
MASTER_IP: 127.0.0.1
MASTER_PORT: 54000
PASSPHRASE: passw0rd
CALLSIGN: 2E0SIP
RADIO_ID: 312002
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 25
COLORCODE: 1
SLOTS: 2
LATITUDE: 38.0000
LONGITUDE: -095.0000
HEIGHT: 75
LOCATION: Anywhere, USA
DESCRIPTION: This is a cool repeater
URL: www.w1abc.org
SOFTWARE_ID: HBlink
PACKAGE_ID: v0.1
GROUP_HANGTIME: 5
OPTIONS:


Re: DMRlink <-> HBlink communication

Peter M0NWI
 

Mike,

Can I ask about the template file.  Back in time chatting to Cort, we discussed DMRlink having a template based system so adding more repeater manufacturers would be a simpler task, identify the strings required for each type got the template, group voice etc, and hopefully the Ambe data will fit into another manufacturers frame type.

The reason I ask is that I've gotten hold of a Hytera DMR repeater, and wondered if there might be some mileage in adding this to the types offered by DVSwitch?

73,
Peter

Sent from Outlook
From: DVSwitch@groups.io <DVSwitch@groups.io> on behalf of Mike Zingman - N4IRR <mike.zingman@...>
Sent: 13 July 2017 18:55:29
To: DVSwitch@groups.io
Subject: Re: [DVSwitch] DMRlink <-> HBlink communication
 
The template file is a requirement for creating IPSC frames from the bridge.  

9581 - 9600 of 9931