aprsd TCP port functions for versions 2.1.3 July 6 2000
All port numbers are defined in /home/aprsd2/aprsd.conf. If a port is not
defined there it is inactive. The exceptions are the ipwatchport and httpport
ports which are enabled unless defined to zero in aprsd.conf.
Main Port #10151 (or System operator defined)**
- aprsd.conf key word: mainport
- Function: User access via various aprs clients to all data streams.
- Bidirectional
- echos:
- Internet user data
- Data from other IGATES and hubs
- TNC data
- Internal system status messages
- UDP data
- Sends 30 minute* history of all data streams when user connects
Main Port-NH #10152 (or System operator defined)**
- aprsd.conf key word: mainport-nh
- Same as Main Port above but doesn't send 30 minute history when
user connects.
Local Port #14579 (or System operator defined)
- aprsd.conf key word: localport
- Function: User access via various aprs clients to local TNC data only.
- Bidirectional
- echos:
- TNC data
- UDP data
- Internal system status messages
- Sends 30 minute history of TNC data only
Raw TNC Port #14580 (or System operator defined)
- aprsd.conf key word: rawtncport
- Function: User access via various aprs clients to RAW local TNC data only.
- Bidirectional
- echos: TNC data
- No 30 minute history dump.
Note: This port doesn't reformat the
TNC data or filter duplicates. Every packet the TNC hears is sent the the user
unchanged.
Link Port #1313 (or System operator defined)
- aprsd.conf key word: linkport
- Function: Other hubs such as APRServe connect here to get local TNC data
and Internet user data.
- Bidirectional
- echos:
- TNC data
- Internet user data (from other ports)
- UDP data
- Internal system status messages
- Does NOT send 30 minute history
- Does NOT echo data from other IGATEs
Messsage Port #1314 (or System operator defined)
- aprsd.conf key word: msgport
- Function: Other hubs such as APRServe or aprsd connect here to get 3rd
party station to station messages. All station to station messages from all
data sources and a corresponding position report are available on this port.
All other packets are filtered out. This is useful for clients that need to
conserve Internet link bandwidth but want access to the global station to
station message stream for Internet to RF messaging.
- Bidirectional
- echos:
- 3rd party staton to station messages from all sources.
- Does NOT send 30 minute history.
UDP Port #1315 or defined by system operator
- aprsd.conf key word: udpport
- Function: Allows other programs such as Perl scripts to send short packets
of data into the aprs stream or the TNC. Packets addressed to the TNC are
directed to RF. All others go to the Internet. I use it to inject weather
packets from a Perl script.
The path data (up to and including the colon)
are stripped off before the TNC gets it.
eg:
WA4DSY>TNC:This data
goes to the TNC
WA4DSY>APRS:This whole line goes to the Internet (no
path stripping)
- Unidirectional (Input only)
- echos: nothing
- security: System operator defines IP addresses of trusted users. These
will usually be a local host or subnet but could be any host.
HTTP Port #14501 or defined by system operator [New in 2.1.2]
- aprsd.conf keyword: httpport
- Note: You don't need to add this to your aprsd.conf file unless you want
to change it to a port other than 14501. To disable it, set it to zero.
- Function: Defines the port which suppiles server status information in
HTML format. This port is accessed with any web browser by entering the URL:
http://wa4dsy.net:14501/(replace
"wa4dsy.net" with the domain name of the aprsd server you want ) To refresh
the data click the RELOAD button on your browser.
IP Source monitor port #14502 or system operator defined. [New in 2.1.2]
- aprsd.conf keyword: ipwatchport
- Note: You don't need to add this to your aprsd.conf file unless you want
to change it to a port other than 14502. To disable it, set it to zero.
- Function: Supplies all data streams without dup filtering with a special
header prepended. The header contains the source IP address of the packet and
the user login name, "IGATE" or "UDP". An example: !44.36.16.48:WA4DSY!
Packets from other igates this server connected to will show the domain name
instead of the IP address and the user will be "IGATE". Packets from the UDP
port will have the IP address and the user field will be "UDP". Packets from
the TNC will have "TNC" in the IP address field and "*" in the user field .
Use telnet or nc optionally with grep to determine the source of packets.
eg: telnet first.aprs.net 23 | grep '199.45.66.88'
Will display only
packets from IP address 199.45.66.88.
IGATE connection ports
These are client ports which connect to distant
IGATEs to harvest their data streams. Connections are reestablished when they
drop. The system operator defines the domain names and optional user/pass logon.
If the optional user/pass information is supplied the server will send out to
the distant IGATEs the same data provided by port 1313 above. This is usefull
for those who use a dialup connection without a static IP address. Up to 100
distant IGATES can be defined. (this limit can be increased by editing an
recompiling)
* The 30 minute time is now user definable.
** All ports are optional. They
will not be activated unless a port number is defined in the aprsd.conf file.
REFORMATTING
Mic-E packets are converted to standard APRS format before
being sent to clients.
Data from AEA TNCs is converted to TAPR format before being sent to clients.
Station to station messages of the 3rd party kind:
This program will
reformat and relay aprs station to station messages from the Internet to the TNC
for RF transmission under the following conditions.
If it came from a logged on verified registered user.
and
The originator was not seen on the TNC RF data stream in the past 30
minutes.
and
The destination HAS been seen on the TNC RF data
stream in the past 30 minutes and doesn't have "GATE*" in his path and has been
repeated less than 3 times.
For each 3rd party messge delivered to RF the latest position report packet
of the originating station will also be sent after reformating the path in 3rd
party format. The program pulls the posit from the history list.
eg:
KE6DJZ>AP0917,KB6TLJ-5,RELAY,WIDE:=3415.99N/11844.34WyAPRS+SA
becomes:
}KE6DJZ>AP0917,TCPIP,WA4DSY*:=3415.99N/11844.34WyAPRS+SA
(assuming "MyCall" is WA4DSY )
During a series of messages the position packet will only be sent with a
message every 10 minutes unless the station emits a new one.
This server will NOT igate a 3rd party reformatted message from RF
to the Internet. This is strictly one way.
Users of unregisterd client programs can send their own station-to-station
messages to other Internet users. These messages will not go out on the TNC RF
channel and the path will be modified (TCPIP* is changed to TCPXX*) so other
hubs will know not to send these messages out on their RF channels. Unregistered
users cannot Igate packets other than their own. In other words, the ax25 source
call in their packets must match their logon call.
eg; assume N0CLU is unregistered and attempts to send the following into the
server.
N0CLU>APRS,TCPIP:>TESTING This will be converted to
N0CLU>APRS,TCPXX*:>TESTING and gated to other users (but not to RF ever!)
However... W4ZZZ>APRS,TCPIP:>TESTING will be deleted and not sent
anywhere.
Telnet users must provide a user name or call sign before any of their data
can be relayed to the internet. They need to enter "user callsign pass -1" so
the server will accept the data. The ax25 FROM call in packets they send must
match the call sign they loggon with. If they provide a valid password full
priviliges are granted since they used the keyboard to emulate a client program
logon string. (Not that anyone would want to do this except for testing)
This server will also accept valid user/password combinations for the Linux
system it is running on. These users must be in the aprs group. This group can
be added by editing the /etc/group file. See the README for details.
This program trusts other versions of itself and APRServe to flag the
paths of data from unregistered Internet users with "TCPXX*". Station to station
messages flagged this way will not be sent out on RF. The IGATE commands in the
aprsd.conf file should specify a remote host port which is secure. For IGATES it
must be a port which doesn't echo any Internet user data, only TNC data. Full
function servers such as APRServe and this version (2.x.x) of aprsd will change
TCPIP* to TCPXX* in the paths of unregistered users on all ports.
Comments, suggestions and complaints to mailto:dale@wa4dsy.net(Dale Heatherington)