Date   

Re: ASL to DMR Bridge...reading talkgroups

Gregory Heinrichs
 

That is a good point. I will do that.

On 11/15/18 5:55 PM, Jeff Lehman, KC8QCH wrote:

Or why not when you run the script to change TG’s just write the new
talkgroup to a text file since you have it already? No need to pull it
from anywhere. Then just read the Text file into your webpage.

 

Jeff Lehman, KC8QCH

E-mail: kc8qch@gmail.com

http://kc8qch.dx.am
Hamshack Hotline: 4218

 

Webmaster

Hamilton County ARPSC

http://www.hamcoarpsc.org

E-mail: hamcoarpsc@gmail.com

Phone: 513-452-6480

 

Allstar 47374 Administrator

World Wide Amateur Radio Guild

http://www.theguildglobal.org

E-Mail: kc8qch@theguildglobal.net

 

*From:* main@DVSwitch.groups.io <main@DVSwitch.groups.io> *On Behalf
Of *Steve N4IRS
*Sent:* Thursday, November 15, 2018 20:49
*To:* main@DVSwitch.groups.io
*Subject:* Re: [DVSwitch] ASL to DMR Bridge...reading talkgroups

 

My short off the top of my head answer. If you know what TG you
started on and tracked the changes, you know where you are.

Pseudo code:
Start the bridge
Send AB/MB to TG 9
Echo 9 to text file
From this point on, any change to the TG goes through the script and
the text file contains the current TG.

No matter where you go, there you are.

As I said, Mike and I have been talking about Metadata. AB exchanges
Metadata across the USRP channel. That is how a Transcoder sends
Metadata across the transcoder. MB1 <-> AB1 <-> AB2 <-MB2> There is a
need to be able to get metadata from MB1 to MB2 That data is passed
across the USRP channel (The connection between AB1 and AB2) The ASL
USRP channel drive does not send or receive Matadata. We are
discussing strategies to add Metadata to ASL without modifing the USRP
channel driver. Think AMI.

73, Steve N4IRS

On 11/15/18 8:32 PM, Michael Weaver - AC2VK wrote:

I was going to post the same question today. So +1 for this. A way
to query what the current talkgroup is.

 


Re: ASL to DMR Bridge...reading talkgroups

Jeff Lehman, N8ACL
 

Or why not when you run the script to change TG’s just write the new talkgroup to a text file since you have it already? No need to pull it from anywhere. Then just read the Text file into your webpage.

 

Jeff Lehman, KC8QCH

E-mail: kc8qch@...

http://kc8qch.dx.am
Hamshack Hotline: 4218

 

Webmaster

Hamilton County ARPSC

http://www.hamcoarpsc.org

E-mail: hamcoarpsc@...

Phone: 513-452-6480

 

Allstar 47374 Administrator

World Wide Amateur Radio Guild

http://www.theguildglobal.org

E-Mail: kc8qch@...

 

From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> On Behalf Of Steve N4IRS
Sent: Thursday, November 15, 2018 20:49
To: main@DVSwitch.groups.io
Subject: Re: [DVSwitch] ASL to DMR Bridge...reading talkgroups

 

My short off the top of my head answer. If you know what TG you started on and tracked the changes, you know where you are.

Pseudo code:
Start the bridge
Send AB/MB to TG 9
Echo 9 to text file
From this point on, any change to the TG goes through the script and the text file contains the current TG.

No matter where you go, there you are.

As I said, Mike and I have been talking about Metadata. AB exchanges Metadata across the USRP channel. That is how a Transcoder sends Metadata across the transcoder. MB1 <-> AB1 <-> AB2 <-MB2> There is a need to be able to get metadata from MB1 to MB2 That data is passed across the USRP channel (The connection between AB1 and AB2) The ASL USRP channel drive does not send or receive Matadata. We are discussing strategies to add Metadata to ASL without modifing the USRP channel driver. Think AMI.

73, Steve N4IRS

On 11/15/18 8:32 PM, Michael Weaver - AC2VK wrote:

I was going to post the same question today. So +1 for this. A way to query what the current talkgroup is.

 


Re: ASL to DMR Bridge...reading talkgroups

Steve N4IRS
 

My short off the top of my head answer. If you know what TG you started on and tracked the changes, you know where you are.

Pseudo code:
Start the bridge
Send AB/MB to TG 9
Echo 9 to text file
From this point on, any change to the TG goes through the script and the text file contains the current TG.

