How to setup local (private) node and server

I’m new to app_rpt, and allstarlink. I’m familiar with linux.

I am experimenting, I want to create a system like this:

  1. node 500, a virtual machine running ASL with no radio attached
  2. node 501, a raspberry pi running ASL, USB interface to a radio
  3. node 502, a raspberry pi running ASL, USB interface to a radio
  4. node 503, a raspberry pi running ASL, USB interface to a radio
    all nodes will be on a local network, not connected to the Internet or the allstar server(s)

All the documentation I’m seeing is geared around how to link a local node to the allstar network, but I read in the features that linking to the allstar network is not necessary. I don’t see documentation on how to achieve a (private?) system with only local nodes.

I’ve picked up the fact (I think) that I’ll need a ‘powerful’ computer to serve as a hub. This is the purpose of my first node (the virtual machine).

How I want it to work: When a raspberry pi node detects its attached radio squelch open up, the other nodes should transmit the signal. (what is this basic system configuration even called?)

Bonus points: use a computer or smartphone app with a PTT feature to connect to the system and communicate with the nodes.

Right now, I have the hardware for the first 2 nodes. I don’t understand how to configure each node so they connect to each other. (I’ll add the rest of the nodes later, if I have success here)

I’m not sure I’m even using the correct terminology! Please help me if you can, I’m a little lost.

thanks,
Brian - kb5won

I’ve discovered the [nodes] section within the rpt.conf file. This seems like where I’d set up my list of nodes that are connected to each other on my local network.

But I’m confused by much. Do I need to setup this config file on every node? Does every node have a list of all other nodes? Or do I only list my local nodes on my first node (the ‘server’?)

Also, when I run allmon2, I get some errors that make me think I’m still missing some basic setup.
Screenshot from 2021-11-24 09-00-24

Yes. It is in the [nodes] stanza. Every rpt.conf needs to know where the other nodes are, and vice versa, if they are not registered in AllStar. Even if they are multiple nodes on the same machine (127.0.0.1) they need an entry in [nodes].

There’s a thread with examples here: Nodes connected to each other WITHOUT allstar "server'? - #7 by WQXN966_Jason

Mike KD4LQS

1 Like

Welcome Brian

My system is as you want yours. I’ve been very pleased with the results:

http://ah6le.net/index.php/allstar-links/overview

If you have specific questions, I’d be happy to offer what assistance I can

Ken

1 Like

Welcome Brian,
Let me first point out that you might want your private nodes to consist of a 4 digit number and under 2000…And that you use arbitrary numbers for them, commonly many use 199x but I would suggest you stay away from the range in the case later you make a public connection in your system.

Each node will have a setup in rpt.conf ( a stanza ) where you can define the specific parameters for it.
You can copy paste and adjust the number to get started.
Each node will need to be described in [nodes] section so the system knows how to connect to it.
A local node (in the same computer) will have a ip address of 127.0.0.1 (internal) and the same iax port as described in iax.conf
Each connected node will also need a connection description in the dial plan which is in extensions.conf
I see you pasted a image of allmon. Perhaps that is the source of some of your confusion.
To use/see private nodes in allmon you will need to list them in a file. See the ‘privatenodes.txt’ file and read instruction for allmon on the issue. Here is a example…
1010|KB8JNM|System Playback|East Ohio
1020|KB8JNM|System Recorder|East Ohio
1910|KB8JNM|Digital Mode Server|East Ohio
1950|KB8JNM-L|EchoLink 155783|East Ohio
1951|KB8JNM-R|EchoLink 804396|East Ohio
1960|KB8JNM|Agile Digital Link|East Ohio
1970|KB8JNM|NXDN 49999 Reflector|East Ohio
1980|KB8JNM|YSF 88023 Reflector|East Ohio
Allmon is not actually part of ASL/Asterisk but a great tool created by one of our members here.
You can ask questions about it here as well.

Also see the wiki, but when you stumble, come back and ask questions. That what we are here for.

1 Like

thanks for the replies and help folks. I’m reading through it now and it seems like you got me on the right path! Many thanks!

-Brian, KB5WON

in my iax.conf file the line like
register=node:password@register.allstarlink.org
is used to register each of my nodes to the allstar network.

What if I don’t want my nodes registered on the allstar network? Just comment this line out?

I figured out that the asterisk service is not even running.

when I try to run it at a command prompt, it complains about /dev/dahdi/pseudo not being present. I thought maybe dahdi wasn’t installed so I tried
$ sudo apt-get install dahdi
but that failed due to a collision with a asl-dahdi config file
here is what I see when I try to start astesrisk (1500 is the node number I’ve chosen for this node)

