aprs.no

Aprs Daemon Configuration Reference

Polaric APRSD is a server program which communicates APRS data with a TNC or APRS-IS or both. It can present and manipulate the information through a simple HTTP service. The daemon can also be set up as an igate (internet gateway) and can run as a standalone program (without the web app component). It can also exchange authenticated messages to propagate updates to other instances over radio or internet.

Configuration files

The configuration files to be edited manually are located in /etc/polaric-aprsd/ The most important one is server.ini. We describe the options in detail below.

File: server.ini

This file is the main setup, and it may be adapted to the individual installation. It is a Java «properties» file consisting of name-value pairs. Comment lines start with '#'. The tables below shows all properties which may be set in this file along with the default value and an explanation.

Some of the properties can also be set in another file: /var/lib/polaric/config.xml. This is meant to be used by the web interface and should normally not be edited by hand. The property values here will override the values defined in server.ini. This means that if the web-interface for configuration is used, the values defined in server.ini are then just default values. Properties that is set by the web interface is written in blue italic fonts here. The properties set in the web interface are usually sufficient for getting the server running. The other properties are meant for advanced users.

timezone Time zone. In Norway we use “Europe/Oslo”
default.mycall NOCALLDefault callsign/identifier. Can be overridden for specific parts of the server: inetchannel.user, igate.mycall, objects.mycall, message.mycal and remotectl.mycall
httpserver.port8081HTTP server listens on this port. (you normally don't want to change this)
httpserver.alloworigin.*What origin-URLs that are accepted for CORS access (regular expression). [From v. 2.1]
trusted.origin.*Origin URLs that are allowed to open websockets (regular expression) [from v. 2.0]
server.maxload200Max number of HTTP server threads
map.icon.defaultsym.gifIcon to be used when a mapping for a symbol is not defined. Mappings between symbols and icons are defined in the file 'symbols'.
user.admin adminSuper user. Regular expression.
user.update Users that are given the right to update information (regular expression).
aprs.expiretime 60Time (of inactivity) before an APRS station record expires. In minutes.
map.trail.maxAge 15Length of trail (in minutes)
map.trail.maxPause 10After this time with inactivity (minutes) the trail is removed.
map.trail.maxAge.extended 30Length of trail when speed is low.
map.trail.maxPause.extended 20
objects.forceupdatefalseIf an object (sent by the same sender) exists somewhere else, replace it. Note that Polaric APRSD do not take over objects sent by other stations (since it operates on APRS-IS).
sarurl.onfalseActivate support for SAR URLs.
sarurl.protocolhttpsProtocol to use for SAR URLs (usually HTTPS).
plugins Comma separated list of plugins (Java class names of plugins).
serverstats.onfalseLogging of server statistics info
aprsd.log.level1Log level. What to write to log (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR) [from v.2.0]


Position reporting and GPS

Polaric APRSD can be given a position and it can be set up to send APRS position reports. Positions can be seen and set through the webapp and a default position can be set in the configuration file.

It can do real GPS tracking with smart beaconing. A GPS can also be used to adjust the computer clock. The tracker has a time-resolution of 10 seconds when it comes to APRS reporting. This means that it decides every 10 seconds if a packet should be sent. The time resolution is also 10 seconds when updating the webapp-display. Internally, however, resolution can be somewhat finer (GPS is read typically every 5 seconds) and note that time parameters are given in seconds and these do not need to be a multiple of 10.

ownposition.pos Default position (UTM format) of this station
ownposition.mycall default.mycall Callsign to be used when reporting own position
ownposition.symbol /. APRS symbol to be used when reporting own position
ownposition.tx.on false Set to true to activate position reporting
ownposition.tx.allowrf false Set to true to send position report on RF as well
ownposition.tx.rfpath WIDE1-1 Digipeater path to use when transmitting position reports on RF
ownposition.tx.comment Comment to add to position reports
ownposition.tx.maxpause 600 Max time (in seconds) between each position report
ownposition.tx.minpause 180 Min time (in seconds) beween each position report. When position is changing. When used with GPS tracking, it is the shortest possible interval when moving fast and not changing direction more than turnlimit.
ownposition.tx.mindist 150 Distance (in meters) between position reports when speed is low (<1km/h). Valid when GPS tracking is active.
ownposition.tx.turnlimit 30 Max turn (change in direction - in degrees) before position reporting is triggered. Valid when GPS tracking is active.
ownposition.gps.on false Set to true to activate automatic GPS tracking with smart beaconing, etc, much like with the Polaric Tracker. If a GPS is connected to a serial or USB port, and it has a fix on position, this will override the static position setting. We recommend shorter maxpause (180) and minpause (30) settings than default when using GPS for mobile tracking
ownposition.gps.port /dev/ttyS1 Serial port for GPS device
ownposition.gps.baud 4800 Baudrate for GPS device
ownposition.gps.retry 0 How many times to retry connecting to a GPS before giving up. 0=forever.
ownposition.gps.retry.time 30 Maximum time between retries in minutes. It starts with short intervals between retries which are increased until it reaches the maximum time specified here.
ownposition.gps.adjustclock false If set to true, the timestamp from GPS will be used to adjust the system clock of the computer. Works on Debian Linux installation.


Internet gateway and objects

Polaric APRSD kan connect to an APRS-IS server of choice. You can configure host, port, username, passcode and you can set filters (compatible with javaprssrvr). It is also possible to use Polaric APRSD as an igate (gateway between internet and RF). When activating the igate, you should obviously activate both the TNC channel (see below) and the internet channel.

igate.on false Set to true to activate igate.
igate.mycall default.mycall What the igate identifies as, when connecting to APRS-IS
igate.rfgate.allow true Set to false to disable reverse igating (from internet to RF).
igate.rfgate.objects false Activate igating of objects to RF
igate.log.on false If set to true, a separate log file (igate.log) will be created for igate operations
objects.rfgate.allow false Allow object reports (defined on this server) to be transmitted on the RF port. Objects are in all cases presented on the map and on APRS-IS.
objects.rfgate.path Digipeater path to use when sending object-reports on RF. Also used when igating objects.
objects.rfgate.range 0 Range (in kilometers) in which objects are transmitted or igated to RF. Note that this is used only when our own position is known - see ownposition
objects.transmit.period 360 How often to repeat object reports (in minutes). 0 means never.
objects.forceupdate false If an object (sent by the same sender) exists somewhere else, replace it. Note that Polaric APRSD do not take over objects sent by other stations (since it operates on APRS-IS).


Messaging and remote control

Polaric APRSD implements the APRS messaging protocol and supports igating of messages. Polaric APRSD use messaging internally for remote control, i.e. different instances of the server can be linked such that local changes to icons or station/object aliases are automatically propagated to the other servers. Servers are linked in a hierarchy, i.e. a server can specify a parent server. A parent may have several “children”. Messages are authenticated, i.e. messages have a message-authentication field, which in essence is a MD5 hash of the message plus a secret shared key. See more info about the remote control protocol.

message.mycall default.mycall Sender address (callsign) for messages.
message.auth.key NOKEY Secret key for authentication of messages.
message.alwaysRf Callsigns (regular expression) to which messages are always transmitted on RF (even if not heard). Also used by igate. Se also message.rfpath.
message.rfpath WIDE1-1 Default digipeater path to be used when a direct path isn't known. Also used by igate.
remotectl.on false Activate remote control, ie. local changes of aliases or icons of one server may propagate to other server instances through authenticated APRS messages. To use this, remember that all involved servers must set a shared secret key: message.auth.key
remotectl.mycall default.mycall Sender address (callsign) for remote control messages.
remotectl.connect Mycall of parent server to connect to (servers can connect to each other in a hierarchical structure).
remotectl.log.on false If set to true a separate log file (remotectl.log) is created for info about remotectl operation


Channels (TNCs, APRS/IS, etc)

Polaric APRSD can set up a number of channels for position data (mainly APRS).

channels Comma separated list of data channels
channel.default.inet Default internet (APRS/IS) channel.
channel.default.rf Default RF channel.
channel.<name>.on false Set to true to activate a channel. <name> is name of the channel as defined in channels
channel .<name>.type APRSIS Type of channel. Aprsd currerntly supports APRSIS, TNC2, KISS and TCPKISS. Plugins may add types.
channel .<name>.backup Name of another channel to be used if this channel fails to connect. Only APRSIS and TCPKISS
channel.logpackets Print incoming packets to log file (APRS channels)
channel.<name>.mycall default.mycall Callsign to be used by TNC.
channel.<name>.host localhost Host name or IP address (for internet based channels).
channel.<name>.port 14580 Port number (for internet based channels).
channel.<name>.port /dev/ttyS0 Serial port device (for serial channels).
channel.<name>.baud 9600 Speed of serial port.
channel.<name>.restrict false Restrict visibility of items coming from this channel to logged in users.
channel.<name>.tag Tag to put on items coming from this channel.
channel.<name>.pass -1 Passcode to be used with APRS/IS channels.
channel.<name>.filter Filter expression to be used with APRS/IS channels.
channel.<name>.rfilter Regular expression to be used to match with APRS packets in order to filter incoming packets. Matched packets are not delivered.
channel.<name>.user default.mycall Callsign to use when logging on to APRS/IS channels
channel.<name>.retry 0 How many times to retry connecting to TNC or server before giving up. 0=forever.
channel.<name>.retry.time 30 Maximum time between retries in minutes. It starts with short intervals between retries which are increased until it reaches the maximum time specified here.
channel.<name>.pathcommand UNPROTO Command to set the to-address and digipeater path on TNC2.
channel.<name>.nobreak false If set to true, use CTRL-C instead of BREAK to return TNC to command mode.


Directory: config.d

Config files which defines properties put here will be automatically run after server.ini. Useful for plugins.

File: init.tnc

Commands to be sent to TNC when starting. Lines starting with # are comments.

File: symbols (and file directory icons)

An APRS symbol may correspond to an icon (graphic symbol) to be placed on the map. In Polaric Server we may use slightly bigger icons than most other APRS programs. The size is 22×22 pixels. Icons are placed in the subdirectory '/usr/share/polaric/icons'. The file '/etc/polaric-aprsd/symbols' defines a mapping between APRS symbols (two characters: symbol table and symbol code) and a corresponding icon file. Note that we in this file can use regular expressions to match symbols.

File: signs

This is optional and can be used to define simple, static geographical objects to be placed on the map. Note that these are not APRS objects and are therefore local to the server instance. For each object, define the position (UTM), what map-scales in which to display the object, a URL (or '-' if no URL), an icon (I recommend to use smaller icons placed in the directory 'icons/signs') and a short text.

File: trailcolour

A simple setup of colours combinations to be used for trails.

File: view.profiles

This is a script where we set up filters on what to show on the map and how to show it. Filters can be based on tags and other attributes of point objects, etc.. See documentation on the filter script language here.

aprd_config_reference.txt · Last modified: 2020/01/31 19:57 (external edit)
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5