No matter where you go, there you are.

As I said, Mike and I have been talking about Metadata. AB exchanges Metadata across the USRP channel. That is how a Transcoder sends Metadata across the transcoder. MB1 <-> AB1 <-> AB2 <-MB2> There is a need to be able to get metadata from MB1 to MB2 That data is passed across the USRP channel (The connection between AB1 and AB2) The ASL USRP channel drive does not send or receive Matadata. We are discussing strategies to add Metadata to ASL without modifing the USRP channel driver. Think AMI.

73, Steve N4IRS


On 11/15/18 8:32 PM, Michael Weaver - AC2VK wrote:
I was going to post the same question today. So +1 for this. A way to query what the current talkgroup is.


Re: ASL to DMR Bridge...reading talkgroups

Michael Weaver - AC2VK
 

I was going to post the same question today. So +1 for this. A way to query what the current talkgroup is.


Re: ASL to DMR Bridge...reading talkgroups

Steve N4IRS
 

OK, we have been discussing Metadata in general. I don't have a quick answer right now.

Steve N4IRS

On 11/15/18 7:24 PM, Gregory Heinrichs wrote:

with the same principal, call a python script, so i can return the talkgroup number to a webpage.

On 11/15/18 4:22 PM, Steve N4IRS wrote:
Define read. Voice feedback? Allison?

On 11/15/18 7:21 PM, Gregory Heinrichs wrote:
I can change the talkgroup via code below, i was wondering it there is a way to read it as well?
[code]
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
[/code]



Re: ASL to DMR Bridge...reading talkgroups

Gregory Heinrichs
 

with the same principal, call a python script, so i can return the talkgroup number to a webpage.

On 11/15/18 4:22 PM, Steve N4IRS wrote:
Define read. Voice feedback? Allison?

On 11/15/18 7:21 PM, Gregory Heinrichs wrote:
I can change the talkgroup via code below, i was wondering it there is a way to read it as well?
[code]
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
[/code]


Re: ASL to DMR Bridge...reading talkgroups

Steve N4IRS
 

Define read. Voice feedback? Allison?

On 11/15/18 7:21 PM, Gregory Heinrichs wrote:
I can change the talkgroup via code below, i was wondering it there is a way to read it as well?
[code]
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
[/code]


ASL to DMR Bridge...reading talkgroups

Gregory Heinrichs
 

I can change the talkgroup via code below, i was wondering it there is a way to read it as well?
[code]
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
[/code]


Re: XLX 2 XLX Connection

Florian Wolters
 

Hi David,

why don't you use the built-in XLX interlink protocol?

vy73 de Florian DF2ET


Am 15.11.18 um 17:32 schrieb david bencini ik5xmk:

Hello, sorry if I'm possibly mistaken group. Can you tell me the
procedure to activate, if possible, a connection (I suppose using
MMDVM_Bridge) between two XLX (example module B) but using a native
DSTAR protocol, such as DEXTRA or DCS? The comparison is with the old
XRF which for many reasons is no longer advisable to use it.
 
Thank you, 73
David IK5XMK


XLX 2 XLX Connection

david bencini ik5xmk
 

Hello, sorry if I'm possibly mistaken group. Can you tell me the procedure to activate, if possible, a connection (I suppose using MMDVM_Bridge) between two XLX (example module B) but using a native DSTAR protocol, such as DEXTRA or DCS? The comparison is with the old XRF which for many reasons is no longer advisable to use it.
 
Thank you, 73
David IK5XMK


Re: ASL to DMR Bridge...changing talkgroups

Steve N4IRS
 
Edited

OK,
Now we have a script to change TG "on the fly" Let's make it available to DTMF and Allmon.
First we need ASL to execute the script from within. There is more then one way to do this. I'll use the internal command.
Lets assume you placed the script in /usr/local/sbin and called it tune.sh
You can run the program from the Linux command prompt with /usr/local/sbin/tune.sh 1234 to tune to TG 1234

Let's add it to rpt.conf
To run a external script the ASL command is:
4321=cmd,/usr/local/sbin/tune.sh 1234 (This ASSUMES 4321 is not in use nor is 43 or 432) 
When a user on the node sends *4321 ASL will execute the script /usr/local/sbin/tune.sh with a parameter of  1234

