Date   

Re: DMRlink.cfg #dmrlink #best_practices

Alex IK7SEC
 

In my configuration I don't use confbridge_rules.py to manage voice\data stream. To have less variables I decided hblink3 manage data\voice flow by rules.py.

I choosen to do so beacouse in this way i have moto repeaters as a peer-> dmrlink as Master -> hblink as Client -> hblink3 as Master, but in my case i don't need to manage TGs forwarding them to differnt TG or Time slot.


Error code help #dmrlink

ai6bx
 

Has anyone run across the authentication error messages below?

root@AI6BX-DMR:~# tail -f /var/log/dmrlink/dmrlink.log
INFO (ALL IPSC SYSTEMS) Rule timer loop started
WARNING (RIFFNET) AuthError: IPSC packet failed authentication. Type 52: Peer: 1347701760, 149.28.84.243:54009
INFO (RIFFNET) Master Registration Packet Received from peer 734566, 45.56.180.181:62040
 
ERROR (RIFFNET) Unknown Message - Type: f0 From: 734566 Packet: f0000b35664a531000
WARNING (RIFFNET) AuthError: IPSC packet failed authentication. Type 52: Peer: 1347701760, 149.28.84.243:54009
INFO (RIFFNET) Master Registration Packet Received from peer 734566, 45.56.180.181:62040
 


Re: Switch Between BM and TGIF

Ke4tlc
 
Edited

 

Thanks for the efforts of Jeff Lehman N8ACL, Dion Brown KE4TLC, and Jim Lathan W4JLP

 

Files located in /opt/MMDVM_Bridge

MMDVM_Bridge.ini

MMDVM_Bridge_BM.ini ß Brandmeister (copy of original MMDVM_Bridge.ini)

