aprsdigi - APRS(tm) digipeater


SYNOPSIS

       aprsdigi  [-mDM]  [-a  call] [-n|s|e|w path] [-d digipath]
       [-f call]
          [-t tag] [-k secs] [-l logfile] [-i interval] [-k keep-
       for]
          [-r rxport] [-x txport]


DESCRIPTION

       Aprsdigi  uses  SOCK_PACKET  facilities  to act as a digi-
       peater for UI frames.

       In addition  to  conventional  TNC-style  digipeating,  in
       which  a  packet  is  digipeated  if the next non-repeated
       digipeater callsign matches the ax.25 port's callsign  and
       SSID  or  an  alias specified with the -a option, aprsdigi
       implements  the  Automatic  Position  Reporting   System's
       (APRS)   SSID-based  and  WIDE-N  flooding  algorithms  as
       described in the APRS README/MIC-E.TXT document.

       Aprsdigi also translates  "APRS  MIC  Encoder"  compressed
       position  and  telemetry  packets  into conventional "MIM"
       packets.

       SSID-based routing uses a non-zero sub-station ID  in  the
       destination callsign, along with an empty digipeater path,
       to indicate that the APRS  digipeater  should  repeat  the
       packet  after  filling  in an appropriate digipeater path.
       For example, a packet sent to "APRS-3" would  be  repeated
       with a modifed destination of "APRS VIA WIDE-3" (in a net-
       work that supports WIDE-n flooding).   A  packet  sent  to
       "APRS-11"  would  be repeated to the West unproto path, as
       defined with the -w option.  A table of  SSID  values  and
       their paths follows:

       SSID unproto path
       ---- ------------
       0    none
       1    WIDE-1
       2    WIDE-2
       3    WIDE-3
       4    WIDE-4
       5    WIDE-5
       6    WIDE-6
       7    WIDE-7
       8    NORTH UNPROTO path
       9    SOUTH UNPROTO path
       10   EAST  UNPROTO path
       11   WEST  UNPROTO path
       12   NORTH UNPROTO path + WIDE
       13   SOUTH UNPROTO path + WIDE


       APRS  WIDE-N  (or flooding) digipeating works by repeating
       any received packet that has exactly one digipeater,  that
       digipeater  callsign  or  alias  was  specfied with the -f
       option, and the SSID is 1 or greater.  The SSID is  decre-
       mented  by  one, and the packet is repeated.  Furthermore,
       recently transmitted packets are remembered for  a  period
       of time specified by the -k option and are not repeated if
       they are heard within that time period (default is 20 sec-
       onds).

       Unlike  conventional  digipeating, in which the digipeater
       callsign/alias is flagged as "repeated", neither SSID  nor
       WIDE-N  modes  do  this.   The SSID mode is designed to be
       used as a means of allowing extremely short  packets  used
       by  GPS-based mobiles operating on voice frequencies.  The
       WIDE-N mode will eventually  become  a  conventional  WIDE
       path  when  the  SSID  decrements to zero and will then be
       flagged as repeated by the final digipeater to repeat  it.
       The WIDE-N flooding algorithm is meant to address the com-
       binatorial explosion caused by the use of, for example,  a
       "WIDE,WIDE,WIDE"  path  in  which  all two or three nearby
       WIDE digipeaters can hear each other  and  keep  repeating
       the same packet.  Using WIDE-N, a packet can be digipeated
       further outward throughout the APRS network while limiting
       unneccessary repeats.

       Aprsdigi  also fits into a non WIDE-N network by using the
       same algorithm for selection of subset of digipeaters from
       a list supplied with the -d option as the MIC-E.  That is,
       SSIDs of 1, 2 or 3 select that number of digipeaters  from
       the  first  three digipeaters in the -d list.  SSIDs of 4,
       5, 6, or 7, start at the fourth digipeater in the list.



OPTIONS

       -a alias  Add alias to the list of callsigns aprsdigi will
                 respond  to.   The  port's  callsign is included
                 automatically.

       -m        Selects Paccomm-style replacement of  the  digi-
                 peated alias with the station callsign (mycall).
                 For example, if one  of  aprsdigi's  aliases  is
                 RELAY and it receives a packet that has RELAY as
                 the next digipeater  to  use,  it  will  replace
                 RELAY  with  the station callsign.  This aids in
                 tracing which stations actually repeated packets
                 addressed  to  generic aliases (and also enables
                 legal IDing in the US without having to transmit
                 addition ID packets).

                 Specifies the North, South, East, and West digi-
                 peater paths for SSID routing.

       -d digi1 digi2 ... digi7
                 Specifices the omnidirectional digipeaters paths
                 for SSID routing in a non-flooding (non  WIDE-N)
                 network.

       -f alias  Add   alias  to  the  list  of  WIDE-N  flooding
                 aliases.  Current practice is to specify -f WIDE
                 as the flooding alias.

       -t tag    Defines a message to the tagged on to the end of
                 all SSID-mode  repeated  packets.   Useful  when
                 operation  a  split frequency digipeater that is
                 listening on a voice input frequency and  trans-
                 mitting  on a digital output.  The tag can iden-
                 tify where the packet was heard.

       -k seconds
                 Sets the number of seconds to  remember  flooded
                 packets.  Default is 20.

       -D        Enables  duplicate  detection  for  conventional
                 digipeating.  Remembers  duplicate  packets  for
                 the  number of seconds give by the -k option and
                 will not  repeat  them  more  than  once.   This
                 reduces conjestion caused when several WIDEs can
                 hear each other, causing  geometric  duplication
                 of  packets address via "WIDE,WIDE" for example.

       -r port   Port  is   the   receive-only   (usually   voice
                 repeater)  ax.25  port as defined in the axports
                 file.

       -x port   Port is the  transmit/receive  (usually  145.79)
                 ax.25 port as defined in the axports file.


FILES

       /etc/ax25/axports


SEE ALSO

       call(1),   listen(1),   beacon(1),  ax25(4),  axattach(8),
       aprsmon(1), http://www.tapr.org/sigs.html


AUTHORS

       Alan Crosswell N2YGK (aprsdigi)
       Bob Bruninga WB4APR (APRS(tm))