So far so good? Now let's add it to Allmon2
in the allmon directory is a file, controlpanel.ini in that file as a example you will find:

labels[] = "Say Time of Day (local only) the TT way"
cmds[] = "rpt fun %node% *74"
 
Lets add a command. Copy and edit above:
labels[] = "Tune DMR to Talk Group 1234"
cmds[] = "rpt fun %node% *4321"

Poof! you have added a command to Allmon2 which will tell ASL to execute the script.
Clear as mud?

73, Steve N4IRS 
 


Re: Multiple private nodes connected to different talkgroups

 

Perfect, I think that will give me plenty of homework.... I'll give it a try after the holidays! 

Thanks so much for all your help and support! 

Appreciate all you do for this hobby!

On Wed, Nov 14, 2018, 2:02 PM Steve N4IRS <szingman@... wrote:
systemctl enable analog_bridge enables the systemd unit analog_bridge.service in /lib/systemd/system. It is a test file and can be copied / edited.
It's job is the setup the environment for the program and start / stop the program
I have bolded the places you will need to change.
 
root@stn2600:~# cat /lib/systemd/system/analog_bridge.service
[Unit]
Description=Analog_Bridge for AMBE Service
# Description=Place this file in /lib/systemd/system
# Description=N4IRS 04/20/2018

# The device name should point to the
# port the mmdvm is plugged into.
# For USB ports (Arduino Due)
# BindTo=dev-ttyACM0.device
#
# To make the network-online.target available
# systemctl enable systemd-networkd-wait-online.service

After=network-online.target syslog.target netcheck.service
Wants=network-online.target

[Service]
Type=simple
StandardOutput=null
WorkingDirectory=/opt/Analog_Bridge
Environment=AnalogBridgeLogDir=/var/log/dvswitch/Analog_Bridge
# Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Restart=always
RestartSec=3
ExecStart=/opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini
ExecReload=/bin/kill -2 $MAINPID
KillMode=process

[Install]
WantedBy=multi-user.target

Simply copy analog_bridge.service to blabla.service in the same directory and edit to taste.
You can then:
systemctl status blabla
systemctl enable blabla
systemctl start blabla
systemctl stop blabla

The private node stanza [1999] for rpt.conf is at the top of the document https://docs.google.com/document/d/1eN50Csr29eAprBu7eKA0Bfa2XUcsXw5iktY1Ey-Qjkg/edit

73, Steve N4IRS
 
On 11/14/2018 2:45 PM, Russell, KV4S wrote:
very much so, thanks Steve.

Next question, what will these statements look like? 
systemctl enable analog_bridge
systemctl start analog_bridge
because if you copy contents the program has the same name? how does the service know which is which or maybe on linux it doesn't matter?
:/opt/Analog_Bridge$ dir 
Analog_Bridge Analog_Bridge.ini

Can you point me in the right direction for setting up a private node? do I just copy my main node stanza and make it a number like 1999, 1998 ect? Seems like there was one there but i think i overwrote it.

On Wed, Nov 14, 2018 at 10:39 AM Steve N4IRS <szingman@...> wrote:
Russell,
As per usual there is more then one way to do this. He is a simple one:
Create 4 subdirectories:
mkdir MMDVM_Bridge_TG_1234
mkdir  MMDVM_Bridge_TG_9876
mkdir Analog_Bridge_TG_1234
mkdir Analog_Bridge_TG_9876

Copy the contents of /opt/MMDVM_Bridge into the new MMDVM_Bridge directories.
Copy the contents of /opt/Analog_Bridge into the new Analog_Bridge directories.
Setup MMDVM_Bridge_TG_1234 to connect to TG 1234 on BM as normal
Setup Analog_Bridge_TG_1234 to connect to TG 1234 as normal and point it at Private node 1234

The assumption is you used the default port numbers Check your work.
Now come the change, You can not reuse the port numbers you chose for TG 1234 so:
In the MMDVM_Bridge_TG_9876 directory edit DVSwitch.ini to change the port numbers in the [DMR] stanza
Make it easy to see the change
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 36100                     ; Port to send AMBE TLV frames to (export)
RXPort = 36103                     ; Port to listen on (import)
Slot = 2                                   ; Export slot

In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [AMBE_AUDIO] stanza
Match the ports use in DVSwitch.ini
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 36103                          ; Transmit TLV frames to partner on this port
rxPort = 36100                          ; Listen for TLV frames from partner on this port

