Random-ish audio artifacts


KM4OKU
 

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.
I have a bridge running on an old Dell GX270(?) Optiplex tower, the issue I am about to ask about also exists for a friend of mine who is running on VPS.

Fairly frequently, a small piece of audio artifact shows up on the bridge. Sometimes on key-up, sometimes on -un-key, we can hear a half second of audio and then a piece of a squelch tail. There is never enough to tell if the audio is from the current call or previous call. I have looked at the MMDVM logs and the only thing I see that looks like it may be the issue is something along the lines of
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 31138'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 3113878'

Again, being new to the DMR side of things, I really don't know if I'm even in the neighborhood here on this. If anyone has any input on what it could be or how to troubleshoot, I would greatly appreciate your input!

Again, thanks for putting together this package, I'm having lots of fun and learning much using it.




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'


Steve N4IRS
 

Grady,
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.
I have a bridge running on an old Dell GX270(?) Optiplex tower, the issue I am about to ask about also exists for a friend of mine who is running on VPS.

Fairly frequently, a small piece of audio artifact shows up on the bridge. Sometimes on key-up, sometimes on -un-key, we can hear a half second of audio and then a piece of a squelch tail. There is never enough to tell if the audio is from the current call or previous call. I have looked at the MMDVM logs and the only thing I see that looks like it may be the issue is something along the lines of
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 31138'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 3113878'

Again, being new to the DMR side of things, I really don't know if I'm even in the neighborhood here on this. If anyone has any input on what it could be or how to troubleshoot, I would greatly appreciate your input!

Again, thanks for putting together this package, I'm having lots of fun and learning much using it.





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:
Grady,
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.
I have a bridge running on an old Dell GX270(?) Optiplex tower, the issue I am about to ask about also exists for a friend of mine who is running on VPS.

Fairly frequently, a small piece of audio artifact shows up on the bridge. Sometimes on key-up, sometimes on -un-key, we can hear a half second of audio and then a piece of a squelch tail. There is never enough to tell if the audio is from the current call or previous call. I have looked at the MMDVM logs and the only thing I see that looks like it may be the issue is something along the lines of
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 31138'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 3113878'

Again, being new to the DMR side of things, I really don't know if I'm even in the neighborhood here on this. If anyone has any input on what it could be or how to troubleshoot, I would greatly appreciate your input!

Again, thanks for putting together this package, I'm having lots of fun and learning much using it.





Steve N4IRS
 

So, the ASL node running USRP is not setup as a repeater? I should have said the recommended node configuration for USRP (DMR)

On 6/15/2018 2:25 PM, KM4OKU wrote:
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:
Grady,
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.
I have a bridge running on an old Dell GX270(?) Optiplex tower, the issue I am about to ask about also exists for a friend of mine who is running on VPS.

Fairly frequently, a small piece of audio artifact shows up on the bridge. Sometimes on key-up, sometimes on -un-key, we can hear a half second of audio and then a piece of a squelch tail. There is never enough to tell if the audio is from the current call or previous call. I have looked at the MMDVM logs and the only thing I see that looks like it may be the issue is something along the lines of
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 31138'
"DMR Talker Alias (Data Format 1, Receieved 6/22 char): 'KM4OKU DMR ID: 3113878'

Again, being new to the DMR side of things, I really don't know if I'm even in the neighborhood here on this. If anyone has any input on what it could be or how to troubleshoot, I would greatly appreciate your input!

Again, thanks for putting together this package, I'm having lots of fun and learning much using it.






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.


Mike KB8JNM
 

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".


Mike KB8JNM
 

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.

; Radio Repeater configuration file (for use with app_rpt)


; Your Repeater


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


[1999]

rxchannel = USRP/127.0.0.1:34001:32001  ; Use the USRP channel driver. Must be enabled in modules.conf

                                       ; 127.0.0.1 = IP of the target application

                                       ; 34001 = UDP port the target application is listening on

                                       ; 32001 = UDP port ASL is listening on


duplex = 0                              ; 0 = Half duplex with no telemetry tones or hang time. Ah, but Allison STILL talks!


hangtime = 0                            ; squelch tail hang time 0

althangtime = 0                         ; longer squelch tail hang time 0


holdofftelem = 1                        ; 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 = 0                        ; 0 = telemetry output off. Don't send Allison to DMR !!!!!!!!!!!!!!!!! Trust me.


telemdynamic = 0                        ; 0 = disallow users to change the local telemetry setting with a COP command,


linktolink = no                         ; disables forcing physical half-duplex operation of main repeater while

                                       ; still keeping half-duplex semantics (optional)


nounkeyct = 1                           ; Set to a 1 to eliminate courtesy tones and associated delays.


totime = 180000                         ; transmit time-out time (in ms) (optional, default 3 minutes 180000 ms)


idrecording = |ie                       ; id recording or morse string see http://ohnosec.org/drupal/node/87

idtalkover = |ie                        ; Talkover ID (optional) default is none see http://ohnosec.org/drupal/node/129

 


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
If it is a private node or public   the "node that the usrp has connection to".


Mike KB8JNM
 

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.


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:

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.


Mike KB8JNM
 

Use the text in node definition as per the how2 draft.
It is the port settings that is important here for what is actually connected to your gateway/usrp.definition.
If that node is publicly defined node # or not. It must be "by itself" with those settings. It must not be defined in any other way outside of the node number for it to work.
My advise is,  make it work as prescribed before making changes desired.
You might understand it more/better.
But if you are running that as shown, you are creating havoc on the dmr port and must stop.

Put simply, the analog port gateway (usrp) must be defined as a 'separate node' without all/most of allstar options or you are going to make a mess and possibly get a bunch of hate mail from dmr users you are screwing up the channel for.