PROTOCOL.txt 7.4c     APRS ON-AIR PROTOCOLS and FORMATS


COPYRIGHT 1992,93,94,95,96:  Amateur radio operators may freely copy and use
APRS in the Amateur Radio Service, and should not feel compelled to register.
I have tried to make APRS fully capable of RECEIVING and plotting ALL on-
the-air packets whether a station is registered or not.  I ask for a
contribution only to balance 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 unit and a little convenience
in saving configuration files as shown on the F1(help)-V page. 

These APRS formats are provided for use in the amateur radio service.  Anyone
is encouraged to apply the APRS formats in the TRANSMISSION of position,
weather, and status packets.  However, the author reserves the ownership of
these protocols for exclusive commercial application and for all reception
and plotting applications.  APRS is a trademark of Bob Bruninga.  Other 
software engineers desiring to include APRS RECEPTION in their software 
for sale 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.  
See COMMERCL.txt

     All APRS communication is done using 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 its
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 does use the UNPROTO command of the TNC to tell it what path
to use for the transmittion 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:   One caution; since APRS operates in a broadcast fashion and
does not use a connected protocol, the TO ADDRESS is not required.  To 
help ignore non-APRS traffic which might also be on the channel, APRS 
stations use the TO ADDRESS field as a type of filter.  APRS will only 
recognize UI packets transmitted to the broadcast addresses of ID, CQ, 
QST, BEACON, MAIL, SKYWRN,GPS, DFNET, SPCL, TEST, DRILL and APRS.  All 
other packets are ignored.  APRS does have the CONTORLS-OTHER command to 
over-ride this filter temporarily.  There is also a alt-SETUP-MODES-SPECIAL
command which turns off all of the above acceptible TO calls and will only 
accept packets addressed TO: SPCL.  Similarly, these stations all transmit 
using the UNPROTO path of SPCL via XXXX...  This makes it easy for a 
sub-group of APRS users to operate a special event on the same frequency 
as other APRS users, but to not be encumbered with all of their traffic.

APRS FORMATS:  The following paragraphs describe the various APRS on-air
formats.  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 delimiter following the Longitude is used to indicate the
type of APRS symbol to be displayed (shown here as a $).  See the SYMBOLS
.TXT file.  There are three types of time for local, zulu and hhmmss.  


POSITION REPORT:  For a digipeater or permanent TNC, use the FIXED position
report.  Mobiles will time stamp their position with the DAY,HOUR,MINUTE of
the posit.  For a home TNC that normally runs APRS, the @ is replaced with
a / to show the time of when APRS was last running.  If the symbol char
is a backslash (\) then APRS assumes the report includes a DF line of 
bearing for direction finding.  To be compatible with TheNET node ID frames, 
the fixed format (starting with !) can occur anywhere in the BText.

   FIXED:   ...    !DDMM.hhN/DDDMM.hhW$comments...   (See DIGIS.txt)
   APRS TNC:/DDHHMM/DDMM.hhN/DDDMM.hhW$comments...   
   MOBILE:  @DDHHMM/DDMM.hhN/DDDMM.hhW$CSE/SPD/comments...
   DF:      @DDHHMM/DDMM.hhN/DDDMM.hhW\CSE/SPD/BRG/90Q/Comments ( Q=quality)
            .......z............................. (indicates Zulu date-time)
            ......./............................. (indicates LOCAL date-time)
            .......h............................. (Zulu time in hhmmss)
   GRDSQR:  [XXnnyy]comments to end of line
            [XXnn]comments to end of line