As with MMDVM_Bridge <-> Analog_Bridge where you can not reuse the port numbers, It's the same for Analog_Bridge <-> ASL.
In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [USRP] stanza
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001                          ; Transmit USRP frames on this port
rxPort = 39001                          ; Listen for USRP frames on this port

Match the above port numbers for private node 9876 in rpt.conf

Does that help?

73, Steve N4IRS

On 11/14/2018 11:18 AM, Russell, KV4S wrote:
I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?



Re: ASL to DMR Bridge...changing talkgroups

Steve N4IRS
 

we are behind in documenting a LOT of what the different programs will do. mea culpa

Here is a shell script for changing TGs on the fly when using Analog_Bridge and MMDVM bridge connected to BM.

#!/bin/bash

# /*
#  * Copyright (C) 2018 N4IRR
#  *
#  * Permission to use, copy, modify, and/or distribute this software for any
#  * purpose with or without fee is hereby granted, provided that the above
#  * copyright notice and this permission notice appear in all copies.
#  *
#  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
#  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
#  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
#  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
#  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
#  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
#  * PERFORMANCE OF THIS SOFTWARE.
#  */

function tune() {
python - <<END
#!/usr/bin/env python

import sys
import socket
import struct

cmd = "txTg=$1"
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()

END
}

tune $1

Don't forget to mark the script executable chmod +x tune.sh
Assuming the script is named tune.sh and the rxPort is set to 31100 in Analog_bridge.ini start the program with:
./tune.sh 1234
Where the desired TG is 1234
Send a quick PTT on the analog side and you will be tuned to TG 1234

There is quite a list of possible commands available. Some are dependent on the mode. Along with the other 1001 things we need to do we will try to get the info out.

Steve N4IRS

On 11/13/2018 5:08 PM, Michael Weaver wrote:
I didn't get Mike Z's code working out of the box and haven't had time to troubleshoot his yet.  My setup allows you to enter *8711 and then the talkgroup number you want to connect to.  the extenstions.conf will strip off the leading 1 and pass the variable into tg_connect.py.  The python script will read the ini, update txTg, write the ini file(side effect of removing all comments), and restart the analog bridge.  Backup your ini file first!

rpt.conf
871 = autopatchup,context=command_radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1

extensions.conf
[command_radio]
exten => _1X.,1,SayDigits(${EXTEN:1})
exten => _1X.,n,System(/scripts/tg_connect.py ${EXTEN:1})
exten => _1X.,n,Wait(2)
exten => _1X.,n,Hangup()

tg_connect.py
#!/usr/bin/env python
 
import sys
import socket
import struct
import os

#import parser
from ConfigParser import SafeConfigParser

#store cmd line arg
new_txTg = sys.argv[1]

#strip off first character
#new_txTg = new_txTg[1:]

#read config file
parser = SafeConfigParser()
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "Existing talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')
print "Desired talkgroup is: " + new_txTg
 
#set config file
parser.set('AMBE_AUDIO', 'txTg', new_txTg)
 
#writing our configuration file to
with open('/opt/Analog_Bridge/Analog_Bridge.ini', 'wb') as configfile:
    parser.write(configfile)

#verify
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "New talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')

#restart bridge
os.system('systemctl restart analog_bridge')


Re: Multiple private nodes connected to different talkgroups

Steve N4IRS
 

systemctl enable analog_bridge enables the systemd unit analog_bridge.service in /lib/systemd/system. It is a test file and can be copied / edited.
It's job is the setup the environment for the program and start / stop the program
I have bolded the places you will need to change.
 
root@stn2600:~# cat /lib/systemd/system/analog_bridge.service
[Unit]
Description=Analog_Bridge for AMBE Service
# Description=Place this file in /lib/systemd/system
# Description=N4IRS 04/20/2018

# The device name should point to the
# port the mmdvm is plugged into.
# For USB ports (Arduino Due)
# BindTo=dev-ttyACM0.device
#
# To make the network-online.target available
# systemctl enable systemd-networkd-wait-online.service

After=network-online.target syslog.target netcheck.service
Wants=network-online.target

[Service]
Type=simple
StandardOutput=null
WorkingDirectory=/opt/Analog_Bridge
Environment=AnalogBridgeLogDir=/var/log/dvswitch/Analog_Bridge
# Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Restart=always
RestartSec=3
ExecStart=/opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini
ExecReload=/bin/kill -2 $MAINPID
KillMode=process

