forked from PhirePhly/aprx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
aprx.conf.in
411 lines (378 loc) · 15.9 KB
/
aprx.conf.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
#
# Simple sample configuration file for the APRX-2 -- an APRS iGate and Digipeater
#
# This configuration is structured with Apache HTTPD style tags
# which then contain subsystem parameters.
#
#
# For simple case, you need to adjust 4 things:
# - Mycall parameter
# - passcode parameter in APRS-IS configuration
# - Select correct type of interface (ax25-device or serial-device)
# - Optionally set a beacon telling where this system is
# - Optionally enable digipeater with or without tx-igate
#
#
#
# Define the parameters in following order:
# 1) <aprsis> ** zero or one
# 2) <logging> ** zero or one
# 3) <interface> ** there can be multiple!
# 4) <beacon> ** zero to many
# 5) <telemetry> ** zero to many
# 6) <digipeater> ** zero to many (at most one for each Tx)
#
#
# Global macro for simplified callsign definition:
# Usable for 99+% of cases.
#
mycall N0CALL-1
#
# Global macro for simplified "my location" definition in
# place of explicit "lat nn lon mm" at beacons. Will also
# give "my location" reference for "filter m/100".
#
#myloc lat ddmm.mmN lon dddmm.mmE
<aprsis>
# The aprsis login parameter:
# Station callsignSSID used for relaying APRS frames into APRS-IS.
# Use this only to define other callsign for APRS\-IS login.
#
#login OTHERCALL-7 # login defaults to $mycall
#
# Passcode for your callsign:
# Unique code for your callsign to allow transmitting packets
# into the APRS-IS.
#
passcode -1
# APRS-IS server name and optional portnumber.
#
# WARNING: Do not change from default port number [14580]
# unless you are absolutely certain you want
# something else, and you allow that something
# else also affect your tx-igate behaviour!
#
server rotate.aprs2.net
#server euro.aprs2.net
#server asia.aprs2.net
#server noam.aprs2.net
#server soam.aprs2.net
#server aunz.aprs2.net
# Some APRS-IS servers tell every about 20 seconds to all contact
# ports that they are there and alive. Others are just silent.
# Default value is 3*"heartbeat" + some --> 120 (seconds)
#
#heartbeat-timeout 0 # Disabler of heartbeat timeout
# APRS-IS server may support some filter commands.
# See: http://www.aprs-is.net/javAPRSFilter.aspx
#
# You can define the filter as single long quoted string, or as
# many short segments with explaining comments following them.
#
# Usability of these filters for a Tx-iGate is dubious, but
# they exist in case you for example want to Tx-iGate packets
# from some source callsigns in all cases even when they are
# not in your local area.
#
#filter "possibly multiple filter specs in quotes"
#
#filter "m/100" # My-Range filter: positions within 100 km from my location
#filter "f/OH2XYZ-3/50" # Friend-Range filter: 50 km of friend's last beacon position
</aprsis>
<logging>
# pidfile is UNIX way to tell that others that this program is
# running with given process-id number. This has compiled-in
# default value of: pidfile @VARRUN@/aprx.pid
#
pidfile @VARRUN@/aprx.pid
# rflog defines a rotatable file into which all RF-received packets
# are logged. The host system can rotate it at any time without
# need to signal the aprx that the file has been moved.
#
rflog @VARLOG@/aprx-rf.log
# aprxlog defines a rotatable file into which most important
# events on APRS-IS connection are logged, namely connects and
# disconnects. The host system can rotate it at any time without
# need to signal the aprx that the file has been moved.
#
aprxlog @VARLOG@/aprx.log
# dprslog defines a rotatable file into which most important
# events on DPRS receiver gateways are logged.
# The host system can rotate it at any time without need to
# signal the aprx that the file has been moved.
#
#dprslog @VARLOG@/dprs.log
# erlangfile defines a mmap():able binary file, which stores
# running sums of interfaces upon which the channel erlang
# estimator runs, and collects data.
# Depending on the system, it may be running on a filesystem
# that actually retains data over reboots, or it may not.
# With this backing store, the system does not loose cumulating
# erlang data over the current period, if the restart is quick,
# and does not stradle any exact minute.
# (Do restarts at 15 seconds over an even minute..)
# This file is around 0.7 MB per each interface talking APRS.
# If this file is not defined and it can not be created,
# internal non-persistent in-memory storage will be used.
#
# Built-in default value is: @VARRUN@/aprx.state
#
#erlangfile @VARRUN@/aprx.state
</logging>
# *********** Multiple <interface> definitions can follow *********
# ax25-device Lists AX.25 ports by their callsigns that in Linux
# systems receive APRS packets. If none are defined,
# or the system is not Linux, the AX.25 network receiver
# is not enabled. Used technologies need at least
# Linux kernel 2.4.x
#
# tx-ok Boolean telling if this device is able to transmit.
#
#<interface>
# ax25-device $mycall
# #tx-ok false # transmitter enable defaults to false
# #telem-to-is true # set to 'false' to disable
#</interface>
#
# The TNC serial options. Parameters are:
# - /dev/ttyUSB1 -- tty device
# - 19200 -- baud rate, supported ones are:
# 1200, 2400, 4800, 9600, 19200, 38400
# - 8n1 -- 8-bits, no parity, one stop-bit,
# no other supported modes
# - "KISS" - plain basic KISS mode
# - "XORSUM" alias "BPQCRC" - KISS with BPQ "CRC" byte
# - "SMACK" alias "CRC16" - KISS with real CRC
# - "FLEXNET" - KISS with real CRC
# - "TNC2" - TNC2 monitor format
# - "DPRS" - DPRS (RX) GW
#
#<interface>
# serial-device /dev/ttyUSB0 19200 8n1 KISS
# #callsign $mycall # callsign defaults to $mycall
# #tx-ok false # transmitter enable defaults to false
# #telem-to-is true # set to 'false' to disable
#</interface>
#<interface>
# serial-device /dev/ttyUSB1 19200 8n1 TNC2
# #callsign $mycall # callsign defaults to $mycall
# #tx-ok false # TNC2 monitor can not have transmitter
# #telem-to-is true # set to 'false' to disable
#</interface>
#<interface>
# serial-device /dev/ttyUSB1 19200 8n1 DPRS
# callsign dprsgwcallsign # must define actual callsign
# #tx-ok false # DPRS monitor can not do transmit
# #telem-to-is true # set to 'false' to disable
#</interface>
#
# tcp-device behaves identically to local serial port, but allows
# access to remote TCP/IP sockets. A common application is remote
# KISS modems connected to Ethernet-to-serial adapters from suppliers
# such as Lantronix.
# It's important that this remote socket is a raw TCP socket and not
# handle any byte codes as command escapes.
#
# tcp-device hostname portnumber mode
# - hostname may be a domain name, IPv4 address, or a IPv6 address
# - portnumber is any valid TCP port (1-65535)
# - mode is the same as serial-device (KISS, TNC2, etc.)
#
#<interface>
# tcp-device 192.0.2.10 10001 KISS
# #callsign $mycall # callsign defaults to $mycall
# #tx-ok false # transmitter enable defaults to false
# #telem-to-is true # set to 'false' to disable
#</interface>
# *********** Multiple <beacon> definitions can follow *********
<beacon>
#
# Beacons are sent out to radio transmitters AND/OR APRSIS.
# Default is "both", other modes are settable.
#
#beaconmode { aprsis | both | radio }
#
# Beacons are sent from a circullar transmission queue, total cycle time
# of that queue is 20 minutes by default, and beacons are "evenly"
# distributed along it. Actual intervals are randomized to be anything
# in between 80% and 100% of the cycle-size / number-of-beacons.
# First beacon is sent out 30 seconds after system start.
# Tune the cycle-size to be suitable to your number of defined beacons.
#
#cycle-size 20m
#
# Basic beaconed thing is positional message of type "!":
#
#beacon symbol "R&" lat "0000.00N" lon "00000.00E" comment "Rx-only iGate"
#beacon symbol "R&" $myloc comment "Rx-only iGate"
#
#Following are basic options:
# 'symbol' no default, must be defined!
# 'lat' coordinate latitude: ddmm.mmN (no default!)
# 'lon' coordinate longitude: dddmm.mmE (no default!)
# '$myloc' coordinate values taken from global 'myloc' entry,
# and usable in place of explicit 'lat'+'lon'.
# 'comment' optional tail part of the item, default is nothing
#
# Sample symbols:
# R& is for "Rx-only iGate"
# I& is for "Tx-iGate"
# /# is for "Digipeater"
# I# is for "Tx-iGate + Digipeater""
#
#Additional options are:
# 'srccall' parameter sets claimed origination address.
# 'dstcall' sets destination address, default "APRXnn"
# 'interface' parameter picks an interface (must be "tx-ok true" type)
# 'via' sets radio distribution pattern, default: none.
# 'timefix' On APRS messages with HMS timestamp (hour:min:sec), the
# system fixes appropriate field with transmit time timestamp.
#
# Message type is by default '!', which is positional no timestamp format.
# Other possible formats are definable with options:
# 'type' Single character setting type: ! = / @, default: !
# 'item' Defines a name of Item (')') type beacons.
# 'object' Defines a name of Object (';') type beacons.
#
# 'file' option tells a file at which a _raw_ APRS message content is
# expected to be found as first line of text. Line ending newline
# is removed, and no escapes are supported. The timefix is
# available, though probably should not be used.
# No \-processing is done on read text line.
#
# 'exec' option tells a computer program which returns to stdout _raw_ APRS
# message content without newline. The timefix is
# available, though probably should not be used.
# No \-processing is done on read text line.
#
# The parameter sets can vary:
# a) 'srccall nnn-n dstcall "string" symbol "R&" lat "ddmm.mmN" lon "dddmm.mmE" [comment "any text"]
# b) 'srccall nnn-n dstcall "string" symbol "R&" $myloc [comment "any text"]
# c) 'srccall nnn-n dstcall "string" raw "string"'
#
# The a) form flags on some of possible syntax errors in parameters.
# It will also create only "!" type messages. The dest parameter
# defaults to "APRS", but can be used to give other destinations.
# The via parameter can be used to add other keywords, like "NOGATE".
#
# Writing correct RAW format beacon message is very hard,
# which is evidenced by the frequency of bad syntax texts
# people so often put there... If you can not be persuaded
# not to do it, then at least VERIFY the beacon result on
# web service like findu.com, or aprs.fi
#
# Do remember that the \ -character has special treatment in the
# Aprx configuration parser. If you want a '\' on APRS content,
# then you encode it on configuration file as: '\\'
#
# Stranger combinations with explicite "transmit this to interface X":
#
#beacon file /tmp/wxbeacon.txt
#beacon interface N0CALL-3 srccall N0CALL-3 \
# raw "!0000.00NR00000.00E&Rx-only iGate"
#beacon interface N0CALL-3 srccall N0CALL-3 \
# raw "!0000.00NI00000.00E&Tx-iGate"
#beacon interface $mycall symbol "R&" $myloc \
# comment "Rx-only iGate"
#beacon interface $mycall symbol "I&" $myloc \
# comment "Tx-iGate"
#beacon exec /usr/bin/telemetry.pl
#beacon timeout 20 exec /usr/bin/telemetry.pl
#beacon interface N0CALL-3 srccall N0CALL-3 \
# timeout 20 exec /usr/bin/telemetry.pl
#
</beacon>
# *********** <telemetry> definition(s) follow *********
#
# The system will always send telemetry for all of its interfaces
# to APRSIS, but there is an option to define telemetry to be sent
# to radio channel by using following sections for each transmitter
# that is wanted to send out the telemetry.
#
# transmitter - callsign referring to <interface>
# via - optional via-path, only 1 callsign!
# source - one or more of <interface> callsigns for which
# the telemetry transmission is wanted for
#
#<telemetry>
# transmitter $mycall
# via TRACE1-1
# source $mycall
#</telemetry>
# *********** <digipeater> definition(s) follow *********
#
# The digipeater definitions tell transmitters that receive
# AX.25 packets from possibly multiple sources, and then what
# to do on the AX.25 headers of those messages.
#
# There is one transmitter per digipeater -- and inversely, there
# can be at most one digipeater for each transmitter.
#
# In each digipeater there is at least one <source>, usually same
# as the transmitter. You may use same <source> on multiple
# <digipeater>s. Using multiple instances of same <source> on
# a single <digipeater> does not crash the system, but it can cause
# packet duplication in case of non-APRS protocols (like AX.25 CONS)
#
# Use only at most two levels of viscous-delay in your <digipeater>.
# Immediate sending is by "0", and a delayed sending is any value
# from 1 to 9. This system does not correctly support other than
# immediate sending and one level of delay.
#
# Note: In order to igate correct when multiple receivers and
# transmitters are used on single channel, the <interface>
# definitions of each radio port must have associated
# "igate-group N" parameter which has N of value 1 to 3.
# See the aprx-manual.pdf for details.
# (Default software compilation allows you to have up to
# three channels of APRS operation.)
#
#<digipeater>
# transmitter $mycall
# #ratelimit 60 120 # default: average 60 packets/minute,
# # # burst max 120 packets/minute
# #srcratelimit 10 20 # Example: by sourcecall:
# # average 10 packets/minute,
# # burst max 20 packets/minute
#
# <source>
# source $mycall
# # #relay-type digipeated # default mode is "digipeated"
# # viscous-delay 0 # no viscous delay for RF->RF digipeating
# # ratelimit 60 120 # default: average 60 packets/minute,
# # # burst max 120 packets/minute
# ## filter a/la/lo/la/lo # service area filter
# ## filter -b/CALL # always block these
# </source>
#
# # Diversity receiver which combines to the primary
# # Tx/Rx transmitter. There can be as many of these
# # as you can connect on this machine.
# #<source>
# # source RXPORT-1
# # #relay-type digipeated # default mode is "digipeated"
# # viscous-delay 0 # no viscous delay for RF->RF digipeating
# # ratelimit 60 120 # default: average 60 packets/minute,
# # # burst max 120 packets/minute
# ## filter a/la/lo/la/lo # service area filter
# ## filter -b/CALL # always block these
# #</source>
#
# #<source> # APRSIS source adds a TX-IGATE behaviour
# # source APRSIS
# # relay-type third-party # Must define this for APRSIS source!
# # viscous-delay 5 # Recommendation: 5 seconds delay to give
# # # RF delivery time make itself known.
# # ratelimit 60 120 # default: average 60 packets/minute,
# # # burst max 120 packets/minute
# ## filter a/la/lo/la/lo # service area filter
# ## filter -b/CALL # always block these
# #</source>
#
# #<source> # DPRS source adds a DPRS->APRS RF gate
# # interface DPRS
# # ratelimit 60 120 # default: average 60 packets/minute,
# # # burst max 120 packets/minute
# # relay-type third-party # Must define this for DPRS source!
# #</source>
#</digipeater>