Courtesy tones by node number through a hub

Hey all,

I’m messing with custom courtesy tones to quickly identify the source of traffic received via the network (using linkunkeyct=by_node_number), and think I’ve hit a bit of a snag. I believe the issue is related to private nodes connecting through a hub. Am I correct in assuming that on all remote nodes (nodes other than the hub), all traffic will show as originating from the hub and therefore I can’t determine the original node ID to play the custom CT?

In my use case, node 1010 is the hub and nodes 1001-1003 are individual RF nodes. The hub setup is being used due to the remote sites not having the ability to port forward/provide static IPs. Maybe wireguard VPN is in my future…

Here’s my config in rpt.conf:



ct41 = |t(0,400,150,2048)
ct42 = |t(0,600,150,2048)
ct43 = |t(0,800,150,2048)
ct99 = |t(0,800,75,2048)(0,400,75,2048)


You pose a good question. I remember this coming up a few times over the years and don’t remember how many got around it if they even did.

The wiki on CT’s

Does not have info on the method you are showing and it would be news to me if that worked.
Mainly, assignment of individual ct’s
As I believe it is all lumped together as one. But I could be wrong about that. There are things that have never been documented or lost over time for various reasons.
linkunkeyct = ct8

Each node can have it’s own, but only ‘as seen from that node’ and described in that nodes stanza, even in the case you define the same telemetry definition stanza…
‘telemetry = telemetry’ (for each node) over ‘telemetry = telemetry1234’ (individual)
In either case, you can’t control the CT’s heard by some other node
‘unless you generate it at the end of the audio stream sent’.
So, perhaps that will spark a few ideas.
But you only have the four settings as shown in the wiki.

I had once questioned if a PL tone could be sent from a private node and making use of ‘tonemacro’, play a short ct on the hub that was in the form of a small audio clip. Never tried it. In thinking about doing it this way, you would need to set option of ‘holdofftelem = 1’ so the tonemacro did not execute/play till tx was done. So tonemacro would play a different clip based on which tone came in.

Perhaps others have worked out a better method.

Take a look at asterisk -rx "rpt stats <node #>". I think that should tell you which node is keyed. Then take a look at Event Management - AllStarLink Wiki

Between those two things a script could send CTs in addition to, or perhaps in place of, the app_rpt courtesy tones.

Interesting project. Keep us posted.

Never thought of going that route !
Perhaps I will dabble with a script when I get time.