[Install]
WantedBy=multi-user.target

Simply copy analog_bridge.service to blabla.service in the same directory and edit to taste.
You can then:
systemctl status blabla
systemctl enable blabla
systemctl start blabla
systemctl stop blabla

The private node stanza [1999] for rpt.conf is at the top of the document https://docs.google.com/document/d/1eN50Csr29eAprBu7eKA0Bfa2XUcsXw5iktY1Ey-Qjkg/edit

73, Steve N4IRS
 

On 11/14/2018 2:45 PM, Russell, KV4S wrote:
very much so, thanks Steve.

Next question, what will these statements look like? 
systemctl enable analog_bridge
systemctl start analog_bridge
because if you copy contents the program has the same name? how does the service know which is which or maybe on linux it doesn't matter?
:/opt/Analog_Bridge$ dir 
Analog_Bridge Analog_Bridge.ini

Can you point me in the right direction for setting up a private node? do I just copy my main node stanza and make it a number like 1999, 1998 ect? Seems like there was one there but i think i overwrote it.

On Wed, Nov 14, 2018 at 10:39 AM Steve N4IRS <szingman@...> wrote:
Russell,
As per usual there is more then one way to do this. He is a simple one:
Create 4 subdirectories:
mkdir MMDVM_Bridge_TG_1234
mkdir  MMDVM_Bridge_TG_9876
mkdir Analog_Bridge_TG_1234
mkdir Analog_Bridge_TG_9876

Copy the contents of /opt/MMDVM_Bridge into the new MMDVM_Bridge directories.
Copy the contents of /opt/Analog_Bridge into the new Analog_Bridge directories.
Setup MMDVM_Bridge_TG_1234 to connect to TG 1234 on BM as normal
Setup Analog_Bridge_TG_1234 to connect to TG 1234 as normal and point it at Private node 1234

The assumption is you used the default port numbers Check your work.
Now come the change, You can not reuse the port numbers you chose for TG 1234 so:
In the MMDVM_Bridge_TG_9876 directory edit DVSwitch.ini to change the port numbers in the [DMR] stanza
Make it easy to see the change
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 36100                     ; Port to send AMBE TLV frames to (export)
RXPort = 36103                     ; Port to listen on (import)
Slot = 2                                   ; Export slot

In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [AMBE_AUDIO] stanza
Match the ports use in DVSwitch.ini
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 36103                          ; Transmit TLV frames to partner on this port
rxPort = 36100                          ; Listen for TLV frames from partner on this port

As with MMDVM_Bridge <-> Analog_Bridge where you can not reuse the port numbers, It's the same for Analog_Bridge <-> ASL.
In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [USRP] stanza
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001                          ; Transmit USRP frames on this port
rxPort = 39001                          ; Listen for USRP frames on this port

Match the above port numbers for private node 9876 in rpt.conf

Does that help?

73, Steve N4IRS

On 11/14/2018 11:18 AM, Russell, KV4S wrote:
I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?



Re: Multiple private nodes connected to different talkgroups

 

very much so, thanks Steve.

Next question, what will these statements look like? 
systemctl enable analog_bridge
systemctl start analog_bridge

because if you copy contents the program has the same name? how does the service know which is which or maybe on linux it doesn't matter?
:/opt/Analog_Bridge$ dir 
Analog_Bridge Analog_Bridge.ini

Can you point me in the right direction for setting up a private node? do I just copy my main node stanza and make it a number like 1999, 1998 ect? Seems like there was one there but i think i overwrote it.


On Wed, Nov 14, 2018 at 10:39 AM Steve N4IRS <szingman@...> wrote:
Russell,
As per usual there is more then one way to do this. He is a simple one:
Create 4 subdirectories:
mkdir MMDVM_Bridge_TG_1234
mkdir  MMDVM_Bridge_TG_9876
mkdir Analog_Bridge_TG_1234
mkdir Analog_Bridge_TG_9876

Copy the contents of /opt/MMDVM_Bridge into the new MMDVM_Bridge directories.
Copy the contents of /opt/Analog_Bridge into the new Analog_Bridge directories.
Setup MMDVM_Bridge_TG_1234 to connect to TG 1234 on BM as normal
Setup Analog_Bridge_TG_1234 to connect to TG 1234 as normal and point it at Private node 1234