MMDVM_Bridge_TGIF.ini ß TGIF (copy of original MMDVM_Bridge.ini and change under section [DMR Network] Address=84.232.5.113 to Address=tgif.network, save file and close.

 

Scripts: Create these files in the /opt/Analog_Bridge

BM_chng.sh ß Changes MMDVM Bridge to Brandmeister

TGIF_chng.shß Changes MMDVM Bridge to TGIF

 

BM_chng.sh

#! /bin/bash

cp /opt/MMDVM_Bridge/MMDVM_Bridge_BM.ini  /opt/MMDVM_Bridge/MMDVM_Bridge.ini

service mmdvmb restart

 

TGIF_Chng.sh

#! /bin/bash

cp /opt/MMDVM_Bridge/MMDVM_Bridge_TGIF.ini  /opt/MMDVM_Bridge/MMDVM_Bridge.ini

service mmdvmb restart

 

Change Mod of BM_chng.sh and TGIF_chng.sh

                chmod 755 /opt/MMDVM_Bridge/BM_chng.sh

chmod 755 /opt/MMDVM_Bridge/TGIF_chng.sh

 

Edit /opt/Analog_Bridge/dvsm.ini and add the following macros, see example below:

Note: If you cannot access a keyboard on your device screen, use keypad numbers, i.e. *72.

AB=/opt/Analog_Bridge/BM_chng.sh dmr.ini

AC=/opt/Analog_Bridge/TGIF_chng.sh dmr.ini

 

So to ensure all is applied, restart Raspberry Pi.


Re: Disconnection after 45 seconds

Steve N4IRS
 

Mike,
Just a FYI. I'm not sure the issue is battery optimization, but it needs to be checked.
Mike and I spoke about this today and it MAY be a issue with Network Address Translation. Analog_Bridge pings DVSM when in NAT mode (single UDP port) This is done so that NAT does not time out. The issue may be that we are not pinging often enough. Mike has a double NAT install running. We hope that the double NAT may help us recreate the issue.

73, Steve N4IRS
 

On 11/26/19 9:56 PM, VK4SED wrote:
Thanks Steve.
I didn’t see that control on the network radio. I’ll dig a bit deeper.
73’s
Mike VK4SED


Re: Disconnection after 45 seconds

Steve N4IRS
 

I have a Inrico T320.
Settings/Battery
Top right hand corner 3 vertical dots
Battery Optimization

Steve

On 11/26/19 9:56 PM, VK4SED wrote:
Thanks Steve.
I didn’t see that control on the network radio. I’ll dig a bit deeper.
73’s
Mike VK4SED


Re: Disconnection after 45 seconds

VK4SED
 

Thanks Steve.
I didn’t see that control on the network radio. I’ll dig a bit deeper.
73’s
Mike VK4SED


ai6bx
 

I had dmrlink working correctly with one master and one peer. The peer forwards to another dmr master with additional Moto repeaters and the master is linked to a Moto 8300 configured as a peer. When I added a second DMR repeater to the mix, linking to the master, both connected to the bridge however one does not hear the other. I have configured two new peer profiles for the two dmr repeaters and pointed these to the master and made corresponding entries into the confbridge_rules.py file however and nothing passes. Was my original config correct and missing a line in the confbridge_rules file?


Re: confbridge_rules.py error #dmrlink

ai6bx
 

All appears to be starting correctly now however I am not getting audio between repeaters. I have one master, RiffNet, and five peers built into my confbridge_rules.py. Shouldn’t these pass audio between each now? When I had a single master and single peer it was working.


Re: using output of MMDVM_Bridge as telemetry for ASL

Steve N4IRS
 

Al,
Good to hear. There are quite a few little known or used features in app_rpt. I do request further discussion we move this to:
<https://dvswitch.groups.io/g/DVSwitch-ASL> for DVSwitch enhancements to ASL
<https://dvswitch.groups.io/g/allstarlink> ASL to digital bridging

73, Steve N4IRS

On 11/26/2019 9:57 AM, Al Williams, K2WM wrote:
Steve,

Thank you! I've been looking for a way to automatically fail over a primary hub to a backup hub. I think that Events will likely be the answer.

73, Al, K2WM

On 11/25/2019 3:17 PM, Steve N4IRS wrote:
I won't get into most of what you asked since it's not written in stone how to do what you want to but...
To trigger on key or unkey, look at event <https://wiki.allstarlink.org/wiki/Event_Management>

73, Steve N4IRS

On 11/25/19 3:03 PM, Patrick Perdue wrote:
Hi:

Let me explain what this is all about.

I have ASL running on a VPS, with MMDVM_Bridge and Analog_Bridge parked on a private ASL node connected to the publicly accessible node.

This public node also has a pair of streams -- one to my personal Icecast server, the other to Broadcastify.

I have enabled telemetry on the public node, so that anyone listening to the stream gets courtesy tones and connect/disconnect messages. These, of course, don't propogate to DMR and D-STAR, because that's just a terrible idea.

Here's what I want to do next.

It would be nice if the ASL node could announce the call sign of anyone who keys up on DMR, but, say, only once per hour. Otherwise, quick keys and QSOs would be really, really annoying.

There is a script from HamVoIP which can be used to easily speak call signs, and I have replaced the sound pack with a much faster, more efficient set, so it takes about 70% less time to get through a call sign than with Allison.

My thought was to try and write something that would grep a relevant line from MMDVM_Bridge.log for a pattern, store the last call sign as a variable, look for that call sign in a file that would be deleted once an hour. If that call exists in the file, do nothing. Otherwise, pass the call sign as an argument to the speaktext script, then append it to the end of the file so that it isn't spoken again until the file is flushed.

The one thing I am unsure of is how to make this script fire at the right point in time. I want to run this script, ideally, after someone keys or unkeys, which ever would work out best. Failing that, configure Asterisk to use the tailmessage at a very short interval, pointing it at a specific file which is deleted after being played, and running the script in a loop in the background, with checks for the existence of files so it doesn't do unnecessary stuff, using /tmp so as to avoid lots of disk reads and writes.

I doubt anyone has done this before, but mostly what I'm looking for is best practices, and if this is even feasible, or if I'm going about this all the wrong way.






Re: using output of MMDVM_Bridge as telemetry for ASL

Al Williams, K2WM
 

Steve,

Thank you! I've been looking for a way to automatically fail over a primary hub to a backup hub. I think that Events will likely be the answer.

73, Al, K2WM

On 11/25/2019 3:17 PM, Steve N4IRS wrote:
I won't get into most of what you asked since it's not written in stone how to do what you want to but...
To trigger on key or unkey, look at event <https://wiki.allstarlink.org/wiki/Event_Management>

73, Steve N4IRS

On 11/25/19 3:03 PM, Patrick Perdue wrote:
Hi:

Let me explain what this is all about.

I have ASL running on a VPS, with MMDVM_Bridge and Analog_Bridge parked on a private ASL node connected to the publicly accessible node.

This public node also has a pair of streams -- one to my personal Icecast server, the other to Broadcastify.

I have enabled telemetry on the public node, so that anyone listening to the stream gets courtesy tones and connect/disconnect messages. These, of course, don't propogate to DMR and D-STAR, because that's just a terrible idea.

Here's what I want to do next.

It would be nice if the ASL node could announce the call sign of anyone who keys up on DMR, but, say, only once per hour. Otherwise, quick keys and QSOs would be really, really annoying.

There is a script from HamVoIP which can be used to easily speak call signs, and I have replaced the sound pack with a much faster, more efficient set, so it takes about 70% less time to get through a call sign than with Allison.

My thought was to try and write something that would grep a relevant line from MMDVM_Bridge.log for a pattern, store the last call sign as a variable, look for that call sign in a file that would be deleted once an hour. If that call exists in the file, do nothing. Otherwise, pass the call sign as an argument to the speaktext script, then append it to the end of the file so that it isn't spoken again until the file is flushed.

The one thing I am unsure of is how to make this script fire at the right point in time. I want to run this script, ideally, after someone keys or unkeys, which ever would work out best. Failing that, configure Asterisk to use the tailmessage at a very short interval, pointing it at a specific file which is deleted after being played, and running the script in a loop in the background, with checks for the existence of files so it doesn't do unnecessary stuff, using /tmp so as to avoid lots of disk reads and writes.

I doubt anyone has done this before, but mostly what I'm looking for is best practices, and if this is even feasible, or if I'm going about this all the wrong way.





Re: confbridge_rules.py error #dmrlink

ai6bx
 

You were correct sir. Thank you.


Re: confbridge_rules.py error #dmrlink

Doug Kingston
 

I don't have the file to look at, but I would check the previous line for a syntax error that isn't detected until this line.


confbridge_rules.py error #dmrlink

ai6bx
 

I have dmrlink up and running and then added a few other peers to my dmrlink.cfg file. I then did a copy/paste of existing lines in my confbridge_rules file and changed the system names to match the new entries in dmrlink.cfg. I am now getting syntax error messages as follows. I have looked at the lines very closely and don't see anything off. I have also tried re-writing my hand with the same results. I am open to suggestions or is it not a syntax error and something not linking from another file?
root@AI6BX-DMR:~# systemctl status dmrlink
● dmrlink.service - Controls when dmrlink starts
   Loaded: loaded (/lib/systemd/system/dmrlink.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2019-11-25 21:34:11 PST; 12min ago
  Process: 476 ExecStart=/opt/DMRlink/confbridge.py (code=exited, status=1/FAILURE)
 Main PID: 476 (code=exited, status=1/FAILURE)
 
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:     bridge_file = import_module(_confbridge_rules)
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:     __import__(name)
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:   File "/opt/DMRlink/confbridge_rules.py", line 55
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:     {'SYSTEM': 'CARLSBAD',    'TS': 1, 'TGID': 156, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',   'ON': [2,], 'OFF': [9,10]
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]:     ^
Nov 25 21:34:11 AI6BX-DMR confbridge.py[476]: SyntaxError: invalid syntax
Nov 25 21:34:11 AI6BX-DMR systemd[1]: dmrlink.service: Main process exited, code=exited, status=1/FAILURE
Nov 25 21:34:11 AI6BX-DMR systemd[1]: dmrlink.service: Unit entered failed state.
Nov 25 21:34:11 AI6BX-DMR systemd[1]: dmrlink.service: Failed with result 'exit-code'.

If I comment out this line, it gives me the same error on the next pasted line.

Here is what I get when I try to start the script:

root@AI6BX-DMR:~# cd /opt/DMRlink
root@AI6BX-DMR:/opt/DMRlink# python confbridge.py
INFO 2019-11-25 21:47:48,327 DMRlink 'dmrlink.py' (c) 2013 - 2015 N0MJS & the K0USY Group - SYSTEM STARTING...
INFO 2019-11-25 21:47:48,328 ID ALIAS MAPPER: 'peer_ids.json' is current, not downloaded
INFO 2019-11-25 21:47:48,328 ID ALIAS MAPPER: 'subscriber_ids.json' is current, not downloaded
INFO 2019-11-25 21:47:48,458 ID ALIAS MAPPER: peer_ids dictionary is available
INFO 2019-11-25 21:47:50,254 ID ALIAS MAPPER: subscriber_ids dictionary is available
INFO 2019-11-25 21:47:50,256 (DANIEL) IPSC Instance Created: 734562, :62044
INFO 2019-11-25 21:47:50,257 (B2V) IPSC Instance Created: 734561, :62040
INFO 2019-11-25 21:47:50,257 (RIFFBRIDGE) IPSC Instance Created: 12345, :50009
INFO 2019-11-25 21:47:50,258 (RIFFBRIDGE) Registering with the Master: 47.180.30.199:7000
INFO 2019-11-25 21:47:50,258 (SNOW) IPSC Instance Created: 734563, :62043
INFO 2019-11-25 21:47:50,258 (CARLSBAD) IPSC Instance Created: 734566, :62042
INFO 2019-11-25 21:47:50,259 (RIFFNET) IPSC Instance Created: 54321, :62031
Traceback (most recent call last):
  File "confbridge.py", line 499, in <module>
    CONFIG_DICT = make_bridge_config('confbridge_rules')
  File "confbridge.py", line 122, in make_bridge_config
    bridge_file = import_module(_confbridge_rules)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/opt/DMRlink/confbridge_rules.py", line 55
    {'SYSTEM': 'CARLSBAD',    'TS': 1, 'TGID': 156, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE',   'ON': [2,], 'OFF': [9,10], 'RESET': []},
    ^
SyntaxError: invalid syntax
root@AI6BX-DMR:/opt/DMRlink#


Re: Switch Between BM and TGIF

Steve N4IRS
 

when you send a macro from DVSM, DMR, YSF, *13 *99 etc, you should see it in the AB log.

On 11/25/19 10:59 PM, Tom Corcoran wrote:
here is dump of analog log
--
Tom VE3NY


Re: Switch Between BM and TGIF

Tom Corcoran
 

here is dump of analog log
--
Tom VE3NY


Re: Switch Between BM and TGIF

Steve N4IRS
 

Also, did you restart Analog_Bridge?

On 11/25/19 10:52 PM, Tom Corcoran wrote:
Hmmm...

added last two lines to dvsm.ini
and dialed *13 and *14 ... no change in network.

DMR = /opt/Analog_Bridge/analog_bridge.sh dmr.ini
DSTAR = /opt/Analog_Bridge/analog_bridge.sh dstar.ini
NXDN = /opt/Analog_Bridge/analog_bridge.sh nxdn.ini
P25 = /opt/Analog_Bridge/analog_bridge.sh p25.ini
YSF = /opt/Analog_Bridge/analog_bridge.sh ysf.ini
13 = /opt/MMDVM_Bridge/TGIF_Chng.sh
14 = /opt/MMDVM_Bridge/BM_Chng.sh

drawing blanks. please remind me where analog log is located.... tnx ...Tom VE3NY


Re: Switch Between BM and TGIF

Steve N4IRS
 

And... What does Analog_Bridge.log tell you?

On 11/25/19 10:52 PM, Tom Corcoran wrote:
Hmmm...

added last two lines to dvsm.ini
and dialed *13 and *14 ... no change in network.

DMR = /opt/Analog_Bridge/analog_bridge.sh dmr.ini
DSTAR = /opt/Analog_Bridge/analog_bridge.sh dstar.ini
NXDN = /opt/Analog_Bridge/analog_bridge.sh nxdn.ini
P25 = /opt/Analog_Bridge/analog_bridge.sh p25.ini
YSF = /opt/Analog_Bridge/analog_bridge.sh ysf.ini
13 = /opt/MMDVM_Bridge/TGIF_Chng.sh
14 = /opt/MMDVM_Bridge/BM_Chng.sh

drawing blanks. please remind me where analog log is located.... tnx ...Tom VE3NY


Re: Switch Between BM and TGIF

Tom Corcoran
 

Hmmm...

added last two lines to dvsm.ini
and dialed *13 and *14 ... no change in network.

DMR = /opt/Analog_Bridge/analog_bridge.sh dmr.ini
DSTAR = /opt/Analog_Bridge/analog_bridge.sh dstar.ini
NXDN = /opt/Analog_Bridge/analog_bridge.sh nxdn.ini
P25 = /opt/Analog_Bridge/analog_bridge.sh p25.ini
YSF = /opt/Analog_Bridge/analog_bridge.sh ysf.ini
13 = /opt/MMDVM_Bridge/TGIF_Chng.sh
14 = /opt/MMDVM_Bridge/BM_Chng.sh

drawing blanks. please remind me where analog log is located.... tnx ...Tom VE3NY


Re: Disconnection after 45 seconds

Steve N4IRS
 

Mike,
Check to verify battery optimization is off for the DVSM app on your Android device.

Steve N4IRS

On 11/25/19 7:21 PM, VK4SED wrote:
Hello All,
I am having a similar problem, where after about 2 mins or so the DVSwitch mobile app running on an Android mobile device just hangs up on all modes, Eg NXDN, P25, YSF etc, whilst connected on a cellular connection, when a push the "Register" button I get USRP :REG OK  notification again, and the connection continues for about another 2 minutes or so, unless I am in a QSO where the app does not hang up.
If I run the same android device and app on my home wifi connection I don't get disconnected.  I've also tried connecting using another phone's wifi hotspot on a cellular connection and get the same result . The equipment I am using is a RPi 3b only running DVSwitch2 with updated scripts and binaries connected thru my homes 5G wifi connection to my router the 1 away to a stable 90Gbs cable connection.
However, on IAX2 connection to an Allstar node I remain connected.

Any suggestions

VK4SED Mike


Re: Disconnection after 45 seconds

VK4SED
 

Hello All,
I am having a similar problem, where after about 2 mins or so the DVSwitch mobile app running on an Android mobile device just hangs up on all modes, Eg NXDN, P25, YSF etc, whilst connected on a cellular connection, when a push the "Register" button I get USRP :REG OK  notification again, and the connection continues for about another 2 minutes or so, unless I am in a QSO where the app does not hang up.
If I run the same android device and app on my home wifi connection I don't get disconnected.  I've also tried connecting using another phone's wifi hotspot on a cellular connection and get the same result . The equipment I am using is a RPi 3b only running DVSwitch2 with updated scripts and binaries connected thru my homes 5G wifi connection to my router the 1 away to a stable 90Gbs cable connection.
However, on IAX2 connection to an Allstar node I remain connected.

Any suggestions

VK4SED Mike

4461 - 4480 of 9774