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: P25Reflector
Kevin Halton
Here are 4 NXDN reflectors all working without a glitch.
From: main@DVSwitch.groups.io [mailto:main@DVSwitch.groups.io] On Behalf Of af5xp via Groups.Io
Steve,
|
||
|
||
Re: P25Reflector
That is correct. What I posted was directly from the P25Gateway.txt
as shipped from github.
toggle quoted messageShow quoted text
On 06/18/2018 05:41 PM, af5xp via
Groups.Io wrote:
Steve,
|
||
|
||
Re: P25Reflector
Steve,
Also there are some as I that have local private P25 Reflectors running that are not listed.
|
||
|
||
Re: P25Reflector
Jeff,
toggle quoted messageShow quoted text
For the numbering system, MMDVM borrowed from P25NX or DMR. You can see the existing list in the P25Hosts.txt that is part of the P25Gateway package. # World Wide, 1010x 10100 85.119.82.151 41000 # North America, 1020x 10200 dvswitch.org 41000 10201 dvswitch.org 41010 # Europe, 1030x 10300 176.9.1.168 41000 10301 ea5gvk.duckdns.org 41000 # Pacific, 1040x 10400 pacificp25.repeaters.info 41000 10401 pacifictac1.repeaters.info 41010 10402 47.104.177.248 41000 10403 120.234.41.144 41000 # America-Ragchew, 28299 28299 65.101.7.51 41000 # Alabama Link 31010 p25.alabamalink.info 41000 # 31665 P25-DMR Gateway 31665 74.91.127.166 41000 # 31672 P25 Pi-Star chat 31672 w1msg.trianglenc.net 41000 # 50525 Bridge to YSF, NXDN and DMR 50525 50525.p25dvm.com 41000 This reads as TG address of reflector port number. If you notice, North America, 1020x has 2 reflector on the same host. Each reflector is listening on a different UDP port. The reflector does not actually care about the TG # used. It's the job of P25Gateway to switch to the reflector based on the TG transmitted by MMDVM_Bridge. Once the connection is made, traffic flows until P25Gateway sees a different TG. Hope this helps, Steve
On 06/18/2018 04:17 PM, Jeff Carrier
wrote:
Not sure if this belongs in one of the subgroups. Is there a way to host multiple talkgroups on one reflector or would I need to host those on multiple machines? Speaking of reflector talkgroups, how do I pick a number that doesn't clash with the overall P25 network? At this point I'm running one privately but I'm curious on the numbering convention being used.
|
||
|
||
P25Reflector
Jeff Carrier
Not sure if this belongs in one of the subgroups. Is there a way to host multiple talkgroups on one reflector or would I need to host those on multiple machines? Speaking of reflector talkgroups, how do I pick a number that doesn't clash with the overall P25 network? At this point I'm running one privately but I'm curious on the numbering convention being used.
|
||
|
||
Re: BrandMeister to XLX
I was just looking at the question of running MMDVM_Bridge on the
same host as XLX. If I understand XLX properly, he would need 2
instances.
toggle quoted messageShow quoted text
XLX <-> MMDVM_Bridge1 <-> MMDVM_Bridge2 <-> BM Basically, use 2 instances of MMDVM_Bridge to both act as clients to their respective servers.
On 6/18/2018 9:11 AM, KB8JNM wrote:
i would think you might be able to run a "new instance" with different ports.
|
||
|
||
Re: BrandMeister to XLX
i would think you might be able to run a "new instance" with different ports.
Where would the conflict be. Or are you suggesting you would be able to do this under the 'same instance' ?
|
||
|
||
Re: BrandMeister to XLX
Ken,
toggle quoted messageShow quoted text
I don't see why you could not run both on the same hosts. MMDVM_Bridge would allow you to change any of the port numbers to resolve any port conflicts. Steve
On 6/18/2018 8:08 AM, Ken Jamrogowicz
via Groups.Io wrote:
I would like to do this. Can the MMDVM_Bridge instances run on the same PC? as XLX or would something like port conflicts cause a problem?
|
||
|
||
Re: BrandMeister to XLX
I would like to do this. Can the MMDVM_Bridge instances run on the same PC? as XLX or would something like port conflicts cause a problem?
Ken KE2N
|
||
|
||
Re: Random-ish audio artifacts
Use the text in node definition as per the how2 draft.
|
||
|
||
Re: Random-ish audio artifacts
KM4OKU
Allright. Just in case we got our wires crossed, I have another node that I use to connect the "public" asl side of this bridge to, it seems that is similar to your suggestion of using 1999.
On Jun 15, 2018, at 7:25 PM, KB8JNM <groupio@...> wrote:
|
||
|
||
Re: Random-ish audio artifacts
I hate to say it but you are going about this in the wrong way. Stop what you are doing.
Define your node with the usrp as 1999 first just as the how2 shows. Then define your radio node with the echolink connection When you are ready to have the gateway on the repeater, connect 1999 for rx or tx *21999 / *31999 and *1999 to disconnect it. You can not configure these to be on all the time on the same node. Not going to happen. Sorry, I'm on short time right now so that is the quick answer.
|
||
|
||
Re: Random-ish audio artifacts
KM4OKU
Here is my rpt.conf file. I did remove the stanzas related to cop commands etc... All that was commented out. ; Radio Repeater configuration file (for use with app_rpt) ; Your Repeater ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [46090] ; Change this to your assigned node number ; Must also be enabled in modules.conf ; Rx audio/signalling channel. Choose ONLY 1 per node stanza ; Enable the selected channel driver in modules.conf !!! ;rxchannel = dahdi/pseudo ; No radio (hub) ; rxchannel = SimpleUSB/usb_46090 ; SimpleUSB ; rxchannel = Pi/1 ; Raspberry Pi PiTA ; rxchannel = Radio/usb_46090 ; USBRadio (DSP) ; rxchannel = Dahdi/1 ; PCI Quad card ; rxchannel = Beagle/1 ; BeagleBoard rxchannel = USRP/127.0.0.1:34001:32001; GNU Radio interface USRP duplex = 0 ; 0 = Half duplex with no telemetry tones or hang time. ; Special Case: Full duplex if linktolink is set to yes. ; This mode is preferred when interfacing with an external multiport repeater controller. ; Comment out idrecording and idtalkover to suppress IDs also ; 1 = Half duplex with telemetry tones and hang time. Does not repeat audio. ; This mode is preferred when interfacing a simplex node. ; 2 = Full Duplex with telemetry tones and hang time. ; This mode is preferred when interfacing a repeater. ; 3 = Full Duplex with telemetry tones and hang time, but no repeated audio. ; 4 = Full Duplex with telemetry tones and hang time. Repeated audio only when the autopatch is down. linktolink = yes ; disables forcing physical half-duplex operation of main repeater while ; still keeping half-duplex semantics (optional) linkmongain = 0 ; Link Monitor Gain adjusts the audio level of monitored nodes when a signal from another node or the local receiver is received. ; If linkmongain is set to a negative number the monitored audio will decrease by the set amount in db. ; If linkmongain set to a positive number monitored audio will increase by the set amount in db. ; The value of linkmongain is in db. The default value is 0 db. erxgain = -3 ; Echolink receive gain adjustment ; Note: Gain is in db-volts (20logVI/VO) etxgain = 3 ; Echolink transmit gain adjustment ; Note: Gain is in db-volts (20logVI/VO) ;eannmode = 1 ; 1 = Say only node number on echolink connects (default = 1) ; 2 = say phonetic call sign only on echolink connects ; 3 = say phonetic call sign and node number on echolink connects ;controlstates = controlstates ; system control state stanza scheduler = schedule ; scheduler stanza functions = functions ; Repeater Function stanza phone_functions = functions ; Phone Function stanza link_functions = functions ; Link Function stanza telemetry = telemetry ; Telemetry stanza morse = morse ; Morse stanza wait_times = wait-times ; Wait times stanza context = radio ; dialing context for phone callerid = "Repeater" <0000000000> ; callerid for phone calls accountcode = RADIO ; account code (optional) hangtime = 20 ; squelch tail hang time (in ms) (optional, default 5 seconds, 5000 ms) althangtime = 20 ; longer squelch tail totime = 180000 ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms) idrecording = |i KM4OKU ; Main ID message idtalkover = |i KM4OKU ; Talkover ID message ; See Telemetry section Example: idrecording = rpt/nodenames/46090 idtime = 540000 ; id interval time (in ms) (optional) Default 5 minutes (300000 ms) politeid = 30000 ; time in milliseconds before ID timer expires to try and ID in the tail. (optional, default 30000) unlinkedct = ct2 ; Send a this courtesy tone when the user unkeys if the node is not connected to any other nodes. (optional, default is none) remotect = ct3 ; remote linked courtesy tone (indicates a remote is in the list of links) linkunkeyct = ct8 ; sent when a transmission received over the link unkeys ;nolocallinkct = 0 ; Send unlinkedct instead if another local node is connected to this node (hosted on the same PC). ;connpgm = yourconnectprogram ; Disabled. Execute a program you specify on connect. (default) ; passes 2 command line arguments to your program: ; 1. node number in this stanza (us) ; 2. node number being connected to us (them) ;discpgm = yourdisconnectprogram ; Disabled. Execute a program you specify on disconnect. (default) ; passes 2 command line arguments to your program: ; 1. node number in this stanza (us) ; 2. node number being disconnected from us (them) ;lnkactenable = 0 ; Set to 1 to enable the link activity timer. Applicable to standard nodes only. ;lnkacttime = 1800 ; Link activity timer time in seconds. ;lnkactmacro = *52 ; Function to execute when link activity timer expires. ;lnkacttimerwarn = 30seconds ; Message to play when the link activity timer has 30 seconds left. ;remote_inact_timeout = ; Specifies the amount of time without keying from the link. Set to 0 to disable timeout. (15 * 60) ;remote_timeout = ; Session time out for remote base. Set to 0 to disable. (60 * 60) ;remote_timeout_warning_freq = ; 30 ;remote_timeout_warning = ; (3 * 60) ;nounkeyct = 0 ; Set to a 1 to eliminate courtesy tones and associated delays. holdofftelem = 0 ; Hold off all telemetry when signal is present on receiver or from connected nodes ; except when an ID needs to be done and there is a signal coming from a connected node. telemdefault = 2 ; 0 = telemetry output off ; 1 = telemetry output on (default = 1) ; 2 = timed telemetry output on command execution and for a short time thereafter. telemdynamic = 1 ; 0 = disallow users to change the local telemetry setting with a COP command, ; 1 = Allow users to change the setting with a COP command. (default = 1) ;beaconing = 0 ; Send ID regardless of repeater activity (Required in the UK, but probably illegal in the US) parrotmode = 0 ; 0 = Parrot Off (default = 0) ; 1 = Parrot On Command ; 2 = Parrot Always ; 3 = Parrot Once by Command parrottime = 1000 ; Set the amount of time in milliseconds ; to wait before parroting what was received ;rxnotch=1065,40 ; (Optional) Notch a particular frequency for a specified ; b/w. app_rpt must have been compiled with ; the notch option startup_macro = ; nodenames = /var/lib/asterisk/sounds/rpt/nodenames.callsign ; Point to alternate nodename sound directory ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Need more information on these ;extnodes = extnodes-different ; section in extnodefile containing dynamic node information (optional) ;extnodefile = /foo/nodes ; Points to nodelist file containing dynamic node info default = /var/lib/asterisk/rpt_extnodes (optional) ;extnodefile2 = ; Is this a list of node files? Possible a list of private nodes or a list of static IPs for known nodes???? ;nodenames = /foo/names ; locaton of node sound files default = /var/lib/asterisk/sounds/rpt/nodenames ;archivedir = /tmp ; defines and enables activity recording into specified directory (optional) ;monminblocks = 2048 ; Min 1K blocks to be left on partition (will not save monitor output if disk too full) ; ; The tailmessagetime,tailsquashedtime, and tailmessagelist need to be set ; ; to support tail messages. They can be omitted otherwise. ;tailmessagetime = 300000 ; Play a tail message every 5 mins ;tailsquashedtime = 30000 ; If squashed by another user, ; ; try again after 30 seconds ;tailmessagelist = msg1,msg2 ; list of messages to be played for tail message ; alt_functions ; ctgroup ; dphone_functions ; idtime ; iobase ; iospeed ; locallist ; mars Remote Base ; memory ; nobusyout ; nodes ; nolocallinkct ; notelemtx ; outxlat ; parrot ; propagate_phonedtmf ; rptnode ; rptinactmacro Macro to execute when inactivity timer expires ; rptinacttime Inactivity timer time in seconds (0 seconds disables feature) ; rxnotch Optional Audio notch ; simplexphonedelay ; tonemacro ; tonezone ; txlimits ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [telemetry] ; Telemetry entries can be shared across all repeaters, or defined for each repeater. ; Can be a tone sequence, morse string, or a file ; ; |t - Tone escape sequence ; ; Tone sequences consist of 1 or more 4-tuple entries (freq1, freq2, duration, amplitude) ; Single frequencies are created by setting freq1 or freq2 to zero. ; ; |m - Morse escape sequence ; ; Sends Morse code at the telemetry amplitude and telemetry frequency as defined in the ; [morse] section. ; ; Follow with an alphanumeric string ; ; |i - Morse ID escape sequence ; ; Sends Morse code at the ID amplitude and ID frequency as defined in the ; [morse] section. ; ; path/to/sound/file/without/extension ; ; Send the sound if in place of a constructed tone. Do not include the file extension ; Example: ct8 = rpt/bloop ; Example: idrecording = rpt/nodenames/46090 ct1 = |t(350,0,100,2048)(500,0,100,2048)(660,0,100,2048) ct2 = |t(660,880,150,2048) ct3 = |t(440,0,150,4096) ct4 = |t(550,0,150,2048) ct5 = |t(660,0,150,2048) ct6 = |t(880,0,150,2048) ct7 = |t(660,440,150,2048) ct8 = |t(700,1100,150,2048) ranger = |t(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,50,0)(1800,0,60,3072)(0,0,150,0) remotemon = |t(1209,0,50,2048) ; local courtesy tone when receive only remotetx = |t(1633,0,50,3000)(0,0,80,0)(1209,0,50,3000) ; local courtesy tone when linked Trancieve mode cmdmode = |t(900,903,200,2048) functcomplete = |t(1000,0,100,2048)(0,0,100,0)(1000,0,100,2048) remcomplete = |t(650,0,100,2048)(0,0,100,0)(650,0,100,2048)(0,0,100,0)(650,0,100,2048) pfxtone = |t(350,440,30000,3072) patchup = rpt/callproceeding patchdown = rpt/callterminated ; As far as what the numbers mean, ; (000,000,010,000) ; | | | |-------amplitude ; | | |-------------duration ; | |-------------------Tone 2 ; |-------------------------Tone 1 ; So, with 0,0,10,0 That says No Tone1, No Tone2, 10ms duration, 0 Amplitude. ; Use it for a delay. Fine tuning for how long before telemetry is sent, in conjunction with the telemdelay parameter) ; The numbers, like 350,440,10,2048 are 350Hz, 440Hz, 10ms delay, amplitude of 2048. ; Morse code parameters, these are common to all repeaters. [morse] speed = 20 ; Approximate speed in WPM frequency = 800 ; Morse Telemetry Frequency amplitude = 4096 ; Morse Telemetry Amplitude idfrequency = 1065 ; Morse ID Frequency idamplitude = 1024 ; Morse ID Amplitude ; ; This section allows wait times for telemetry events to be adjusted ; A section for wait times can be defined for every repeater ; [wait-times] telemwait = 20 ; Time to wait before sending most telemetry idwait = 500 ; Time to wait before starting ID unkeywait = 20 ; Time to wait after unkey before sending CT's and link telemetry calltermwait = 20 ; Time to wait before announcing "call terminated" ; Scheduler - execute a macro at a given time [schedule] ;dtmf_function = m h dom mon dow ; ala cron, star is implied ;2 = 00 00 * * * ; at midnight, execute macro 2. #includeifexists custom/rpt.conf
On Fri, Jun 15, 2018 at 5:26 PM KB8JNM <groupio@...> wrote: Could you post to me/ or email the dmr node attachment 's rpt.conf file entry
|
||
|
||
Re: Random-ish audio artifacts
To be short and clear this is from the latest How2. And Steve shot me this when I had my issues.
What I found at the heart of my issue was that I assumed many things not described would not have a value and the problem with that is, it's dead wrong. Some things have default values loaded when nothing has been described. Not normally a issue if we were only using allstar nodes, you would not hear or effect anything. But the usrp-analog-mmdvm is always "ON". So start with this + your link to link / duplex etc but if anything crates output on the dmr side, you will not realize what is happening but disruption tx on the dmr side. You can use BM's pipeline to monitor tx's by id and duration for some added insight. Set it for the TG you are working with in your connection. Set logs to '5' and check files for added info.
|
||
|
||
Re: Random-ish audio artifacts
Could you post to me/ or email the dmr node attachment 's rpt.conf file entry
If it is a private node or public the "node that the usrp has connection to".
|
||
|
||
Re: Random-ish audio artifacts
KM4OKU
As I understand, no, it is set up quite similarly to my other simplex nodes except for linkToLink and duplex settings. Here is a overview
Vhf Repeater with Allstar node attached via remote radio. Allstar node on repeater linked to the ASL side of the bridge. Other ASL nodes connect to the ASL side of the bridge.
|
||
|
||
Re: Random-ish audio artifacts
So, the ASL node running USRP is not setup as a repeater? I should
have said the recommended node configuration for USRP (DMR)
toggle quoted messageShow quoted text
On 6/15/2018 2:25 PM, KM4OKU wrote:
|
||
|
||
Re: Random-ish audio artifacts
KM4OKU
Hey Steve, yes sir I believe I am insofar as I'm not doing anything atypical with the ASL side. Actually, your question reminded me that if I use systemctl stop mmdvm_bridge, and remain talking across the ASL side, that odd bit of audio does not manifest itself.
On Fri, Jun 15, 2018 at 12:53 PM Steve N4IRS <szingman@...> wrote:
|
||
|
||
Re: Random-ish audio artifacts
Grady,
toggle quoted messageShow quoted text
Are you using the recomended ASL node configuration? Steve
On 6/15/2018 11:57 AM,
Grady.Anderson@... wrote:
Good morning and hello to all. First off, a huge thank you to everyone involved in putting together this analog -> digital software. I have very little exposure to things of this nature (outside of Allstar) and it is quite mind blowing.
|
||
|
||
Re: Random-ish audio artifacts
KM4OKU
My apologies, I copied and pasted and forgot to change what may be important
"DMR Talker Alias (Data Format 1, Received 6/22 char): 'KM4OKU' "DMR Talker Alias (Data Format 1, Received 13/22 char): 'KM4OKU DMR ID' "DMR Talker Alias (Data Format 1, Received 20/22 char): 'KM4OKU DMR ID: 31138' "DMR Talker Alias (Data Format 1, Received 22/22 char): 'KM4OKU DMR ID: 3113878'
|
||
|