The assumption is you used the default port numbers Check your work.
Now come the change, You can not reuse the port numbers you chose for TG 1234 so:
In the MMDVM_Bridge_TG_9876 directory edit DVSwitch.ini to change the port numbers in the [DMR] stanza
Make it easy to see the change
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 36100                     ; Port to send AMBE TLV frames to (export)
RXPort = 36103                     ; Port to listen on (import)
Slot = 2                                   ; Export slot

In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [AMBE_AUDIO] stanza
Match the ports use in DVSwitch.ini
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 36103                          ; Transmit TLV frames to partner on this port
rxPort = 36100                          ; Listen for TLV frames from partner on this port

As with MMDVM_Bridge <-> Analog_Bridge where you can not reuse the port numbers, It's the same for Analog_Bridge <-> ASL.
In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [USRP] stanza
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001                          ; Transmit USRP frames on this port
rxPort = 39001                          ; Listen for USRP frames on this port

Match the above port numbers for private node 9876 in rpt.conf

Does that help?

73, Steve N4IRS

On 11/14/2018 11:18 AM, Russell, KV4S wrote:
I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?


Re: Multiple private nodes connected to different talkgroups

Steve N4IRS
 

Russell,
As per usual there is more then one way to do this. He is a simple one:
Create 4 subdirectories:
mkdir MMDVM_Bridge_TG_1234
mkdir  MMDVM_Bridge_TG_9876
mkdir Analog_Bridge_TG_1234
mkdir Analog_Bridge_TG_9876

Copy the contents of /opt/MMDVM_Bridge into the new MMDVM_Bridge directories.
Copy the contents of /opt/Analog_Bridge into the new Analog_Bridge directories.
Setup MMDVM_Bridge_TG_1234 to connect to TG 1234 on BM as normal
Setup Analog_Bridge_TG_1234 to connect to TG 1234 as normal and point it at Private node 1234

The assumption is you used the default port numbers Check your work.
Now come the change, You can not reuse the port numbers you chose for TG 1234 so:
In the MMDVM_Bridge_TG_9876 directory edit DVSwitch.ini to change the port numbers in the [DMR] stanza
Make it easy to see the change
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 36100                     ; Port to send AMBE TLV frames to (export)
RXPort = 36103                     ; Port to listen on (import)
Slot = 2                                   ; Export slot

In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [AMBE_AUDIO] stanza
Match the ports use in DVSwitch.ini
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 36103                          ; Transmit TLV frames to partner on this port
rxPort = 36100                          ; Listen for TLV frames from partner on this port

As with MMDVM_Bridge <-> Analog_Bridge where you can not reuse the port numbers, It's the same for Analog_Bridge <-> ASL.
In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [USRP] stanza
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001                          ; Transmit USRP frames on this port
rxPort = 39001                          ; Listen for USRP frames on this port

Match the above port numbers for private node 9876 in rpt.conf

Does that help?

73, Steve N4IRS

On 11/14/2018 11:18 AM, Russell, KV4S wrote:
I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?


Re: ASL to DMR Bridge...changing talkgroups

 

is it possible to make this work with Allmon2 vs DTMF?


On Tue, Nov 13, 2018 at 4:08 PM Michael Weaver <mchlwvr614@...> wrote:
I didn't get Mike Z's code working out of the box and haven't had time to troubleshoot his yet.  My setup allows you to enter *8711 and then the talkgroup number you want to connect to.  the extenstions.conf will strip off the leading 1 and pass the variable into tg_connect.py.  The python script will read the ini, update txTg, write the ini file(side effect of removing all comments), and restart the analog bridge.  Backup your ini file first!

rpt.conf
871 = autopatchup,context=command_radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1

extensions.conf
[command_radio]
exten => _1X.,1,SayDigits(${EXTEN:1})
exten => _1X.,n,System(/scripts/tg_connect.py ${EXTEN:1})
exten => _1X.,n,Wait(2)
exten => _1X.,n,Hangup()

tg_connect.py
#!/usr/bin/env python
 
import sys
import socket
import struct
import os

#import parser
from ConfigParser import SafeConfigParser

#store cmd line arg
new_txTg = sys.argv[1]

#strip off first character
#new_txTg = new_txTg[1:]

#read config file
parser = SafeConfigParser()
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "Existing talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')
print "Desired talkgroup is: " + new_txTg
 
