PROTOCOL.txt 7.9.7     APRS ON-AIR PROTOCOLS and FORMATS
Copyright 1993-97           
                           Bob Bruninga,  WB4APR
                              115 Old Farm Ct
                           Glen Burnie, MD 21060

APRS and the Mic-Encoder are Trademarks of Bob Bruninga, WB4APR

COPYRIGHT 1992-97:  Amateur radio operators may freely copy and use 
the APRS software in the Amateur Radio Service.  I have tried to make 
APRS fully capable of receiving and plotting ALL on-the-air packets 
whether a station is registered or not.  The registration contribution 
only balances the headache factor, and to cover myself against un-
licensed commercial exploitation.  What you get for registering is the 
ability to interface your OWN GPS/WX/DF units and a little convenience 
in saving your configuration.

These APRS formats are provided for use in the amateur radio service.  
HAMS may apply the APRS formats in the TRANSMISSION of position, 
weather, and status packets for their personal use.  However, the author 
reserves the ownership of these protocols for exclusive commercial 
application and for all reception and plotting applications.  APRS is a 
registered trademark of Bob Bruninga, WB4APR.  Other software engineers 
desiring to include APRS RECEPTION in their software within or outside 
of the amateur community will require a license from the author.  Also 
TRANSMISSION of APRS protocols in any NON-AMATEUR commercial application 
or software will require a license from the author.  Licensing is not
intended to be restrictive, but to provide a means for the maintaining
a consistent on-air protocol and for the owner of APRS to share in any
proceeds made from APRS commercial applications.  See License.txt


PROTOCOL:

     APRS uses UI frames which retain all of the error detection capability 
of standard packets, but without acknowledgment.  In APRS, collisions or 
lost packets are not a problem since information is redundantly transmitted 
(AND effeciently! due to the decaying transmission periods).  UI packets 
are the same type that are sent by a TNC using BEACON and BText commands.  
NOTE, however, that the APRS UI packets are generated internally in the 
APRS software and the TNC BText is not used while APRS is running.

     APRS uses the TNC UNPROTO command to setup the path for the trans-
mission of each packet.  But when we refer to the  UNPROTO command in APRS, 
we are refering to the APRS UNPROTO or OPS-UNPROTO command which then in 
turn issues the hardware UNPROTO commands to the TNC.

TO ADDRESS:   APRS uses the TO address to indicate the general application
of your packets or to address certain sub-nets of interest.  By default,
APRS will accept packets addressed to a number of generic calls such
as the following:

   APRS, BEACON, ID, CQ, QST, MAIL, SKYWRN, GPS, DFNET, and SPCL.

All other TO addresses are ignored unless you set CONTROLS-FILTERS-OTHER
to ON.  There is also a alt-SETUP-MODES-SPECIAL command which tells APRS
to ignore ALL TO calls except SPCL.  SImilarly it configures your station
to transmit TO SPCL.  This allows participants in a special event to ignore
all other traffic on frequency but still all non-participants will still
see the SPCL packets.  You can also use alt-S-MODES-altNet to set up any 
other private alternet address so that your APRS packets do not clutter
up other APRS users screens.

APRS FORMATS:  In the following APRS on-air formats, the abbreviations are 
D for degrees (or DAY), M for minutes (Both lat/long and time), h for 
hundredths (or Hours), N for North and W for West.  The APRS symbol is
identified by the characters following the Latitude and Longitude shown 
here as / and $.  The / is an Alternate Table identifier and the $ is the
symbol.  See SYMBOLS.TXT.  There are three types of time for local, zulu 
and hhmmss.  


POSITION REPORT:  The first character determines the position report 
format except for the FIXED format which may occur anywhere up to the 24th 
character position in the packet.  If the posit begins with @ or = then 
APRS is running.  If only a TNC is running, then a ! or a / indicates that 
there is no APRS messaging capability on line.  In this case, the date-
time means the time that APRS was last running.

FIXED:      .......!DDMM.hhN/DDDMM.hhW$comments...   (fixed short format)
            /DDHHMM/DDMM.hhN/DDDMM.hhW$comments...   (long format)
                                                     
MOBILE:     @DDHHMM/DDMM.hhN/DDDMM.hhW$CSE/SPD/comments...
GRDSQR:     [XXnnyy]comments to end of line
            [XXnn]comments to end of line

