Private node telemetry won't turn off

[1801]
duplex = 0
hangtime = 100
rxchannel = USRP/127.0.0.1:34001:32001
holdofftelem=1
telemdefault=0 ; was 2
telemdynamic = 0
idrecording = |iKC2NJV
linktolink = no
startup_macro = *6962499

[1802] 
duplex = 0
hangtime = 100
rxchannel = USRP/127.0.0.1:34003:32003  ;<<- change ip no
idrecording = |iKC2NJV
holdofftelem=1
telemdefault=0 ; was 2
telemdynamic = 0
linktolink = no

[1803]
duplex = 0
hangtime = 100
rxchannel = USRP/127.0.0.1:34006:32006  ;<<- change ip no
idrecording = |iKC2NJV
holdofftelem=1
telemdefault=0 ; was 2
telemdynamic = 0
linktolink = no
startup_macro = *6962499

[1500] 
rxchannel = dahdi/pseudo
idrecording = |iKC2NJV
duplex = 0
holdofftelem=1
telemdefault=0 ; was 2
telemdynamic = 0
linktolink = no
startup_macro = *6962499

Try this on your private nodes.
It would seem to me, this is how you achieve what you want but…

You have no command structure defined and macro is inside of that.

The issue then is when defaults are loaded, when node specific data is loaded and when templates are loaded.
The timing would dictate the last loaded parameters are the ones you are left with.

And there is no guide to tell anyone what default values are.
I would be clueless to say.

But if that was the whole rpt.conf file,
it is command-less minus unpublished defaults and when is that loaded.

Kinda hard to debug that.

But it appears to me from what I have worked with it that the template [node-main] loads defaults values without any description contained within. But it just seems they are loaded after node specific items are loaded. I could be wrong.

So the challenge is to put enough command structure in your private nodes to run the startup macro without using the general template.

Or creating a special template for your private nodes only to use, and a separate template for your public nodes to use where you have a full command structure.

Something ‘like’ this.

[node-private](!)
idrecording = |iKC2NJV
holdofftelem=1
telemdefault=0 ; was 2
telemdynamic = 0
linktolink = no
startup_macro = *6962499
[1803] (node-private)
duplex = 0
hangtime = 100
rxchannel = USRP/127.0.0.1:34006:32006  ;<<- change ip no

But I don’t know what holds back the startup macro from being enabled by default values.
Or what you have to set to enable it.

Sorry, I am doing a lot of guessing here.
None of this was listed in ‘changes’ of the manual when I read it.
.

@Mike

I’ll give it a try.

Must say that in the many years of playing with UNIX/Linux, these sets of programs have been the most difficult to implement and get right.

Part of the problem is a lack of understanding the structure of the conf file and the associated order of commands.

Thanks again…. I’ll report back

As I wrote earlier :

When app_rpt looks for a nodes configuration it starts off with a set of hard-coded defaults. Then, it looks in the rpt.conf file for the nodes stanza (e.g. [62499]). Each variable/value line found in the stanza overrides the previous value. When a node stanza is setup to use a template you start off with the hard-coded defaults, then the template definitions are applied, and finally the per-node definitions are applied.