#set config file
parser.set('AMBE_AUDIO', 'txTg', new_txTg)
 
#writing our configuration file to
with open('/opt/Analog_Bridge/Analog_Bridge.ini', 'wb') as configfile:
    parser.write(configfile)

#verify
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "New talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')

#restart bridge
os.system('systemctl restart analog_bridge')


Multiple private nodes connected to different talkgroups

 

I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?


Re: ASL to DMR Bridge...changing talkgroups

Steve N4IRS
 

Neil,
The purpose of this list it to exchange information. Moving information exchange off list defeats that purpose.

Steve N4IRS

On 11/14/2018 11:08 AM, Neil k8it wrote:
Could you please send me off list your python program and your modifying extensions . Conf. Thank you
73 Neil k8it
K8it@...


On Nov 13, 2018, at 5:08 PM, Michael Weaver <mchlwvr614@...> wrote:

I didn't get Mike Z's code working out of the box and haven't had time to troubleshoot his yet.  My setup allows you to enter *8711 and then the talkgroup number you want to connect to.  the extenstions.conf will strip off the leading 1 and pass the variable into tg_connect.py.  The python script will read the ini, update txTg, write the ini file(side effect of removing all comments), and restart the analog bridge.  Backup your ini file first!

rpt.conf
871 = autopatchup,context=command_radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1

extensions.conf
[command_radio]
exten => _1X.,1,SayDigits(${EXTEN:1})
exten => _1X.,n,System(/scripts/tg_connect.py ${EXTEN:1})
exten => _1X.,n,Wait(2)
exten => _1X.,n,Hangup()

tg_connect.py
#!/usr/bin/env python
 
import sys
import socket
import struct
import os

#import parser
from ConfigParser import SafeConfigParser

#store cmd line arg
new_txTg = sys.argv[1]

#strip off first character
#new_txTg = new_txTg[1:]

#read config file
parser = SafeConfigParser()
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "Existing talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')
print "Desired talkgroup is: " + new_txTg
 
#set config file
parser.set('AMBE_AUDIO', 'txTg', new_txTg)
 
#writing our configuration file to
with open('/opt/Analog_Bridge/Analog_Bridge.ini', 'wb') as configfile:
    parser.write(configfile)

#verify
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "New talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')

#restart bridge
os.system('systemctl restart analog_bridge')


Re: ASL to DMR Bridge...changing talkgroups

Neil k8it
 

Could you please send me off list your python program and your modifying extensions . Conf. Thank you
73 Neil k8it

On Nov 13, 2018, at 5:08 PM, Michael Weaver <mchlwvr614@...> wrote:

I didn't get Mike Z's code working out of the box and haven't had time to troubleshoot his yet.  My setup allows you to enter *8711 and then the talkgroup number you want to connect to.  the extenstions.conf will strip off the leading 1 and pass the variable into tg_connect.py.  The python script will read the ini, update txTg, write the ini file(side effect of removing all comments), and restart the analog bridge.  Backup your ini file first!

rpt.conf
871 = autopatchup,context=command_radio,noct=1,farenddisconnect=1,dialtime=20000,quiet=1

extensions.conf
[command_radio]
exten => _1X.,1,SayDigits(${EXTEN:1})
exten => _1X.,n,System(/scripts/tg_connect.py ${EXTEN:1})
exten => _1X.,n,Wait(2)
exten => _1X.,n,Hangup()

tg_connect.py
#!/usr/bin/env python
 
import sys
import socket
import struct
import os

#import parser
from ConfigParser import SafeConfigParser

#store cmd line arg
new_txTg = sys.argv[1]

#strip off first character
#new_txTg = new_txTg[1:]

#read config file
parser = SafeConfigParser()
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "Existing talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')
print "Desired talkgroup is: " + new_txTg
 
#set config file
parser.set('AMBE_AUDIO', 'txTg', new_txTg)
 
#writing our configuration file to
with open('/opt/Analog_Bridge/Analog_Bridge.ini', 'wb') as configfile:
    parser.write(configfile)

#verify
parser.read('/opt/Analog_Bridge/Analog_Bridge.ini')
print "New talkgroup is: " + parser.get('AMBE_AUDIO', 'txTg')

#restart bridge
os.system('systemctl restart analog_bridge')

7181 - 7200 of 9595