repeater@ASL1500:~$ sudo /usr/sbin/asterisk -c

AllStarLink Asterisk Version 1.01 2/13/2018 GIT Version 004b9dd
Copyright (C) 1999 - 2018 Digium, Inc. Jim Dixon, AllStarLink Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY...
=========================================================================
[ Booting...
[ Reading Master Configuration ]
[ Initializing Custom Configuration Options ]
[Nov 27 11:56:02] NOTICE[2497]: dnsmgr.c:394 do_reload: Managed DNS entries will be refreshed every 300 seconds.
[Nov 27 11:56:02] NOTICE[2497]: cdr.c:1416 do_reload: CDR simple logging enabled.
[Nov 27 11:56:02] NOTICE[2497]: loader.c:874 load_modules: 56 modules will be loaded.
...............[Nov 27 11:56:03] WARNING[2497]: chan_iax2.c:12750 load_module: Unable to open IAX timing interface: No such file or directory
......................................... ]
Asterisk Ready.
*CLI> [Nov 27 11:56:03] NOTICE[2503]: app_rpt.c:22184 rpt_master: Normal Repeater Init  1500    
[Nov 27 11:56:03] WARNING[2521]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:03] ERROR[2521]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:03] ERROR[2507]: chan_echolink.c:2401 do_el_directory: Error in parsing header on nasouth.echolink.org
[Nov 27 11:56:03] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:03] WARNING[2522]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:03] ERROR[2522]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:05] NOTICE[2503]: app_rpt.c:22228 rpt_master: RPT thread restarted on 1500
[Nov 27 11:56:05] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:05] WARNING[2523]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:05] ERROR[2523]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:07] NOTICE[2503]: app_rpt.c:22228 rpt_master: RPT thread restarted on 1500
[Nov 27 11:56:07] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:07] WARNING[2524]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:07] ERROR[2524]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:09] NOTICE[2503]: app_rpt.c:22228 rpt_master: RPT thread restarted on 1500
[Nov 27 11:56:09] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:09] WARNING[2525]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:09] ERROR[2525]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:11] NOTICE[2503]: app_rpt.c:22228 rpt_master: RPT thread restarted on 1500
[Nov 27 11:56:11] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:11] WARNING[2526]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:11] ERROR[2526]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:13] ERROR[2507]: chan_echolink.c:2401 do_el_directory: Error in parsing header on naeast.echolink.org
[Nov 27 11:56:13] NOTICE[2503]: app_rpt.c:22228 rpt_master: RPT thread restarted on 1500
[Nov 27 11:56:13] WARNING[2503]: app_rpt.c:22240 rpt_master: rpt_thread restarted on node 1500
[Nov 27 11:56:13] WARNING[2528]: chan_dahdi.c:928 dahdi_open: Unable to open '/dev/dahdi/pseudo': No such file or directory
[Nov 27 11:56:13] ERROR[2528]: chan_dahdi.c:7906 chandup: Unable to dup channel: No such file or directory
rpt:Sorry unable to obtain Rx channel
[Nov 27 11:56:15] ERROR[2503]: app_rpt.c:22223 rpt_master: Continual RPT thread restarts, killing Asterisk

I don’t understand what is happening. Can anyone here help to explain? (maybe also explain what dahdi is)

Any idea what I need to do to get the asterisk service going?

Do I need to change the configuration so my hub node does not try to contact the AllStar servers?

I downloaded the 2.0 images and am getting them setup now… that resolves the problem of asterisk not loading because of the dahdi error. Seems like it would be a good idea to mark the stable install instructions as old and broken so others don’t have to experience the same pain.

Things went a lot smoother using the 2.0 images. BUT, I’m still scratching my head.

1- How can I tell of my node (raspberry pi w/ USB radio interface) and my server (virtual machine w/ no radio (hub?)) are connected?

Playing catch-up toya…

You do not need to regerister if you are not connecting to the network.
Put a comment ’ ; ’ in front of the line (semicolon) and leave it there for future reference of format.

The best way to test your ‘radioless’ private nodes is on your private network using a iax phone or sip phone.
While you can’t really do a full audio test with a one sided conversation, you can test it for command and control functionality, unless you run 2 of them, and then you can check audio paths and levels.

iaxrpt (for a pc)
https://wiki.allstarlink.org/wiki/Setup/Download_IAXRpt

But you can also install a sip phone or softphone on a pc as well. A bit of a steeper learning curve for a beginner. But would allow you to test the audio as well.

Or just 2 iaxrpt or sip phones.
Soft phones are just a pc or smartphone program with a telephone like interface. This all of course is VOIP in different forms.

