So, what is Allstar?
AllStar is a digital linking network used to link standard analog repeaters, or nodes, over the Internet to other repeaters or nodes. It uses modified, open-source PABX, software that treats radio nodes like telephone numbers and allows users to ‘dial-up’ other nodes and/or make temporary or permanent ‘conferences’ of connected nodes. In its simplest form, you can interconnect two radios at different locations via the internet (or intranet on your own LAN).
I decided to build an Allstar node because I have the Baofeng BF-888s radios and the Raspberry Pi 3B+. All I needed was the interface between the radio and Pi.
I looked up things on Hamvoip.org, and there are lots of good information, from modifying the radios, to building your own interface. First I tried the USB FoB, but that was a disaster for me with the fine soldering.
1) Register for a Node Number:
Before starting anything, register for a node number by visiting
visit the allstarlink.org website:
Once you register you can become a node sysop by checking a box in the
profile tab. You then establish a server "on paper" in a very simple
fashion. Once you have done that you can request a node number which
should be issued within 24 hours. You should get a response email when
the node is assigned but you can also revisit the allstarlink.org page
and view the status. When the node is assigned a 6 digit password for
that node is also assigned. You will then use those two numbers to setup
your local Allstar node as described below. While you are waiting for
your node number you can get the hardware you need on order and review
the setup instructions on this page and in the
Howto's at hamvoip.org. You can also
Download the image and write it to your SD card.
2) Modifying the Baofeng BF-888s:
For the Short PCB board:
Bring out the wires from the radio to the DB25. This will allow you to use the URI or ARA-1
interface:
3) Installing the Software:
The image file must be downloaded and written to a microSD card. This
can be done on a Windows or Linux PC. If you are using Windows and
win32diskimager the procedure is to first unzip the downloaded file. You
should then have the image (.img) file in your directory. Then insert
the card in your reader, start the win32diskimager program, select the
file you downloaded and then select write.
Download the latest image from hamvoip.org
Follow the instructions on the website, it's pretty easy.
Once you have the software installed on the SD card, then there is a two stage setup process.
Make sure you do both stages.
4) Setting up the Allstar:
There is a three step process here:
Step 1:
A "First Time" script has been added that runs only on the first boot of
the system. It asks you to change your password and host name then asks
if you want an address assigned by dhcp (the default) or if you want to
assign your own static IP. Also change your timezone.
Step 2:
The next step is to setup Allstar Asterick, please follow this guide:
https://hamvoip.org/#configuring
Download the pdf and read:
Step 3:
Configure your Firewall: Use the guide please:
https://hamvoip.org/#firewall
5) Setting up Supermon
6) Testing your node:
To test your node you can now connect to AllStar Hub Test Node - 40894
Once connected you can say something and the node will play it back, so you can hear what your audio sounds like.
7) Problem Solving:
My biggest problem was that the radio and pi were doing funny things like transmitting and resetting, and transmitting and resetting, etc. Eventually I found out that it was a power problem on the raspberry pi. You see I got the new pi and not power supply, so I used my pi one's power supply. I saw this from the log files that the power was too low. I changed the power supply and everything has bee good ever since.
The second problem I had was that my node wasn't registering: Somehow I put something wrong when I setup the node on the second step, and I had to manually edit the /etc/asterick/
iax.conf file: The following line was wrong, and it should look like this:
register => [YOUR NODE NUMBER]:[NODE PASSWORD]@register.allstarlink.org
Note: You can always watch the asterick cli promt to watch what is going on.
8) Setting up EchoLink to the Allstar Node:
This is how I configured Echolink on my Raspberry Pi Allstar server.
My node is based on the image from
http://www.hamvoip.org Additional information was obtained from
echolink.conf – Setting up Echolink ConnectivityYou will need to register on Echolink your callsign [CALLSIGN] for a node number AND register a link node number [CALLSIGN-L]
You will need to rename echolink.xxx to echolink.conf in etc/asterisk
You obviously need a valid echolink node number, call, and matching password that you put in echolink.conf
You need to setup port forwarding in your router for the two echolink ports to the IP address of you node 5198 and 5199 UDP.
You need to be aware that you can only run one echolink node per public IP.
So you can’t run echolink on a PC on your same network unless you use a proxy.
You could run it on a smartphone using cell provided internet for local testing.
Then restart Asterisk or reboot. [ON THE COMMAND LINE RUN 'astres.sh' or 'reboot']
If echolink is running properly you will have an echolink command in the Asterisk client and be able to see the database there.
Added to rpt.conf in the node stanza
erxgain=-3 ;Echolink receive gain adjustment in +/- db-volts. Used to balance Echolink recieve audio on an app_rpt node.
etxgain=3 ;Echolink transmit gain adjustment in +/- db-volts. Used to balance Echolink transmit audio on an app_rpt node.
eannmode=2
; 0 = do not announce Echolink nodes at all
; 1 = Say only node number on EchoLink connects
; 2 = say phonetic call sign only on EchoLink connects
; 3 = say phonetic call sign and node number on EchoLink connects
etc/asterisk/echolink.conf (Sample of my configuration)
[el0]
confmode=no
call=MY CALLSIGN -L ; Change this! Registered Callsign -L or -R
pwd=My Password ; Change this! Registered Password
name=My Name ; Change this to your real name!
qth=Location ; Change this to your actual QTH!
email=My Email address ; Change this! Valid Email address
maxstns=20 ; Maximum number of station that can connect to you
rtcptimeout=10
node=00000 ; Change this! Echolink Node Number
recfile=/tmp/recorded.gsm
astnode=XXXXX ; Change this to your active Allstar node number!
context=radio-secure
server1=oceania.echolink.org
server2=server2.echolink.org
server3=server3.echolink.org
naeast.echolink.org
nasouth.echolink.org
;servers.echolink.org
;backup.echolink.org
; Change The following setting to your parameters
;THIS IS FOR THE ECHOLINK STATUS PAGE
freq=145.400 ; Freq in MHz
tone=100.0 ; CTCSS Tone (0 for none)
lat=40.7012345
lon=-73.223457
power=9 ;0=0W, 1=1W, 2=4W, 3=9W, 4=16W, 5=25W, 6=36W, 7=49W, 8=64W, 9=81W (Power in Watts)
height=3 ;0=10′ ,1=20′,2=40′,3=80′ ,4=160′ ,5=320′ ,6=640′ ,7=1280′,8=2560′,9=5120′ (AMSL in Feet)
gain=6 ;Gain in db (0-9)
dir=0 ;0=omni,(Direction)
;deny=
;permit=
9) Adding APRS to the Allstar Node:
This is how I enabled APRS to work with my Allstar node.
You’ll need to create a gps.conf file in /etc/asterisk/rpt.conf
Example of my file below. Change the items in BOLD to your information
You will also need to comment out a line in /etc/asterisk/modules.conf
;noload=app_gps.so
; Configuration for app_gps
;
[general]
call = YOUR CALL-8 ; callsign (including SSID) for APRS purposes
password = XXXXX ; Password for APRS-IS server for above callsign
comment = AllStar Node XXXX ; Text to be displayed associated with this station
server = rotate.aprs2.net ; APRS-IS server to report information to
port = 14580 ; port on server to send data
interval = 600 ; Beacon interval in seconds
icon = n ; A CAR (default) Icon yo be displayed
;comport = /dev/ttyS0 ; Serial port for GPS receiver (specify this only if using GPS receiver)
;baudrate = 4800 ; Baud rate for GPS receiver (specify this only if using GPS receiver)
;debug = y ; set this for debug output
freq=449.675 ; Display Frequency of station
tone=110.9 ; CTCSS tone of station (0.0 for none)
lat=40.705879 ; Fixed (default) latitude in decimal degrees
lon=-73.295885 ; Fixed (default) longitude in decimal degrees
elev=10.5 ; Elevation of Antenna in Meters (*NOT* HAAT)
power=4 ; Power level (see below)
height=1 ; Antenna Height in HAAT (see below)
gain=3 ; Antenna Gain (see below)
dir=0 ; Antenna Direction (see below)
10) Nice things to play with:
There are some very useful documents on this link: https://hamvoip.org/#howtos
11) Changing the time announcements to 12 or 24 hour format:
There is both a 12 and 24 hour time announcement. *81 is 12h and *82 is
24h. To change the hourly time to 24 hour change in cron - crontab -e
- the saytime.pl to say24time.pl.
12) Stopping the time announcements
The time is a cron job - at linux prompt -
crontab -l
it will look something like this....
00 0-23 * * * (source /usr/local/etc/allstar.env ; /usr/bin/nice -19 /usr/bin/perl
/usr/local/sbin/saytime.pl > /dev/null)
Do crontab -e to edit the file and put a # (comment) before the above line.
Save it and you won't have hourly time.
You can always go back and remove it to restore.
CW ID is in rpt.conf.
Putting a ; (comment) before a line disables it.
I think you are doing that below in your example.
Whenever you change anything in the files you need to reload the file or
restart asterisk. Best to restart - astres.sh
12) Adding a Parrot
Reference for my documentation: https://w2ymm.home.blog/allstar-howto/#BM11