POWER:      ..........................$PHGabcd... (Power,ant/height/Gain.  
       

POWER-HEIGHT-GAIN:  This optional field replaces the CSE/SPD fields with a
report of transmitter power, antenna height-above-average-terain and 
antenna gain.  APRS uses this to plot radio range circles around all 
stations.  The following details the format to be used in the BText of 
a TNC dedicated as an APRS digipeater:

    !DDMM.mmN/DDDMM.mmW#PHG5360/WIDE...(identifying comments)...
      |         |      | | ||||  |_____ makes station show up green
      |         |      | | ||||________ Omni (Direction of max gain)
      |         |      | | |||_________ Ant gain in dB
      |         |      | | ||__________ Height = log2(HAAT/10)
     LAT      LONG     | | |___________ Power = SQR(P)
                       | |_____________ Power-Height-Gain identifier *
                       |_______________ # is symbol for digipeater

     As you can see by the integers in the PHG string, there are only 10
     possible values for each of these fields as follows:

     DIGITS   0  1  2   3   4   5   6    7    8    9         Equation
     -------------------------------------------------------------------
     POWER    0, 1, 4,  9, 16, 25, 36,  49,  64,  81  watts  SQR(P)
     HEIGHT  10,20,40, 80,160,320,640,1280,2560,5120  feet   LOG2(H/10)
     GAIN     0, 1, 2,  3,  4,  5,  6,   7,   8,   9  dB
     DIR      0,45,90,135,180,225,270, 315, 360,   .  deg    (D/45)

     The DIRECTIVITY field offsets the PHG circle by one third in the
     indicated direction.  This means a front to back range of 2 to 1.
     Most often this is used to indicate a favored direction or a null
     even though an OMNI antenna is at the site.  Note that 0 means
     OMNI and 8 means 360 or a NORTH offset.

     HIGHTS are ABOVE-AVERAGE TERRAIN!  Not above ground or sea
     level.  Your antenna may be at 1000 ft above sealevel and be on 
     a 100 foot tower.  But if you go out 10 miles in all directions
     and find that the average elevation is 1200 feet, then your
     height-above-averag-terain is less than ZERO!!!!


OMNI-SIGNAL-STRENGTH DIRECTION FINDING REPORT:  APRS can localize jammers 
by plotting the overlapping signal strength contours of all stations 
hearing the signal.  This OMNI-DF format replaces the PHG format with DFS 
to indicate DF Signal strength, and the transmitter power field is replaced 
with the relative signal from 0 to 9.  The following beacon would
represent a weak signal heard on an antenna with 3 dB gain at 40 feet:

   @141923/3859.11N/07629.23W\DFS2230/comments

   A signal of ZERO (0), is equally SIGNIFICANT beacuse APRS uses these 
   0 signal reports to draw BLACK circles where the jammer is NOT!  
   These BLACK circles are extremely valuable since you will get a lot 
   more reports from stations that don't hear the jammer than from those 
   that do.   This quickly eliminates a LOT of territory! 
   


WEATHER REPORT:  APRS uses the underline symbol character for WX reports.
For these, the COURSE/SPEED field is used for the WIND and the remainder 
of the comment line contains other weather items.  See WX.TXT 

OBJECT POSITION:  OBJECT reports are identical to POSITs except that the
posit is preceeded with a fixed nine character object name and a *.

     OBJECT___*DDHHMM/DDMM.hhN/DDDMM.hhW$CSE/SPD/comments...
    
STATUS PACKET:  These packets are used to tell the world your current 
mission or any other single line announcement.  Mobiles may indicate their
destination and ETA.  These packets are time stamped so the sender knows
when they were valid.  

    >DDHHMMzCOMMENTS......

ALL OTHER PACKETS:  Any packet that does NOT meet any of the above formats
is assumed to be just a STATUS beacon and is placed on the LATEST list.  

    CQ anyone out there?

MESSAGE:  Station to station messages use the following format, again 
padding the addressee call with spaces to a total of nine characters
followed by a colon.  A line counter character follows the "{" symbol 
at the end of the line.

    W3XYZ____:one line message text......{3    

MSG ACK:   An ACK is just a message with the letters ACK# where the # is 
the message line number. 

BULLETINS:   BULLETINs are simply messages to the call signs of BLN1, BLN2, 
... BLN#.  They will never be acked, but all APRS stations will capture
and sort them onto the special BULLETINS page.  Bulletins sent to BLN# will 
decay to very long periods but bulletins sent to BLNx will decay down to 
once every 20 minutes and stay at that rate.   Bulletins can be sent to
specific groups and selectively filtered on receipt.  Such Bulletins are
sent to BLN#grup where grup can be any 4 or less group name.

DF REPORTS:  The DF report includes a NRQ field in addition to the
position, course and speed of the vehicle plus the bearing line.
 
     @DDHHMM.xxN/DDDMM.xxW\CSE/SPD/BRG/NRQ/DF report...

     NRQ indicates the Number of hits (for an N7LUE interface), the
     approximate Range and the Quality of the report. If N is 0, then 
     it means nothing.  Values from 1 to 8 give an indication of the 
     number of hits per period relative to the length of the time period.  
     So 8 means 100% of all samples possible, got a hit.  The N is not 
     processed, but is just another indicator from the automatic DF 
     units.  By entering a 9 as the HIT indicator, you can indicate to 
     other users that your report is manual.  The range limits the 
     length of the line to the original maps scale of the sending
     station.  The range is 2^R so, for R=4 would be 16 miles.


DIGIPEATERS, NODES, BBS's AND ALL OTHER PACKET STATIONS:

APRS should be used as a generalized position displaying tool, EVERY 
TNC that is permanently on the air, even non APRS networks, should be 
reporting its position in that ID beacon!  This way, stations
monitoring can quickly see a geographical plot of the network.  If you want
to keep the exact location of your transmitter ambiguous, then use
the GRID-SQUARE format, and your position will be ambiguous to a few miles,
but stations can still see that you are on the air.

See DIGIS.TXT for detail formats for the BText when setting up a digi.

QUERIES:  THere are two types of APRS Queries.  One is general to all
stations and the other is an addressed Query to a specific station.

  ?APRS?                    Queries all stations (respond in 2 mins)
  ?WX?                      Queries all WX stations
  :W3ABC____:?APRS?         Queries just W3ABC  (all of his data)

  