W3AB>FM19SX:Hello there....                       (Space/MScat/Grid-SQ mode)
   POWER:   ..........................$PHGabcd... (Power,ant/height/Gain.  See)
                                                  (format below for digi's)
   OMNI-DF: ..........................\DFSxbcd... (Same as PHG, but x=sig str)
   TNC:     /DDHHMM.............................. (If the leading symbol is a )
                                                  (/ instead of an @, then the)
            (packet is NOT generated by  APRS software,  but usually by a dumb)
            (terminal or TNC.   The Date-Time indicates when APRS was last on.)
       
   RTTY:    APRS DE WB4APRx/011427/3859.11'07629.11($ ...   This special format
   uses only the RTTY subset of the ASCII alphabet where ',)( mean N,S,E & W,
   and the x is an SSID number and the $ is the APRS symbol character.  The
   ... comment field can contain the normal APRS CSE/SPD.  The callsign must
   be padded to six spaces.  To enable parsing of this format, use alt-A.


POWER-HEIGHT-GAIN:  This optional field replaces the CSE/SPD fields with a
report of transmitter power, antenna height-above-average-terain and their
antenna gain.  With this information, APRS can plot communication range
circles around all stations.  This reporting capability should be an 
excellent tool for all TNC's not just those used for APRS, such as for 
BBS's and NODES.  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 Pwr 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.

     THESE 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 1100 feet, then your
     height-above-averag-terain is ZERO!!!!


OMNI-SIGNAL-STRENGTH DIRECTION FINDING REPORT:  Ssince APRS can plot range 
circles around all stations, it was easy to add the capability to localize 
hidden transmitters by simply plotting the overlapping signal strength 
contours of all stations hearing the transmitter.  In this instance, the 
PHG format identifier is replaced with DFS to indicate DF Signal strength, 
and the transmitter power field is replaced with the relative signal 
strength on an arbitrary scale of 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

   Although the backslash (DF) station symbol was used, this report will
   work no matter what the station symbol.  A report with a signal of
   ZERO (0), is SIGNIFICANT beacuse APRS uses these 0 signal reports
   to draw BLACK circles where the transmitter is KNOWN NOT to be.  These 
   BLACK circles where the transmitter IS NOT are actually VERY useful,
   since many more people will NOT hear the fox than will.  The black
   circles will eliminate a lot of territority where the fox is NOT.


WEATHER REPORT:  APRS uses the underline symbol character for WX reports.
For these, the COURSE/SPEED field is used for WIND direction and speed.
The remainder of the comment line can contain any other weather items.  
See WX.TXT for details on the specific format of the optional automatic 
Home weather station interface for the Ultimeter-II.

    @DDHHMM/DDMM.hhN/DDDMM.hhW_CSE/SPD/T073/R00h/WxStn (auto)
                                       Dxxx/Pxxh/Bxxx other optional
                                       fields for DewPt, Participation
                                       accumulation, and BaroPressure
    The R field is tenths of an inch of rain in the LAST HOUR
    The P field is tenths of an inch of rain in the LAST 24 HOURS
          (if hundredths are available, an optional 3rd digit may be added)
    An  S filed is INCHES of snow in the last 24 hours
    The (auto) indicates the report is automatic and therefore current.

OBJECT POSITION:  To report the position of something other than your own
station, the same format for a mobile object is used but it is preceeded with
a nine digit object name.  For shorter names, the 9 character field must be
padded with spaces:

    OBJECT___*DDHHMM/DDMM.hhN/DDDMM.hhW$CSE/SPD/comments...
    
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.  
APRS automatically places the date-time at the beginning of such packets
so the receiver will know when that status or beacon was sent.

    @DDHHMM/comments...

MESSAGE: To direct a specific message to a specific station and have his bell
ring and the message instantly flashed on his screen, use the following format,
again padding the addressee call with spaces to a total of nine characters
followed by a colon:

    W3XYZ____:one line message text......{3 (the {3 is the line counter)

    His station will acknowledge receipt with a responding message
    to you with only the letters ACK3 in the message.

MSG ACK: If an APRS station sends you a message line, it will be repeated
over and over until you send a responding ack.  To send an ack to station
W3XYZ, simply enter his call padded to nine spaces and a colon followed by
the letters ACK# where the # is the line number tacked onto the end of his
message line with a ({).

    W3XYZ____:ack3

BULLETINS: Each station can also send a multiple line BULLETIN to ALL 
stations by simply sending multiple single line messages to the special 
call signs of BLN1, BLN2, ... BLN#.  All APRS stations collect all such 
BLN# messages and sort them onto the special BULLETINS page.  They are 
also sorted by originators call, so that many stations can have 
BULLETINS flying at the same time.  You may change any BLN# line at 
anytime, and all receiving stations will simply over-write the line with 
the latest line.  Bulletins sent BLN# will decay to very long periods
but bulletins sent to BLNx will decay down to once every 15 minutes and
stay at that rate. 

APRS QUERIES: APRS responds to several general queries:

     ?APRS? - All stations respond with all outgoing status, posits, OBJs
              and messages randomly over 2 minutes (4 on HF)
     ?APRS?LLLLLL,OOOOOO,RRRR - Only stations within RRRR miles of the
              LLLLLL Latitude and OOOOOO Longitude respond.  If RRRR is
              less than 8 (64 on HF) then respond immediately
     ?WX? -   All WX stations respond
     MYCALL...:?APRS? - Only the station MYCALL responds immediately

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

     N0Q is a Quality indicator where Q is a quality value (1-8) amd
     N is an optional Number of HITS indicator. 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.


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

Since APRS is a generalized position displaying tool, EVERY Packet TNC that
is permanently on the air, and that also transmits a periodic ID beacon,
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.  If you have special
formats for your BEACONS that contain variable information, then APRS is
perfect for grabbing that information and making it available to users...
If you have any uused aliases, set them to RELAY so others can find you.

