Here's a brief overview as to what the scripts in the
/home/irlp/scripts/ directory do
IRLP - Keeping the Radio
in Amateur Radio
The CALL script initiates a call to the remote end. The script ensures that it
know the IP address of the remote station, and that the local node to IP list
(HOSTS file) is up to date. Once the series of checks is completed, it initiates
IRLP_CALL and sends the call request to the remote site.
The CALL_TO_REFLECTOR script is used to call an idle node (not yours) to a
reflector session. This script is run from DTMF and will work if your node is
idle or connected to the reflector.
The CONNECT_TO_REFLECTOR script initiates a call to the reflector. The call
is blind, and may not work if the reflector is down or disabled.
The CONTROL script is the heart of IRLP_CALL and IRLP_ANSWER. After
authentication, all info sent to and from the node is done so through the
CONTROL script. Control works with a FIFO (first in first out) system. All
things sent to the FIFO appear as arguments to the control script on the remote
station. The control script calls all other scripts depending on several
The DECODE file is run by the DTMF process with the DTMF code entered as the
argument. The CUSTOM_DECODE file is run from within the DECODE script, and
allows users to add their own personal DTMF controlled. These custom codes
include the enable and disable codes.
The DISABLE script when run (via DTMF or by terminal operation) disables the
IRLP node from all calls and DTMF decoding (except the code to enable the node).
The DROPCALL script drops the TCP connection between two nodes.
The ENABLE script when run (via DTMF or by terminal operation) enables a
disabled IRLP node. (IRLP nodes are enabled by default on reboot)
The END script is called from the DTMF script or is initiated from the remote
end. The END script severs the TCP connection (using DROPCALL) and stops the
IMIKE and ISPEAKER processes.
The FAILURE script handles all failures on the IRLP node. The failure script
will also have an
environment tag set for verbose or brief error messaging. Severe errors will be
emailed to the node owners so they are aware of any problems.
The IPUPDATE script, run from the crontab every 5 minutes, checks to make sure
that the local IP address of your node is correct in the HOSTS file. If your
node is behind a firewall, a connection is sent to the IRLP server to check your
current IP. If your IP and the posted IP are different, an update is sent to the
main IRLP server.
The IRLP.CRONS file contains all of the crontabs which run as user repeater.
During an update, the crontabs are reset to the crontabs contained in the
IRLP.CRONS file. The IRLP.CRONS file contains a set of crontabs (programs
which are run automatically at a specified time) which are run as user repeater.
These include STATUPDATE, UPDATE (files and hosts) and LOGROTATE. This list of
crontabs updates automatically during the file update procedure.
The IRLP_RESET script resets the conditions of all of the IRLP binaries and
scripts to an idle and enabled condition. This script is run following an update
or if there is a failure during a call.
The OFF script terminates a connection and plays the "goodbye ID".
The ON script is run from the control script after receiving the necessary
authentication. The script plays the ID and initiates the voice connection.
The ROTATELOG script rotates the messages file in the log directory. It saves
the old log as messages.1, .2, .3 etc.. up until .5 The 5 month old log is
Starts the ISPEAKER process. The wrapper ensures that the process is running
when it is supposed to be running. This solves many possible lockup problems
that have existed in the past with ISPEAKER.
The STATUPDATE script is run from the crontab as well as any time the status
of your node changes. It contains information on the connect and enabled status
of your node.
The STATUS script is run from the MYNETD process running on port 15427. It is a
dumb script which reads the current status of your node and outputs to the
connecting station a text file containing information on the node.
The UPDATE script is run from the MYNETD process running on port 15426. It is a
dumb script which takes no arguments, but syncs the filesystem with the server
when run. Update is run following an IP update on any node, or file updates.
The VOICEMAIL script (FUTURE) will control all the features of the voicemail
The WAVPLAY script was written to accommodate the need to play several files
back-to-back. It is a shell script which runs using the PLAY binary.
This script, run as root, sets up all the permissions required and starts
all the processes required to run IRLP. Its daughter script, IRLP_STOP, shuts
down all of the IRLP processes.