[App_rpt-users] What exactly is a node in AllStarLink

Jeff DePolo jd0 at broadsci.com
Sun Mar 17 17:10:23 UTC 2019


You've received a lot of good info thus far.  Allow me to try to answer your
latest:

> So a node is an extension addressed by a node number that 
> could be any function or series of functions executable by 
> the asterisk dialplan. 

A simplified way to look at it is extensions and dialplans as related only
to establishing the *connections* between nodes.  The *functions* that are
available on a given node are mostly unrelated to that, and are defined
elsewhere.  Perhaps that's where some of your confusion lies?

A node number and an extension number are equal - it's a unique identifier
for an endpoint.  As Kevin said, node numbers can either be "public",
whereby they are published via AllstarLink so that all other nodes can
connect to them without having a static entry mapping node number to IP
address/port in their local "phone book", or they can be private, with the
node number, IP address, and port shared only among those node
owners/operators in that private group.  This is akin to a listed versus
unlisted telephone number.

In a PBX, an extension might be associated with an analog port to which a
regular desk phone is connected, whereas in ASL, it is usually associated
with an interface for a single radio, whether that radio is a repeater, a
simplex or duplex auxiliary link radio, a simplex radio, a receive-only
radio, a transmit-only radio, a frequency-agile remote base, or whatever.  

Additionally, you can have a radio-less node, which simply behaves as a
"hub" for other nodes to connect to (i.e. a conference bridge).  By default,
all nodes also act as hubs in the sense that multiple remote nodes can
connect to a given node at the same time, i.e. you don't need to create or
use a radio-less node to act as a hub.  However, many larger systems do
operate a separate radio-less hub as it allows the hub server to be put in a
data center or other secure location with backup power and fast/reliable
connectivity.

A given node (which has its own unique node number) has associated with it a
list of functions that are available on that node.  They are defined, along
with many other things, in the configuration file rpt.conf.  In rpt.conf,
you create a mapping of your own codes to the desired Asterisk/app_rpt
function .  I think if you look through the default rpt.conf or other
examples on the net it may start to make more sense.  For example, you might
create code 6789 and map it to the control operator function which disables
the repeater (cop,3).

Functions codes that you create are are normally accessed over-the-air via
DTMF, but can also be called by scripts, the Asterisk command line
interface, triggered remotely from another node, etc..  They can also be
called through the event management subsystem to accomplish things like
"when node 4444 connects to my node, play this message", or "when the
transmitter is first keyed up, set GPIO output #3 high which turns on the
fan".  

You can also create macros that execute a series of functions sequentially,
and those macros can be called just like any other function (i.e. via DTMF,
via CLI, etc.).

> but could just as well be setup 
> to play tt-weasels, trigger a relay at the site, and/or send 
> or read an email with AGI and dialplan scripting. Is this correct?

Aside from the functionality built into app_rpt, you can create functions
that do some of the other things you suggest by having that function call a
shell script to do whatever you want to do outside of Asterisk.

I think that many of your questions will answer themselves once you do an
installation, look at the config files, and start playing with it.

				--- Jeff WN3A



---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus




More information about the App_rpt-users mailing list