I Suggest with the iaxrpt on 2 pc’s if you can do it for starters.

1 Like

You can use the app_rpt CLI commands to check status, execute commands, etc.

To get to the asterisk CLI, type the following: asterisk -r

Once at the CLI, type: help rpt

You will get a list of the commands available. Start with rpt localnodes, then try rpt lstats and rpt nodes to see the list of connected nodes. There’s many useful commands in there.

73,

Dave
WA1JHK

2 Likes

OK, I’m on the road and brought my ASL experiment with me. (wires and equipment strung all over my hotel room!)

I have my 2 nodes running and both transmit CW ID and squelch tails when I key them up.

  1. node 1500 is my VM client radioless. I can connect to it with iaxRpt windows app (w/ Wine)
  2. node 1501 is my rPi w/ USB radio interface. I have COS and PTT working and audio levels set.
    I can ping each node from the other one, so I know they have network connectivity.

Now, the thing I’m missing:
I want node 1501 to transmit when I ‘transmit’ to node 1500. (and vice versa)
My two nodes don’t seem to be connected. (how can I tell?)
I added each of the ‘other’ nodes in the iax.conf file in the [nodes] stanza.

Appreciate all the help!
73, KB5WON (Brian)

I’ve connected to the CLI as suggested. Best I can’t tell if my two nodes are not connected. I’m a little lost though, I just don’t understand what to expect. I think I should only have 1 local node, but I expect to also have one connected node. I’m just not sure I’m using the correct words and also not sure what to look for.

Can I ask what you are trying to achieve to better help you ?

Oh… *70 will announce connected node’s and there is a command line option for it - status x?

Can I ask what you are trying to achieve to better help you ?

I want to create a system like this:

node 1500, a virtual machine running ASL with no radio attached
node 1501, a raspberry pi running ASL, USB interface to a radio
node 1502, a raspberry pi running ASL, USB interface to a radio
node 1503, a raspberry pi running ASL, USB interface to a radio

-all nodes will be on a local network, not connected to the Internet or the allstar server(s)

Desired functionality:
-all nodes will interconnect, meaning that any traffic heard on any node will be retransmitted on all nodes
-allow windows iaxrpt app (or similar) to interconnect and act as a radio also

I should add this info:
-I can ‘key up’ node 1501 with a second radio (when I press transmit on my radio I hear the courtesy tone generated from ASL)
-I can ‘key up’ node 1501 with the iaxrpt app.
-when node 1500 keys up, 1501 does nothing
-when node 1501 keys up, 1500 does nothing

The relevant part from each of my nodes’ rpt.conf. My setup is identical to what you’re trying to accomplish except I use the AREDN Mesh to tie it all together

First, my radioless hub:

1100 = radio@127.0.0.1/1100,NONE ; Hub at Shop
1101 = radio@10.48.13.20/1101,NONE ; Remote node - 442.675 - AH6LEUHF
1102 = radio@10.150.180.37/1102,NONE ; Remote node - 441.875 AH6LEUHF2
1103 = radio@10.150.180.36/1103,NONE ; Remote node - 146.920 AH6LEVHF

I also have a startup Macro that issues a persistent connect command to each node.

Node 1101:

1101 = radio@127.0.0.1:4569/1101,NONE

1100 = radio@10.150.180.35/1100,NONE ; Hub at Shop
1102 = radio@10.150.180.37/1102,NONE ; 441.875 AH6LEUHF2
1103 = radio@10.150.180.36/1103,NONE ; Remote node - 146.920 AH6LEVHF

Node 1102:

1102 = radio@127.0.0.1:4569/1102,NONE

1100 = radio@10.150.180.35/1100,NONE ; Hub at Shop
1101 = radio@10.48.13.20/1101,NONE ; 442.675 AH6LEUHF
1103 = radio@10.150.180.36/1103,NONE ; Remote node - 146.920 AH6LEVHF

Node 1103:

1103 = radio@127.0.0.1:4569/1103,NONE ;

1100 = radio@10.150.180.35/1100,NONE ; Hub at Shop
1101 = radio@10.48.13.20/1101,NONE ; 442.675 AH6LEUHF
1102 = radio@10.150.180.36/1102,NONE ; 441.875 AH6LEUHF2

1 Like

ah ha! this is what I’m missing! You have to tell the hub to connect to each node! right?

that was my problem… I thought having the node’s defined in the conf files was what connected them. nope, you need to dial *3 node#.

now it works.

I’ll try to do a write-up of what is needed to help the next poor soul that has to try to figure this out!