PROTOCOL.txt 6.4a     APRS ON-AIR PROTOCOLS and FORMATS


COPYRIGHT 1992,93,94,95:  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.  If
you do not need these items, then do not feel compelled to register.

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.  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 frames can be transmitted easily from a TNC either by using the
TNC Beacon Text or by typing a line in CONVERSE mode without being connected
to anyone.  The BText transmission period is set using the BEACON command.
The BEACON value is in 10 second increments, except for KANTRONICS products,
where it is in 1 minute increments.

NOTE, that the APRS BText is generated internally in the APRS software and
the TNC BText is not used while APRS is running.

     When you type an unconnected line in CONVERSE mode, your TNC uses the
digipeater path setup in the UNPROTO command.  As long as you do not
experience a collision, these UNPROTO packets are just as good as the
connected protocol and are very effective at broadcasting information to
many other stations at once.

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 frames
transmitted to the broadcast addresses of ID, CQ, QST, BEACON, MAIL, SKYWRN,
,GPS, DFNET, SPCL, TEST, DRILL and APRS.  All other packets are ignored.  For
this reason, you must place one of these addresses in the TO ADDRESS field in
your UNPROTO command.  APRS does have the CONTORLS-OTHER command to over-ride
this filter temporarily.  There is also an alt-IGNORE command.  This command
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:  Using either the BText or UNPROTO CONVERSE methods noted
above, APRS reports can be transmitted manually from any TNC and dumb
terminal.  To transmit a report repetatively, enter it as a Beacon Text.
To report it once, simply type it in the UNPROTO CONVERSE mode and hit
the ENTER key.  The following formats must be used exactly to have the desired
effect at an APRS station.  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.


POSITION REPORT: To report the position LAT/LONG of your station you may
either use the abbreviated format for a fixed station or the longer format for
a mobile that includes the time of the position and an optional course, speed,
and comments.  If the symbol for a Triangle is used (\) then APRS assumes the
report is 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...
   MOBILE:  @DDHHMM/DDMM.hhN/DDDMM.hhW$CSE/SPD/comments...
   DF:      @DDHHMM/DDMM.hhN/DDDMM.hhW\CSE/SPD/BRG/90Q/Comments ( Q=quality)
   GRDSQR:  [XXnnyy]comments to end of line
            [XXnn]comments to end of line
   POWER:   ..........................$PHGabcd... (Power,ant/height/Gain.  See)
                                                  (format below for digi's)
   OMNI-DF: ..........................\DFSxbcd... (Same as PHG, but x=sig str)
            .......z............................. (indicates Zulu date-time)
   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.


OMNI-SIGNAL-STRENGTH DIRECTION FINDING REPORT:  Obviously, since APRS can plot
effective communication range circles around all stations, it was easy to add
the capability to localize hidden transmitters by simply plotting the over-
lapping 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.  Please note that 0 should
   only be used to indicate NO SIGNAL AT ALL!  If the signal is even
   barely discernable, a 1 should be used.  This is beacuse APRS uses
   the 0 signal level to draw circles where the transmitter is KNOWN
   NOT to be.


WEATHER REPORT:  APRS recognizes the underline symbol character to indicate
that the report contains wind direction and speed information.  This plots
the station in dark blue and prevents APRS from assuming it is a moving mobile
station.  The remainder of the comment line can contain any other pertinent
weather information.  APRS has an optional automatic Home weather station
interface for the Ultimeter-II which automatically inserts your weather
conditions into your Posit report.  It includes the optional Temp and Rain
fields.

    @DDHHMM/DDMM.hhN/DDDMM.hhW_CSE/SPD/T073/R00/WxStn (auto)
                                       Dxxx/Pxx/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
    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...
      
BROADCAST:  Simply send anything.  If you are using your TNC BText to
repeatedly send the same message, it is preferred to include the day and time
that you entered the the BText in the text so that recepients can tell how
old the information is.

    @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.

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

DUMB PACKET TERMINAL DF REPORTS:  Non APRS packet stations can also
automatically report their lines of bearing into the system by simply
entering a beacon text in the APRS format with their line of bearing.

 BText:  !DDMM.xxN/DDDMM.xxW\000/000/BRG/N0Q/DF report...

 Where:  DDMM.xxN is Latitude, DDDMM.xxW is Longitude
         \ (Backslash indicates a Triangle symbol for DFing)
         BRG is the DF bearing in degrees True
         N0Q is a Quality indicator where Q is a quality value (1-8) and
             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...

