Nearly all of XRPi's configuration is controlled by the mandatory file XROUTER.CFG, which lives in the same directory as XRPi itself. This file is read only when the program starts, but many of the parameters can be changed "on the fly", i.e. while the program is running.
XROUTER.CFG is a plain ASCII text file, which can be opened and edited with Notepad. It contains directives of the general form <keyword>=<value>, each on a separate line. (If you do not understand the significance of the <>, please see the conventions section)
Keywords are not case sensitive, and in general they may be specified in any order, but there are exceptions. For example, interfaces MUST be defined before the ports that reference them.
Blank lines are allowed, and comment lines must begin with a semicolon (;) or hash (#) in the leftmost column. Lines must not exceed 255 characters. The following link is a heavily commented example xrouter.cfg file.
The sections of the file outside the INTERFACE, PORT, CONSOLE, APPL and ROUTES blocks, are considered "global", i.e. this is where the keywords with global action can be used. For example, this is where the node callsign and alias are specified. Other blocks may "inherit" these global values by default.
Some of the keywords, e.g. IPADDRESS and PACLEN may be used both globally (to set defaults) and within PORT definition blocks (to set port-specific overrides).
The following keywords are accepted in the GLOBAL section of XROUTER.CFG, and are presented in more detail further down this page:
AGWPORT
TCP port for XRPi's AGW Packet Engine (AGWPE) emulator.
This is the port on which the emulator accepts connections from AGWHOST clients (applications). It defaults to 8000, which is AGW's default host port, and therefore the port most applications expect. You may need to move or disable it if you are running "real" AGWPE or the AGW Interface on the same PC.
Example: AGWPORT=8001
See the TCP-PORTS page for details of how to configure this port.
APPL
Begins an application definition block, and specifies the "application number".
Historically this number had to match the BPQ application type, but as XRPi does not currently support BPQ applications, you may use any number between 1 and 8, providing no two APPL blocks use the same number. See the applications page for more information about application blocks.
Example: APPL=7
APPLQUAL
Default NetRom quality to broadcast for applications (0-255).
This value is inherited by all applications, unless overriden by an APPLQUAL within an APPL block. The default is 150.
Example: APPLQUAL=80
APRSCALL
Callsign used by the IGATE to identify itself in beacons and third party messages.
If omitted, it defaults to NODECALL.
Example: APRSCALL=MB7UXX
APRSPORT
TCP port for APRS server (default=1448)
The APRS server allows APRS applications such as UI-view to use XRPi to access all the APRS data handled by XRPi.
See the TCP-PORTS page for details of how to configure this port.
BELL
Sets the hours during which the console bells are allowed to sound.
These are the two tone connection (low->high) and disconnection (high->low) bells, the 4 tone (Star Trek doorbell) sysop paging sound, and the various bells associated with sysop chat. Console bells use the PC speaker, not the soundcard. The default bell times are 08:00 to 22:59 inclusive.
Times may be supplied either as a series of single hours, or in one or more ranges of times e.g. "8-22", or as combinations of the two. The setting may be altered at any time using the BELL command.
Whatever the BELL setting, the console may still bleep if the sysop tries to exceed a line length or delete back beyond the start of a line.
Example: BELL=0-5,11-23
BLEVEL
Leakage level (0-255) for L3EXCLUDE (default=0).
This allows you to "choke" traffic from troublesome users to a greater or lesser degree. This has been found to be a more effective means of control than blocking them outright, which just shifts the troublemaker to another route. A miscreant being managed by this method usually assumes the network is slow, and doesn't realise his activities are being controlled.
A BLEVEL of 0 prevents ALL L3 packets from the budlisted stations, and at the other extreme 255 will allow all packets. For example 64 will allow on average 1 in 4 L3 packets, which should slow things down a bit!! The sysop can vary this parameter on the fly.
Example: BLEVEL=0
CHATALIAS
AX25/Netrom "alias" for chat server (6 chars max).
This parameter is mandatory if you wish the chat server to be available via NetRom or to link with other servers. If you make CHATALIAS the same as NODEALIAS, the chat server will not be directly connectible (i.e. it will only be available using the CHAT command).
It is suggested this should end with "CHT" and begin with something geographically relevant, e.g. BHMCHT for Birmingham, LDSCHT for Leeds etc., so it can be easily identified in node tables.
Example: CHATALIAS=KDRCHT
CHATCALL
AX25/Netrom callsign for the chat server.
This may be the same as the NODECALL, but must use a different SSID, otherwise the chat server will not be directly connectible. The ad-hoc convention is to use an SSID of -8 for XRchat callsigns where possible, to distinguish them from non-compatible types.
The chat server is an integral part of the system and cannot be completely disabled. You may prevent it from being directly connectible by setting CHATCALL and CHATALIAS the same as NODECALL and NODEALIAS, but it will still be available to all users via the CHAT command.
Example: CHATCALL=G8PZT-8
CHATLINKS
List of peer chat servers to which our chat server will link.
For NetRom links you must supply the *callsigns* not the aliases. You may use multiple CHATLINKS lines, or put several callsigns in a single line, separated by commas.
Unilateral links are not allowed - each partner in this list must place your CHATCALL in their CHATLINKS list. You may only use partners who are in your node tables.
At present, links to RoundTable/BPQ peers must use Netrom, and links to Ping-Pong peers must use TCP/IP. Links with XRouter/XRPi peers may use either NetRom or TCP, although NetRom is the norm.
Don't link with distant servers - if the links are too slow , frames will be dumped and your users will get poor service. You may disable all outgoing and incoming linking by omitting this keyword.
Links with XRouter chat peers are specified thus:
CHATLINKS=<netrom_call>,<netrom_call>,...
CHATLINKS=<ipaddress:tcpport> <callsign>
Links with Tampa Ping-Pong converse servers are specified as follows, with the peername prefixed with a "*":
CHATLINKS=<ip_address:tcp_port> *<peername>
For links with RoundTable/BPQ chat servers the callsign must be prefixed with a '+' e.g. "+XE1FH-11".
Examples:
CHATLINKS=G9XOT-8,+VK1CHT,G7DTY-8
CHATLINKS=80.185.22.37:3601 *brmcht
The sysop may also add and delete links at any time using the "/LINKS" command in the chat server.
CHATLOG
Chat server Activity Logging level ( default=0).
Add together the values corresponding to the desired options from this table:
1 Local user connect / disconnect event
2 Remote user connect / disconnect event
4 Peer server connect / disconnect event
8 Local channels 1-255 join / leave events
16 Public channel join / leave events
32 Log channel notifications
64 Log the text of conversations
128 Use a single logfile, instead of daily ones
CHATPORT
TCP port for chat server (default=3600).
This is the TCP port for connecting directly to the chat server without connecting first to the node and issuing the CHAT command. The ports for Linux and XRPi TCP/IP stacks may be specified independently, and either one may be moved or disabled.
See the TCP-PORTS page for details of how to configure this port.
CHATQUAL
Chat server Netrom quality to broadcast.
This can be used to limit the NetRom visibility of your server to a sensible geographical area, and discourage chat server "dxing". The default is 255, i.e. the chat server is visible over same distance as NODECALL. The value is only meaningful if BOTH
CHATCALL and CHATALIAS are defined, otherwise nothing is
broadcast. You must allow your chat server to be visible as a
netrom node if you wish to link it with other servers.
Example: CHATQUAL=150
COMMAND
Creates a custom command.
This allows you to define single-word aliases for frequently used command strings. For example you might wish to create BBS, CONV and DXCLUSTER commands to point to local systems. There is no limit to the number of commands you can define.
Each command is defined using a separate "COMMAND=" string, and the arguments are <alias> <real_cmd>. e.g. "COMMAND=BBS C 7 GB7PZT" means "create a new command called BBS, which translates to the sequence C 7 GB7PZT"
Examples:
COMMAND=BBS C 1 GB7PZT
COMMAND=CONV TELNET 44.131.90.1 3600
COMMAND=DXCLUSTER C GB7DXC
CONSOLE
Begins a CONSOLE definition block.
The default console settings may be modified using suitable directives in the global section. These settings may in turn be be overridden on a per-console basis by using optional CONSOLE definition blocks. Only those values which differ from the defaults need be specified. Alternatively you may omit the globals and fully specify each
console. Consoles are numbered from 1 to 5.
Console definition blocks start with CONSOLE=n where n is a number between 1 and 5, and end with ENDCONSOLE. They may contain any or all of the keywords listed here. There should be one block for each console that differs from the default settings.
For example:
CONSOLE=3
MIDWINBGCOLOR=NAVY
MIDWINTXTCOLOR=WHITE
CMDWINBGCOLOR=GREEN
CONSOLECALL=G8PZT-4
MMASK=1f ; AX25/Netrom only
MPORTS=1-2 ; Monitor ports 1 and 2 only
ENDCONSOLE
CTEXT
Text sent to users upon connection
By default, this "Connection text", is sent to callers who connect to the NODEALIAS, but not to callers who connect to the NODECALL. The CTFLAGS directive controls which callers receive the text.
When a user connects to an unknown node, he usually likes to know (a) where the node is, (b) what sort of software it is running, and (c) how to get help with commands. But he doesn't want to wait for a long rambling text every time he connects, so please keep the text brief but informative. The end of text is marked by a line beginning with ***
Example:
CTEXT
MyTown AX25/IP Router
Type ? for list of commands.
***
CTFLAGS
Flags which control which callers receive CTEXT.
The argument is formed by adding together the decimal values corresponding to the desired option(s) from the following list:
1 - Send ctext if connect is to Node/port alias
2 - Send ctext if call is to Node/port call
4 - Send ctext on L4 connects.
8 - Send ctext to TCP (TELNET) callers.
The default is 9 (Alias and TCP only).
Example: CTFLAGS=1
CTRLADDR
Hex address of hardware control port (default=378).
In DOS XRouter, this was the address (in hexadecimal) of the parallel port (if any) used for controlling / monitoring up to 8 external hardware devices. It is not yet functional in XRPi.
Example: CTRL=358
DCACHE
Maximum entries in domain cache (default=10).
The domain cache is used during hostname to IP address resolution. This directive is a hang-over from the days when the XRouter program and all its data had to fit into 640kb DOS memory! You may set it much larger on XRPi, although a very large cache is probably counter-productive. Set it large enough to accommodate all the hostnames used by your AX*P links.
Example: DCACHE=20
DISCARDPORT
TCP port (service number) for DISCARD server (default=9).
This is a "sink" server that dumps anything that is sent to it, which is useful for testing. It is recommended that you enable it on the XRPi IP stack (i.e. for amprnet use), but disable it on Linux's stack, as shown in the following:
Example: DISCARDPORT=9 0
To use the DISCARD server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
DNS
Domain Name Server to use (default=internal).
This specifies the IP address(es) of "upstream" Domain Name Server(s), which are to be consulted during the process of hostname to IP address resolution. It is only required if you don't wish to use the Linux resolver.
Syntax: DNS=<ipaddr> [domain]
If [domain] is specified, that name server will only be used to resolve hostnames in that domain, and the hostnames in that domain will only be resolved using that server and no others.
For example: "DNS=44.131.91.245 .ampr.org." tells XRPi to exclusively use the server 44.131.91.245 to resolve all ampr.org hostnames. That server will not be used to resolve hosts outside the ampr.org domain, and ampr.org will not be resolved using any other server.
The [domain] argument may be specified with or without a trailing dot. e.g. ".ampr.org" or ".ampr.org."
You may specify more than one DNS by including more than one DNS directive. If you don't specify any servers, domain resolution will use the services provided by Linux. If neither XRPi nor Linux has any connectivity to a suitable DNS, the only way to resolve addresses is to use manual entries in DOMAIN.SYS.
Example: DNS=62.31.176.115
DOMAIN
Domain suffix (default=ampr.org.)
The domain suffix is automatically appended to any hostname that is entered without any dots (periods) in it. For example if you type "telnet g8pzt", XRPi extends it to "g8pzt.ampr.org." prior to resolving the hostname to an IP address (note that the the trailing dot is important). However, if you enter a complete hostname such as "www.fred.com", XRPi does not extend it.
This directive was provided to enable XRouter to operate in networks other than amprnet, for example in CB packet networks, where the domain suffix would be something like "nl.cbpr.org."
Example: DOMAIN=nl.cbpr.org.
DXFLAGS
Optional flags to control the DX heard display (default=0).
The argument is formed by adding together the decimal values corresponding to the desired option(s) from the following list:
Bit Value
0 0 - Record directly heard stations only
0 1 - Record digipeated and direct stations
1 2 - Enable logging of DX exceeding specified distance.
2 4 - Log frame contents of qualifying DX.
If DX logging is enabled (by setting bit 2), any received APRS positions which exceed the threshold distance are logged to LOG\DXLOG.TXT. Bits 3 - 14 specify the minimum distance which will be logged, from 4Km to 32764Km in 8Km steps, e.g. DXFLAGS=502 enables DX logging, with a threshold of 500Km. If logging is not enabled, bits 3-14 are ignored.
Example: DXFLAGS=102 ; enable dx logging, direct only, threshold 100km
ECHOPORT
TCP "port" (service number) of ECHO server (default=7).
This server echoes anything it receives back to the sender, which is useful for testing. It is recommended that you enable it on the XRPi IP stack (i.e. for amprnet use), but disable it on the Linux stack, as shown below:
Example: ECHOPORT=7 0
To use the ECHO server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
ENABLE_LINKED
Controls who may use the "*** LINKED AS" command. The default is "N", and the possible values are:
Y - Command is unrestricted.
A - Only applications may use the command.
N - No-one may use the command.
Example: ENABLE_LINKED=A
FINGERPORT
TCP port (service number) of Finger server (default=79).
This server retrieves files from the FINGER directory and allows users to "put a finger on" (i.e. find information about) other users.
It is recommended that you enable it on the XRPi IP stack (i.e. for amprnet use), but disable it on Linux's stack, as shown in the following:
Example: FINGERPORT=79 0
To use the finger server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
FTPPORT
TCP port (service number) for FTP server (default=21).
The FTP server allows remote sysops to upload, download, list, rename and delete files, create and remove directories etc. It is for use by sysops only.
Example: FTPPORT=21 10021
To use the FTP server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
HIDENODES
Controls visibility of '#' nodes (default=0).
If HIDENODES is set to 1, nodes whose alias begins with "#"are not displayed by the normal N command. However, whatever the setting, they can always be displayed using "N *".
Example: HIDENODES=1
HOSTNAME
Optional host name for TCP/IP operations. If you omit this, it defaults to "NODEALIAS:NODECALL".
Example: HOSTNAME=g8pzt.ampr.org
HTTPPORT
TCP port (service number) for HTTP server (default=80).
This server retrieves files from within a directory tree specified by HTTPROOT, and runs basic commands.
Example: HTTPPORT=80 10080
To use the HTTP server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
HTTPROOT
Root directory for the HTTP server (default=HTTP).
This allows the HTML files to be located somewhere more convenient, even on another drive if required.
If you omit this directive, the default will be a directory called "HTTP" within the XRPi working directory.
If the directory doesn't exist, the server will not work.
For security reasons it is important that you don't use the XRPi working directory as the HTTP root!
Example: HTTPROOT=D:\WEB
IDINTERVAL
Minutes between ID broadcasts (default=15).
This is the time interval between broadcasts of IDTEXT on each port. A setting of 0 disables ID beacons.
Example: IDINTERVAL=20
IDLETIME
Idle link shutdown timer in secs (default=900).
AX25 L2 Links with neighbour nodes are closed down if they haven't exchanged any L3 traffic for this amount of time. This is an outdated idea and shouldn't come into play these days, as the links are periodically probed by L3RTT measurements.
Example: IDLETIME=600
IDTEXT
One-line ID beacon, broadcast every IDINTERVAL.
If your APRS-format static position code is included, starting within the first 40 characters, you will be visible on APRS maps and the MHeard function will record distances to heard stations. The format is "!ddmm.mmN/dddmm.mmE" where dd represents degrees of latitude or longitude and mm.mm represents minutes to two decimal places. "N" and "E" may be replaced by "S" and "W" as appropriate.
Example:
IDTEXT
!5824.22N/00515.00W MyTown Router (DUMMY), 44.128.128.128
***
IGATE
Controls whether or not the APRS Packet<>internet gateway (Igate) is started at boot-up.
A zero value (default) doesn't start the igate (but it can be started anytime using the "start igate" command), and a non-zero value starts it immediately.
Leave this commented out, or set to zero if you aren't running an APRS Internet gateway.
Example: IGATE=1 ; Start Igate at boot up
INFOTEXT
Text sent in response to "I(nfo)" command.
This should give as much useful information as possible, as concisely as possible. Imagine yourself as a user who has reached your node from afar, then provide the sort of information that you would like to know in that situation. The end of text is marked by a line beginning with ***
Example:
INFOTEXT
XRPi Packet Router, MyTown, UK, IO99ZE
Sysop: Roger G9DUM @ GB7PZT (g9dum@hotmail.com)
To connect to the Dummy BBS, use the command: C GB7DUM
AMPR IP address: 44.128.128.128
Comments/reports/queries to: G9DUM
Website: www.g9dum.com/node
***
INTERFACE *
Begins an INTERFACE definition block. The argument is a number between 1 and 255 which identifies the interface in subsequent PORT blocks. You must define at least one interface, otherwise XRPi will not start.
Example: INTERFACE=2
IPADDRESS
Core IP address for amprnet (44-net) IP routing (default=0.0.0.0).
If you don't already have an amprnet address, you may obtain one from your local amprnet IP co-ordinator.
If you don't wish to route IP, comment this out or set it to 0.0.0.0.
This IP address is "inherited" by all ports, but you may optionally specify an additional address in each PORT block.
Example: IPADDRESS=44.128.0.1
IPENCAP
Enable IPENCAP encapsulation (protocol 4) via Linux IP stack (default=0)
You only need this if you expect to receive IP-within-IP protocol 4 datagrams from other systems via the Linux stack. IPENCAP via XRPi's own stack is not affected by this directive. See IP-STACKS for more details of the IP stacks available to XRPi.
IPENCAP has largely replaced IPIP (protocol 94), but has the disadvantage that it is blocked by MS-Windows systems.
This feature needs XRPi to be run from an account with root privileges, OR to have the CAP_NET_RAW capability flag set.
Example: IPENCAP=1
IPIP
Enable IPIP encapsulation (protocol 94) via Linux IP stack (default=0)
You only need this if you expect to receive IPIP encapsulated datagrams from other systems via the Linux stack. IPIP via XRPi's own stack is not affected by this directive. See IP-STACKS for more details of the IP stacks available to XRPi.
Protocol 94 was the original encapsulation protocol, and unlike IPENCAP is not blocked by MS-Windows.
This feature needs XRPi to be run from an account with root privileges, OR to have the CAP_NET_RAW capability flag set.
Example: IPIP=1
IPTTL
IP "Time To Live" (TTL) (default=255).
This is the maximum number of router to router "hops" an IP datagram is allowed to make. A low value ensures that datagrams stuck in "routing loops" will die quickly, but be aware that Internet-routed packets may easily make 20 or 30 hops, so don't set it too low. Ignore this if you haven't enabled IP routing.
Example: IPTTL=50
IPUDPPORT
UDP port for IPUDP (IP over UDP) encapsulation (default=94).
Use this to reassign the port if another application is using port 94.
You will need to reassign the port to a number above 1023 if XRPi is not running from a root account and does not have the CAP_NET_BIND_SERVICE capability flag set.
Example: IPUDPPORT=9494
L3EXCLUDE
List of callsigns from whom L3 traffic will not be accepted.
This should be used only in exceptional circumstances!
Depending on the BLEVEL setting, L3 traffic from callsigns in this list will either be disrupted (by randomly dropping packets to cause L4 retries) or blocked altogether.
Callsigns should be seperated by commas.
Example: L3EXCLUDE=N3UOO-5
L3TTL
Maximum NetRom layer 3 hops (Time To Live) (default=25).
This specifies a limit to the number of nodes a Netrom L3 packet may traverse before it is dumped, and is used to prevent packets from looping forever in routing loops.
Example: L3TTL=15
L4DELAY
NetRom layer 4 delay in seconds (default=3).
No. of seconds to delay a L4 ack in case further frames arrive.
10 secs is probably OK on normal AX25 RF links, but is excessive on wire links, leading to a slow throughpuit. However, XRPi will attempt to adjust this value to cope with prevailing conditions.
Example: L4DELAY=10
L4RETRIES
NetRom layer 4 retries (default=3).
This is the number of L4 connect/disconnect or retransmission attempts allowed before the link is abandoned.
L4TIMEOUT
NetRom layer 4 timeout in seconds (default=120)
Specifies the number of seconds between L4 retries and L4 connect/disconnect attempts. 120 secs is OK for a radio-based network, but is excessive for an Internet-based one. You may have to compromise, but don't set it too low.
L4WINDOW
NetRom layer 4 window (default=10)
Specifies the number of unacked L4 frames allowed before XRPi stops to await an ack. The default is OK for wire links, but a value of 4 is more normal for radio links.
LOCATOR
- Maidenhead QTH locator (no default).
This is your 6 or 8 character Maidenhead QTH locator,
e.g. "LOCATOR=IO82DJ". It is an easier but less accurate means of specifying XRPi's position for APRS purposes.
LOG
Controls activity logging level (default=0)
Setting LOG=1 will log all connects, disconnects, user-entered commands and chat server activity. LOG=0 disables this function. Can be overridden by the LOG command at any time.
MAXARP
Maximum no. of entries in Address Resolution Protocol (ARP) table (default=20).
The ARP table stores the "hardware" (e.g. Ethernet or AX25) and IP addresses of the immediately neighbouring IP routers. This allows the IP datagrams to be "wrapped" in Ethernet or AX25 frames for transmission to neighbours.
As the amount of memory available to DOS XRouter was very small, the MAXARP command allowed sysops to control the amount of memory that would be used by ARP. Memory is not an issue with XRPi, but you are unlikely to need a large ARP table unless you have a very large LAN.
MAXCIRCUITS
Maximum number of concurrent NetRom L4 circuits (default=20)
This was another means for DOS XRouter sysops to control the amount of memory used. Pre-allocating memory for circuits also prevented dynamic allocation failures. You may set this much higher in XRPi if required.
MAXHOPS
Max acceptable hop count (default=30).
Defines the maximum "hop count" for new nodes table entries received via INP3 unicasts from neighbours. Node information with hop counts that exceed this figure are not accepted into the nodes table.
This value is inherited by all PORTS, and all ROUTES learned via those ports unless overridden by a MAXHOPS entry in the PORT or ROUTE definition.
MAXLINKS
Maximum simultaneous AX25 L2 links (default=30).
You should set this large enough to accommodate the total number of AX25 L2 users and internode links that you expect.
MAXNODES
Maximum size of NetRom nodes table (default=200).
If you have a large nodes table, the output from the "N" command may be too much for an RF channel to handle. On the other hand, if the table size is to small for the number of nodes, nodes will keep disappearing from the table as their slots are reallocated to "fresher" entries.
You should decide what table size is appropriate for your circumstances, set a MAXNODES large enough to accommodate the expected nodes, and use QUALITY and MINQUAL to control the no. of nodes in the table.
MAXROUTES
Maximum simultaneous NetRom neighbour routes (default=30).
You should set this equal to or greater than the expected number of direct NetRom neighbour nodes.
MAXSESSIONS
Maximum simultaneous sessions (default=20).
The purpose of this was to save memory in XR16, rather than to limit the number of sessions. Memory is not an issue in XRPi, but you may have other reasons for limiting the mumber of sessions, so the directive has been retained.
MAXTCP
Maximum simultaneous TCP connections (default=20).
This was another resource management tool, more relevant in XR16 than XRPi.
MAXTT
Maximum Trip Time in 1/100ths of s second (default=5000).
Specifies the maximum accepted "trip time" (transit time) for new nodes table entries received via INP3 unicasts from neighbours. Node information with trip times that exceed this figure are not accepted into the nodes table.
This value is inherited by all PORTS, and all ROUTES learned via those ports unless overridden by a MAXTT entry in the PORT or ROUTE.
The default value is 5000 (50 seconds), and the maximum is 60000 (600.00 seconds). Trip times of 600 seconds are considered "unreachable".
MINQUAL
Minimum NetRom quality to add to node table (default=10).
The "quality" parameter of each node entry received in a NetRom nodes broadcast is "de-rated" according the the formula Q = ((Q * RQ) + 128) / 256, where "Q" represents quality and "RQ" is the "route quality" to the neighbour making the broadcast. The de-rated quality is then compared to MINQUAL. If the new quality is greater or equal to MINQUAL, the route to that node is entered into the table, otherwise it is ignored.
This is the global value which is inherited by all PORTs unless overridden by a port MINQUAL directive.
NODEALIAS *
AX25/NetRom alias of this node.
Up to 6 alphanumeric characters, with no SSID. Aliases beginning with "#" are not displayed in node lists, and are used for "linking only" nodes with no user access.
You should preferably choose an alias which is geographically relevant beyond your own local area, for example BRSTOL, LEEDS, or BRUM are good, because users can recognise them in node tables.
NODECALL *
AX25/NetRom callsign of this node.
Up to 6 chars plus optional SSID between 1 and 15. This is the callsign used for all L3/4 operations, and the default for L2 operations on each port.
-
Mins between nodes broadcasts (default=60).
This value is inherited by all ports, but may be overridden on a per-port basis by including NODESINTERVAL within a PORT configuration block. A value of 0 disables nodes broadcasts.
The optimum values for OBSINIT and OBSMIN depend on NODESINTERVAL, thus you might need to adjust them if you adjust the interval, to prevent your neighbour nodes from going "obsolete".
NUMCONOLES
Number of consoles (default=3).
You may have up to 5 "virtual" consoles, upon which the sysop may conduct independent sessions. Consoles are selected by the left and right arrow keys, or by use of the Alt-W drop down menu option.
OBSINIT
NetRom obsolescence initial value (default=5).
An obsolescence counter is maintained for every neighbour in the NetRom routes table, and is reset to the OBSINIT value whenever a nodes broadcast is heard from the neighbour.
Together with OBSMIN this determines how long the routes and nodes stay in the table after they are last heard about. With the default values this will be between 2 and 3 hours.
OBSMIN
- NetRom obsolescence minimum to broadcast (default=3)
The obsolescence count (see OBSINIT above) for each NetRom neighbour is decremented every NODESINTERVAL. If it drops below OBSMIN, the route is considered obsolete, and nodes learned via that neighbour are no longer included in nodes broadcasts.
If your NODESINTERVAL is shorter than your neighbours', your obsolescence count will decrement more than once between each received nodes broadcast, in which case you may need to set OBSMIN lower or OBSINIT higher, to prevent the neighbours from going obsolete.
PACLEN
AX25 default / NetRom packet length (default=120).
Sets global default Paclen, i.e. the maximum length of the information-bearing portion of an AX25 packet.
The maximum is 256, and default is 120. This may be overridden on a port by port basis by PORT paclens. It may also be changed at any time, ising the PACLEN command.
The choice of paclen depends on many factors such as the link data rate, transmission and addressing overheads, link contention and error rate etc.
Small packets are less likely to be corrupted by errors or QRM, but are inefficient when addressing or transmission overheads (e.g. txdelay) are large. Big packets are more efficient, but are more likely to be lost if the link has errors or QRM, and the re-transmissions will take longer.
PMSALIAS
AX25/NetRom alias of integral PMS.
Up to 6 alphanumeric characters, with no SSID. This alias is required if the PMS is to be visible via NetRom. It must not be the same as any other alias or callsign used by XRPi.
Example: PMSALIAS=PZTPMS
PMSCALL
AX25/NetRom callsign of integral PMS.
This is required if the PMS is to be connectible via AX25 or NetRom. If you don't specify a PMSCALL, the PMS is disabled.
It must not be the same as any other callsign or alias used on the system. The callsign may be the same as NODECALL, or it may be different (e.g. your own callsign). If you use the NODECALL, you must use a different SSID. A long standing convention is to use -2 as the SSID for personal mail systems.
Example: PMSCALL=G8PZT-2
PMSQUAL
PMS quality to include in Netrom nodes broadcast (0-255).
The default is 0, i.e. no broadcast. A non-zero value is only valid if both PMSCALL and PMSALIAS are defined, otherwise it is ignored.
Before setting a non-zero value, think carefully about whether or not your PMS needs a NetRom presence of its own. Does it really need to be visible in everyone's nodes list, or would it just cause unnecessary clutter?
If you do decide to give the PMS a NetRom presence, for example if you are running it as a public mailbox, you can restrict its spread by setting a relatively low quality.
Example: PMSQUAL=50
PORT
Begins a PORT definition block. The argument is the port number, which must be between 1 and 32767 and not used by any other port. The block ends with ENDPORT, and everything between these keywords is treated as a port directive, instead of a global one.
Example: PORT=3
PROXY
Defines a NetRom to AX25, or a NetRom to TCP "proxy" translation.
These are used to give AX25-only and TCP-only systems a NetRom presence. See the PROXIES page for a detailed explanation.
QTH
Location of the node (default=blank)
This specifies (in words) where the node is located, because it's the sort of thing that node-hoppers like to know. You don't have to be too specific - town, region and country are sufficient.
Example: QTH=Droylesden, Manchester, England.
QUALADJUST
Adjusts NetRom quality by callsign (default=255).
This allows you to de-rate the NetRom quality of a node or group of nodes based on the NetRom callsign, instead of the route on which they were received. Thus you can change the relative qualities to favour your local nodes, or (more likely) those which share your language.
This feature is experimental, and should only be used if the need arises. Note that this only works on netrom "quality", as nodes which are learned via INP3 have no quality to de-rate.
The "default" argument sets the default value which is used to de-rate all nodes not matched by any other QUALADJUST statement. The normal NetRom de-rate algorithm is used, so 255 gives no de-rate and 0 gives full de-rate (i.e. to block a callsign or group of callsigns). If there are no QUALADJUST statements the default is 255.
See the QUALADJUST page for more information.
Example:
QUALADJUST=default 180
QUALADJUST=G* 255
QUALADJUST=M* 255
QUALADJUST=2* 255
ROUTES
Starts a ROUTES block, which specifies locked-in NetRom routes.
The block begins with ROUTES and ends with ***. Syntax of each entry in the block is as follows:
[! [maxframe [frack [paclen]]]]
You must specify at least callsign, port and quality.
If you include the lock flag ( ! ) the route will be "locked in", and can only be changed by a replacement entry with the lock flag set. If you don't include the lock flag, the route will eventually expire if not confirmed by the reception of nodes broadcasts. In either case, if the file XRNODES is present, its contents will override the entries here, subject to the locking rules above. The sysop may also edit routes while XRouter is running, using the ROUTES command.
Maxframe, frack and paclen are optional. If specified they override port defaults for that route. Note FRACK is expressed in milliseconds, e.g. 7000 = 7 secs. Maxframe > 7 will allow Modulo-128 to be attempted on that route.
Example:
ROUTES
; Lock in g6yak on port 1 with quality 100 and maxframe 32 :-
g6yak 1 100 ! 32
***
RHPPORT
Remote Host Protocol server TCP port (default=9000)
There are currently no publicly available RHP applications, so you may disable this.
See the TCP-PORTS page for details of how to configure this port.
RLOGINPORT
TCP port for Rlogin (Remote Login) server (default=513)
This is a telnet server for sysop access only, password protected by entries in PASSWORD.SYS.
To use RLogin on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
ROWS
Height of display window in rows of text (default=25).
25 rows is the default (identical to the DOS version), which allows XRPi to run in full-screen mode if desired.
You should be able to extend the height to at least 40 rows. Some machines will allow 50 or 60 rows. Setting this value too high will cause the display to break up and jump around within a window which has scroll-bars (if set correctly, there should be no scroll bars)
SESSLIMIT
Max sessions per user (default=unrestricted)
Overall limit on the number of of concurrent sessions per user, across all ports. This might be useful for restricting "troublesome" users!
SOCKSPORT
TCP port for SOCKS proxy server (default=1080).
To use the socks proxy on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
SORTBYCALL
Sort nodes table by callsign instead of alias (default=0).
By default, the plain "N" command lists nodes in ALIAS order. Although the "N C" command can be used to display nodes in CALLSIGN order, some sysops prefer this to be the default. Setting SORTBYCALL to 1 forces the "N" command to display the nodes in callsign order.
T3
AX25 "T3" (Link check) timer in seconds (default=180).
AX25 L2 links that are apparently open, but have been idle for this length of time are probed to verify that they are still alive. If no response is received, the link is closed.
TELNETPORT
- TCP port for Telnet server (default=23).
The telnet server allows command-mode connections to the node via TCP/IP. The sysop may choose which IP source address ranges may connect, whether or not callsign validation and/or passwords are required, and whether guest (read only) access is allowed, using suitable access control entries in ACCESS.SYS and IPROUTE.SYS. If passwords are required, they are stored in USERPASS.SYS.
To use the Telnet server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
TELPROXYPORT
TCP port for Telnet Proxy server (default=2323).
This server allows TCP/IP applications to make full-binary connections with NetRom and AX25 destinations, and is mainly used for compressed forwarding.
To use the telnet proxy server on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
TTYLINKPORT
TCP port for TTYLINK server (default=87).
The TTYLINK port was originally intended for direct one-to-one chat. However, since XRouter is most often used in unattended mode, TTYLINK connections are now treated exactly the same as TELNET ones. If anyone needs to chat to the sysop, they can either use the YELL command, leave a message in the PMS, or try channel 1234 (sysops channel) on the CHAT server.
To use TTYLINK on a TCP service number below 1024 on the Linux stack, XRPi must be run from an account with root privileges or the program must have the CAP_NET_BIND_SERVICE capability flag set.
See the TCP-PORTS page for details of how to configure this port.
UIFLOOD
Alias for APRS N-n digipeating (default=WIDE).
APRS UI frames digipeated on the UIFLOOD address have their SSIDs decremented, but the digi doesn't insert its own callsign into the path. The "H" ("Has been repeated") bit is not set unless the SSID decrements to zero. XRPi ignores frames that it has already digipeated in the previous 9 seconds.
The UIFLOOD digipeater is enabled on a PORT by port basis by setting bit 9 (decimal 512) in the port's DIGIFLAG.
Note that the APRS "New-N Paradigm" dictates that this address should be set to a "state code", e.g. "GBR" for the UK.
UITRACE
- Alias for APRS N-n digipeating (default=TRACE).
APRS UI frames digipeated on the UITRACE address have their SSIDs decremented, and the digi inserts its own callsign into the path with the "H" ("Has been repeated") bit set. XRPi ignores frames that it has already digipeated in the previous 9 seconds.
The UITRACE digipeater is enabled on a PORT by port basis by setting bit 8 (decimal 256) in the port's DIGIFLAG.
Note that the APRS "New-N Paradigm" dictates that this address should be set to "WIDE".