WA4DSY Linux APRS Server port functions.


MAINPORT:       Port 10151 (or System operator defined)**
		aprsd.conf name: 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
		
		
MAINPORT-NH	Port 10152 (or system operator defined)
		aprsd.conf name: mainport-nh
		Same as Main Port above but doesn't send
		a 30 minute history dump when user connects.

		
LOCALPORT:      Port 14579  (or System operator defined)
		aprsd.conf name: 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
		
		
RAWTNCPORT:     Port 14580  (or System operator defined)
		aprsd.conf name: 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.

		
LINKPORT:	Port 1313  (or System operator defined)
		aprsd.conf name: linkport
		Function:  Other hubs such as APRServe connect here
				to get local TNC data and Internet
				user data. 
				
		Unidirectional
		
		echos:
			TNC data
			Internet user data (from other ports)
			UDP data
			Internal system status messages
			
		Does NOT send 30 minute history
		

		

MSGPORT:	Port 1314 (or System operator defined)
		aprsd.conf name: msgport
		Function: Other hubs such as APRServe connect here
			  to get ONLY 3rd party station to station messages.
			  This is the same as 1313 sbove with all data
			  except 3rd party messages removed to conserve
			  bandwidth.
			  
		Unidirectional
		
		echos:
			3rd party staton to station messages and
			corresponding posits.
			
		Does NOT send 30 minute history.
		



UDPPORT:	Port is optional and defined by system operator
                aprsd.conf name: 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.

				
		Unidirectional (Input only)
		
		echos:  nothing
			
		security: System operator defines IP addresses
			  of trusted users. These will usually
			  be at most the local subnet.
			  				

IGATE connection ports:
	
		aprsd.conf name: igate 
		 
		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 20 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.
 
 and
 
 The line "rf-allow yes" is in aprsd.conf.
 
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 and 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.

Note: 

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.


------------------------------------------------------------
  

      	

			
 
