Welcome to DVSwitch
Purpose
1) Allows “local” networking during an outage of the regional national/international network server.
2) Allows a local network operator to “blend” upstream feeds from different Networks (capital N on purpose). These Networks can’t get their act together and learn how to play nice with each other (everyone guilty as far as we are concerned). They may not like people doing this, but the solution is to grow up and work with each other, and not keep trying to force people to take sides.
3) Allows local segregation of localized traffic with more flexibility.
4) Allows experimentation with linking and how it’s done (part 97 specifies experimentation and advancement of the radio art are a core part of amateur radio).
Mission Statement/Position
WHEREAS the Networks continue to be largely islands and are not working together to create a unified network of Networks.
WHEREAS no firm reason has been given by any of the Networks why a *competent* local network operator cannot make this work effectively.
(US ONLY)
WHEREAS 47 CFR 97 (Amateur Radio Service) specifies that a core component of amateur radio is experimentation and advancement of the radio art [97.1(b)].
BE IT RESOLVED the core group of US amateur radio operators and experimenters organized around the DVSwitch project, and in the spirit of USA 47 CFR 97 and its intentions, support the *responsible* and *thoughtful* use of digital voice networking tools to create localized networks that will interconnect to the national/international Networks, and will support users of its tools in order to do this in the most effective and sustainable way possible.
Re: XLX 2 XLX Connection
david bencini ik5xmk
Hi, because one XLX has hardware for transcode but one of they has not. It is a big problem when you have more XLXs. For this reason i need an ONLY dstar connection. Luc doesn't want to patch this ...
Any idea is welcome. 73. David
|
|
Re: ASL to DMR Bridge...reading talkgroups
Jeff Lehman, N8ACL
😊 Some times simple is the bestest 😊
toggle quoted messageShow quoted text
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
-----Original Message-----
From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> On Behalf Of Gregory Heinrichs Sent: Thursday, November 15, 2018 21:10 To: main@DVSwitch.groups.io Subject: Re: [DVSwitch] ASL to DMR Bridge...reading talkgroups That is a good point. I will do that. On 11/15/18 5:55 PM, Jeff Lehman, KC8QCH wrote:
|
|
Re: ASL to DMR Bridge...reading talkgroups
Gregory Heinrichs
That is a good point. I will do that.
toggle quoted messageShow quoted text
On 11/15/18 5:55 PM, Jeff Lehman, KC8QCH wrote:
|
|
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
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. On 11/15/18 8:32 PM, Michael Weaver - AC2VK wrote:
|
|
Re: 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.
toggle quoted messageShow quoted text
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
OK, we have been discussing Metadata in general. I don't have a
quick answer right now.
toggle quoted messageShow quoted text
Steve N4IRS
On 11/15/18 7:24 PM, Gregory Heinrichs
wrote:
|
|
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?
|
|
Re: ASL to DMR Bridge...reading talkgroups
Define read. Voice feedback? Allison?
toggle quoted messageShow quoted text
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?
|
|
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,
toggle quoted messageShow quoted text
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
|
|
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
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"
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:
|
|
Re: ASL to DMR Bridge...changing talkgroups
we are behind in documenting a LOT of what the different programs
will do. mea culpa
toggle quoted messageShow quoted text
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!
|
|
Re: Multiple private nodes connected to different talkgroups
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.
toggle quoted messageShow quoted text
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:
|
|
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:
|
|
Re: Multiple private nodes connected to different talkgroups
Russell,
toggle quoted messageShow quoted text
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:
|
|
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!
|
|
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?
|
|