Welcome to DVSwitch
DVSwitch is a set of tools and programs related to provisioning and operating Amateur Radio digital voice networks.
Purpose
The purpose of DVSwitch is as follows:
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).
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
Our stated position is:
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.
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: asl.macro documentation / examples
#analog_bridge
For what you are doing, you will use the macro functions to run a
external program. That program is dvswitch.sh If you run dvswitch.sh
without any parameters:
toggle quoted messageShow quoted text
root@dvswitch:/var/www/html# /opt/Analog_Bridge/dvswitch.sh Usage: /opt/Analog_Bridge/dvswitch.sh { version | mode | tune | ambesize | ambemode | slot | update | tlvAudio | usrpAudio | usrpCodec | tlvPorts | info | show | lookup | mute | message | macro | pushfile | collectProcessDataFiles | collectProcessPushDataFiles | pushurl | collectProcessPushDataFilesHTTP } version {AB|MB|ALL} Show version of dvswitch.sh, Analog_Bridge or MMDVM_Bridge mode {DMR|NXDN|P25|YSF|DSTAR} Set Analog_Bridge digital mode tune tg Tune to specific TG/Reflector ambesize {72|88|49} Set number of bits for ambe data ambemode {DMR|NXDN|P25|YSFN|YSFW|DSTAR} Set AMBE mode slot {1|2} Set DMR slot to transmit on update Update callsign and host databases tlvAudio mode gain Set AMBE audio mode and gain usrpAudio mode gain Set PCM audio mode and gain usrpAgc threshold slope decay Set PCM audio agc threshold slope and decay usrpCodec {SLIN|ULAW|ADPCM} Set AB -> DVSM/UC audio codec tlvPorts rxport txport Set Analog_Bridge receive and transmit ports info Update ABInfo and send to DVSM/UC show Pretty print the ABInfo json file lookup Lookup a DMR ID/call in the local database mute {OFF|USRP|TLV|BOTH} Cause Aanlog_Bridge to mute a stream message msg Send a text message to DVSM/UC macro {file|text} Send a macro collection to DVSM pushfile file Push file to DVSM pushurl url Push URL to DVSM collectProcessDataFiles Collect and prepare DVSM data files collectProcessPushDataFiles Collect, prepare and upload DVSM data files collectProcessPushDataFilesHTTP Collect, prepare and upload DVSM data files over http reloadDatabase Tell AB to reload database files into memory getEnabledModes Return the list of enabled modes in MB.ini for example you would create a macro to run a external program in rpt.conf 73 = /opt/MMDVM_Bridge/dvswitch.sh tune 10200 dvswitch.sh would tell AB and MB to change TG to 10200 dvswitch.sh update dvswitch.sh would download all the host files and databases needed to /var/lib/dvswitch and /var/lib/mmdvm Steve N4IRS
On 8/11/2020 10:43 AM, Tom wrote:
ASL to control. I see provisions for that in the files; but no detail.
|
|
Re: asl.macro documentation / examples
#analog_bridge
ASL to control. I see provisions for that in the files; but no detail.
|
|
Re: asl.macro documentation / examples
#analog_bridge
Are you talking about using DVSwitch Mobile with ASL or controlling
AB/MB from ASL?
toggle quoted messageShow quoted text
On 8/11/2020 10:22 AM, Tom wrote:
Where do I find asl.macro documantation and examples ?
|
|
asl.macro documentation / examples
#analog_bridge
Where do I find asl.macro documantation and examples ?
Tom / K5TRA
|
|
Re: ASL to P25 bridge
#analog_bridge
I cleaned some of the early ASL DAHDI troubleshoot messages out of
the thread (86 messages) I hope someone reading the thread will
learn some things.
toggle quoted messageShow quoted text
Steve N4IRS
On 8/10/20 8:38 PM, Tom wrote:
Steve,
|
|
Re: ASL to P25 bridge
#analog_bridge
Inline
A general comment, most of the default values are setup for the more common connectivity. Most of the default values will "just work" Off the top of my head AB <-> P25 only needed changes in AB.ini. On 8/10/20 8:38 PM, Tom wrote:
Steve,RptAddress is valid in the [General] stanza, not in the network stanza 2) What are valid settings for InactivityTimeout ? I assume it is in units of minutes. Is a value of 0 valid ? Does that set it to infinity?Yes, it's in minutes. 0=no timeout 3) How is Parrot used in MB ?Its not, it used by the Gateway 4) How can I change the reflector connection (on the fly)? Do I need to rewrite the P25Gateway.ini and restart the service?No, you can used dvswitch.sh tune 10200 to tune to NA. (BTW, no Analog to P25 bridges on NA) run dvswitch.sh without parameters will show you what it can do. It's very capable. 73, Steve N4IRS
|
|
Re: ASL to P25 bridge
#analog_bridge
Steve,
The Host files are in ./ . I copied the P25Hosts.ini from /var/lib/mmdvm and the Private_P25Hosts is there; but empty. By commenting out the RptAddress , it seems to have fixed the remaining issues. THANK YOU. I still need to set audio levels, but that should be easy. A final couple of questions: 1) Why remove the RptAddress (what is the significance / purpose of that param)? 2) What are valid settings for InactivityTimeout ? I assume it is in units of minutes. Is a value of 0 valid ? Does that set it to infinity? 3) How is Parrot used in MB ? 4) How can I change the reflector connection (on the fly)? Do I need to rewrite the P25Gateway.ini and restart the service? Thanks again, Tom
|
|
Re: ASL to P25 bridge
#analog_bridge
OK,
toggle quoted messageShow quoted text
So, P25Gateway is not too chatty. Do you have the entry for 10888 in both private and public host file? Change P25Gateway.ini to this: [General] Callsign=K5TRA RptAddress=127.0.0.1 # RptAddress=192.168.0.188 RptPort=32010 LocalPort=42020 Announcements=1 Daemon=0 [Id Lookup] Name=/var/lib/mmdvm/DMRIds.dat Time=24 [Log] FilePath=/var/log/mmdvm FileRoot=P25Gateway [Network] # Port=41000 Port=42010 HostsFile1=./P25Hosts.txt <------------------ Do these files exist in this location? HostsFile2=./Private_P25Hosts.txt <------------------ Do these files exist in this location? ReloadTime=60 # RptAddress=192.168.0.188 <---------------------- Remove this # ParrotAddress=192.168.0.188 # RptAddress=127.0.0.1 ParrotAddress=127.0.0.1 ParrotPort=42011 Startup=10888 # Startup=10100 InactivityTimeout=0 # InactivityTimeout=10 Debug=0
On 8/10/20 7:59 PM, Tom wrote:
I'm back from dinner.
|
|
Re: ASL to P25 bridge
#analog_bridge
I'm back from dinner.
|
|
Re: ASL to P25 bridge
#analog_bridge
I should have caught this before. This is what was missing from the
MB log.
toggle quoted messageShow quoted text
I: 2020-08-10 23:30:51.942 P25 Network Parameters I: 2020-08-10 23:30:51.942 Gateway Address: 127.0.0.1 I: 2020-08-10 23:30:51.942 Gateway Port: 42020 I: 2020-08-10 23:30:51.942 Local Port: 32010 I: 2020-08-10 23:30:51.942 Mode Hang: 3s M: 2020-08-10 23:30:51.943 P25, Opening INI file: DVSwitch.ini M: 2020-08-10 23:30:51.943 P25, Setting [P25] Address -> 127.0.0.1 M: 2020-08-10 23:30:51.943 P25, Setting [P25] TXPort -> 34100 M: 2020-08-10 23:30:51.943 P25, Setting [P25] RXPort -> 34103 M: 2020-08-10 23:30:51.943 P25, Setting [P25] Slot -> 2 M: 2020-08-10 23:30:51.944 P25, Transmitting on 127.0.0.1:34100, and listening on port 34103. Result = 1 M: 2020-08-10 23:30:51.944 Opening P25 network connection For anybody willing to read through the whole thread.
On 8/10/20 7:34 PM, Tom wrote:
It WAS enabled in [P25], but not in [P25 Network] in same file.
|
|
Re: ASL to P25 bridge
#analog_bridge
OK! We now have ASL to MB action. I don't see any log activity at the gateway yet.
I have the dinner call -- I'll be back in 20 minutes or so. Thanks again for all this help. Tom
|
|
Re: ASL to P25 bridge
#analog_bridge
It needs to be enabled in both places.
toggle quoted messageShow quoted text
On 8/10/20 7:34 PM, Tom wrote:
It WAS enabled in [P25], but not in [P25 Network] in same file.
|
|
Re: ASL to P25 bridge
#analog_bridge
It WAS enabled in [P25], but not in [P25 Network] in same file.
I'll try a restart.
|
|
Re: ASL to P25 bridge
#analog_bridge
[P25 Network]
toggle quoted messageShow quoted text
Enable=0 <--------------------------------- Enable this GatewayAddress=127.0.0.1 GatewayPort=42020 LocalPort=32010 Debug=0
On 8/10/20 7:22 PM, Tom wrote:
|
|
Re: ASL to P25 bridge
#analog_bridge
root@P25reflector:/var/log/mmdvm # netstat -unap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:34001 0.0.0.0:* 6137/Analog_Bridge
udp 0 0 0.0.0.0:5353 0.0.0.0:* 297/avahi-daemon: r
udp 0 0 127.0.0.1:32001 0.0.0.0:* 538/asterisk
udp 0 0 0.0.0.0:34100 0.0.0.0:* 6137/Analog_Bridge
udp 0 0 0.0.0.0:2470 0.0.0.0:* 858/md380-emu
udp 0 0 0.0.0.0:35275 0.0.0.0:* 297/avahi-daemon: r
udp 0 0 0.0.0.0:42010 0.0.0.0:* 4569/P25Gateway
udp 0 0 0.0.0.0:42011 0.0.0.0:* 862/P25Parrot
udp 0 0 0.0.0.0:42020 0.0.0.0:* 4569/P25Gateway
udp 0 0 0.0.0.0:41000 0.0.0.0:* 859/P25Reflector
udp 0 0 0.0.0.0:68 0.0.0.0:* 535/dhcpcd
udp 0 0 0.0.0.0:4180 0.0.0.0:* 538/asterisk
udp 0 0 192.168.0.188:123 0.0.0.0:* 581/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 581/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 581/ntpd
udp 0 0 0.0.0.0:48782 0.0.0.0:* 6137/Analog_Bridge
udp6 0 0 :::5353 :::* 297/avahi-daemon: r
udp6 0 0 :::33596 :::* 297/avahi-daemon: r
udp6 0 0 :::546 :::* 535/dhcpcd
udp6 0 0 fe80::1209:cda7:e2e:123 :::* 581/ntpd
udp6 0 0 2605:a601:ab19:5300:123 :::* 581/ntpd
udp6 0 0 ::1:123 :::* 581/ntpd
udp6 0 0 :::123 :::* 581/ntpd
|
|
Re: ASL to P25 bridge
#analog_bridge
Show me the output of netstat -unap
toggle quoted messageShow quoted text
On 8/10/20 7:19 PM, Tom wrote:
Here's the MB log (nothing changes):
|
|
Re: ASL to P25 bridge
#analog_bridge
Here's the MB log (nothing changes):
root@P25reflector:/var/log/mmdvm # tail MMDVM_Bridge-2020-08-10.log
I: 2020-08-10 23:08:17.875 Loaded 169853 Ids to the DMR callsign lookup table
I: 2020-08-10 23:08:17.875 P25 RF Parameters
I: 2020-08-10 23:08:17.875 Started the DMR Id lookup reload thread
I: 2020-08-10 23:08:17.875 Id: 3148777
I: 2020-08-10 23:08:17.875 NAC: $293
I: 2020-08-10 23:08:17.875 UID Override: no
I: 2020-08-10 23:08:17.875 Self Only: no
I: 2020-08-10 23:08:17.875 Remote Gateway: no
I: 2020-08-10 23:08:17.875 Mode Hang: 10s
M: 2020-08-10 23:08:17.875 MMDVM_Bridge-20200309_V1.5.1 is running
|
|
Re: ASL to P25 bridge
#analog_bridge
Here's the AB log:
root@P25reflector:/var/log/dvswitch # tail Analog_Bridge.log
M: 2020-08-10 23:16:48.838 PTT on
M: 2020-08-10 23:16:49.457 PTT off (keyed for 619 ms)
M: 2020-08-10 23:16:52.657 PTT on
M: 2020-08-10 23:17:00.249 PTT off (keyed for 7592 ms)
M: 2020-08-10 23:17:04.437 PTT on
M: 2020-08-10 23:17:05.041 PTT off (keyed for 604 ms)
M: 2020-08-10 23:17:11.037 PTT on
M: 2020-08-10 23:17:11.617 PTT off (keyed for 580 ms)
M: 2020-08-10 23:17:13.277 PTT on
M: 2020-08-10 23:17:18.407 PTT off (keyed for 5130 ms)
|
|
Re: ASL to P25 bridge
#analog_bridge
Same way, tail the AB and the MB log at the same time.
toggle quoted messageShow quoted text
On 8/10/20 7:16 PM, Tom wrote:
I can show you AB log activity. How would you like to see MB activity?
|
|
Re: ASL to P25 bridge
#analog_bridge
I can show you AB log activity. How would you like to see MB activity?
|
|