Looking at how asterisk parses the configuration files, you do not want any white space between the ‘]’ and the ‘(’. In other words, use :

[1803](node-private)

So I added the lines that Mike gave to a test rpt.conf file (saved the existing file) and I added 1803 instead of [1803] and [1803]/(node-main) (slash to make the node-main visible)

Got a core dump.

Restored [1803]/(node-main) and asterisk booted up.

Macros didn’t work.

Immediately after giving a test message over RF got a connection notice stating at least the TG number… I tried connecting via my TGIF group and also got the same connection notice. Same on YSF.

From my Analog_bridge.log for the P25 DVSwitch:

M: 2024-11-09 14:50:01.106 PTT on
M: 2024-11-09 14:50:01.686 PTT off (keyed for 580 ms)
I: 2024-11-09 14:50:02.796 Begin TX: src=10999 rpt=320332911 dst=11710 slot=2 cc=0 call=P25Gate
M: 2024-11-09 14:51:39.425 PTT on
M: 2024-11-09 14:51:42.705 PTT off (keyed for 3280 ms)
M: 2024-11-09 14:51:56.226 PTT on
M: 2024-11-09 14:51:59.705 PTT off (keyed for 3479 ms)
M: 2024-11-09 14:52:08.525 PTT on
M: 2024-11-09 14:52:10.525 PTT off (keyed for 2000 ms)
I: 2024-11-09 14:52:11.630 Begin TX: src=10999 rpt=320332911 dst=11710 slot=2 cc=0 call=P25Gate

the src=10999 is the connecton announcement

When I broadcast on P25 I see this:

: 2024-11-09 14:55:28.447 Begin TX: src=3203329 rpt=320332911 dst=11710 slot=2 cc=0 call=KC2NJV
I: 2024-11-09 14:55:36.259 Begin TX: src=3203329 rpt=320332911 dst=11710 slot=2 cc=0 call=KC2NJV

I’ve unlinked 1803 for the time being since I have nets that I connect to automatically.

While this shouldn’t matter, the radio that connects to the hat is analog. The radio that connects to the TG’s, is a Yaesu FT-500D (updated 8/24) via an OpenSpot 4 Pro updated this week.

Bizarre…

Thanks again!!!

type error of a rough example to demonstrate a template since he has no example.

Are these published somewhere ?

So, what changes if you do not use them at all , using the older methods ?
I don’t use asl-menu for anything.
I am looking for short cuts to my own anomalies I have spent months on.

The interface equipment does not matter, just the interface config.

under previous versions,
This is what you needed for a dvswitch/usrp connection with the minimal telemetry with some explanations. From a working config.

[1332] ; NXDN Bridge
rxchannel = USRP/127.0.0.1:34001:32001  ; Use the USRP channel driver. 
                                        ; 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 

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
idtalkover = |ie			; Talkover ID (optional) default is none 


Updated my 1803 sans the idrecording & idtalkover since I’m not sure what i"e" stands for (I know “i” is for morse)

I tested locally, no connection string.

I connected to the East Coast Reflector 27339 and no connection string.

From the Analog_Bridge for P25:

M: 2024-11-09 16:18:57.301 PTT on
M: 2024-11-09 16:19:01.301 PTT off (keyed for 4000 ms)
M: 2024-11-09 16:19:08.861 PTT on
M: 2024-11-09 16:19:13.581 PTT off (keyed for 4720 ms)
I: 2024-11-09 16:20:14.103 Begin TX: src=3203329 rpt=320332911 dst=11710 slot=2 cc=0 call
I: 2024-11-09 16:20:25.176 Begin TX: src=3203329 rpt=320332911 dst=11710 slot=2 cc=0 call
M: 2024-11-09 16:21:58.401 PTT on
M: 2024-11-09 16:23:00.521 PTT off (keyed for 62120 ms)
M: 2024-11-09 16:23:03.041 PTT on
M: 2024-11-09 16:23:18.141 PTT off (keyed for 15100 ms)
M: 2024-11-09 16:23:18.161 PTT on
M: 2024-11-09 16:23:18.286 PTT off (keyed for 125 ms)
M: 2024-11-09 16:23:18.301 PTT on
M: 2024-11-09 16:23:26.866 PTT off (keyed for 8565 ms)
M: 2024-11-09 16:23:31.301 PTT on
M: 2024-11-09 16:24:07.786 PTT off (keyed for 36485 ms)
M: 2024-11-09 16:24:11.241 PTT on
M: 2024-11-09 16:24:12.601 PTT off (keyed for 1360 ms)
M: 2024-11-09 16:24:12.681 PTT on
M: 2024-11-09 16:24:12.986 PTT off (keyed for 305 ms)
M: 2024-11-09 16:24:13.021 PTT on

I stayed on the node for over 10 minutes and multiple different QSOs w/o the connection announcement starting. I even connected to node 1500 via my cell phone (HOIP) and directly into 62499 via Echolink → no announcement was made. PERFECTION!!!

I had a QSO via P25 to the East Coast Reflector, except for some voice quality issues and small drop outs (I think that can be adjusted in my gain factors on the DVSwitch), no other announcements kicked off.

BTW, the startup macros still aren’t working…

T H A N K ↔ Y O U ! !

the ‘e’ is just the shortest possible id string. It is only herd on the node itself.
Not RF and doesn’t need an ID anyway and stands as a placeholder for other semantics.
Disrupts little to nothing. As configured should only play when rx not active, but could.

There’s a lot going on in this thread.

Any chance you still have the rpt.conf file that resulted in a core dump? If so, could you e-mail that to me and I’ll see what we can do to fix the crash.

The comments in rpt.conf should be pretty close. But, the truth will always be the source code :slight_smile:

Look me up on Qrz. I have the rpt.comf

I did say anomalies, not crash.

Commands and or settings do not seem to be present in all nodes using the same template. Or are non-reactive in dtmf only. I use dtmf 99% from multiple device types.
May not have anything to do with templates but how am I to know. At least I know the parameter load order now. But not the defaults. Can’t rule it out either.

Much like this topic where his startupmacro does not function unless he loads a template. Find an answer for that and it is likely the same as my issues.
That is why I question the defaults in print. Something is missing and I don’t know where else to look for what I don’t know.
The source code… for real ? Nobody took notes writing this stuff ?
How then do you document it ?

KC2NJV wrote: “Got a core dump.”

… and the core dump indicates that asterisk crashed

Am I not being clear about this ?
Asterisk did not crash.

edit: sorry, I did misunderstand the direction from previous posts that I did not remember from reading to many at once…

Makes sense, thanks…

I modified my USRP gain values, restarted Analog_Bridge and tried the East Coast Reflector. Response to my query about my signal was a 59.

It would seem that that issue is “solved”.

Now if only macros (startup or normal) would work… but not high up on list of to do’s… Next is linking a Wires-X HRI200 ultimately to ASL That should be fun :slight_smile: :smiley:

Just as a test to rule-out the possibility,
Your startup macro is each loading the same thing for streaming. Nearly at the same time,
at startup.
Perhaps add some delay to them, but longer for some nodes.

startup_macro = P *6962499
startup_macro = P P *6962499
startup_macro = P P P *6962499

whereas the ‘P’ injects a 500ms pause each in execution.
Just a thought worth a try without digging to hard.

For your nodes where the startup_macro is not working, and assuming that you are still not using the templated configuration, can you check the node stanzas to ensure that they have the following :

functions = functions

If that line is missing, please add it to the stanza and see if that resolves your issue.

I tried adding the pauses, no effect.

I added functions = functions on all the private nodes (it was on the public node already).

Houston, we have lift-off!!!

Thank you Gentleman!

So, would it be safe to assume from that if these are not part of a nodes stanza that defaults for that section are not loaded ?

controlstates = controlstates
scheduler = schedule
functions = functions
phone_functions = functions
link_functions = functions
telemetry = telemetry
morse = morse
wait_times = wait-times

When I was looking at how the startup_macro was being handled in the app_rpt code it looked like functions = functions might be needed. That’s what drove my question / suggestion. As for the other variables, I can’t give you an answer without reviewing the source code.

If you want to be certain, add them all. Or, you could just start with the rpt.conf file that was shipped with ASL3, stick with using the template configuration, and not have to figure out the default behavior of what’s not specified. Yes, using a templated configuration is different from what you may have used in the past but being able to make a change in one place that affects all nodes and at the same time being able to have a setting for just one node should help simplify your configurations.