PROTOCOL.txt 6.0              APRS ON-AIR PROTOCOL    
                                      or
                  FORMATS FOR USING APRS WITH DUMB TERMINALS

    Since most of the features of APRS can be used even if a station is not
running the APRS software, this file describes the exact APRS formats so that
they can be manually entered from dumb packet stations.  This might often be
the case from lightweight portable packet stations.  Frequently the need for
the map display is NOT out in the field where the portable packet stations
are, but at the headquarters, or net control point.  The following paragraphs
suggest ways to use dumb terminals or non-PC computers and TNC's in an APRS
network.

    All APRS communication is done using UI frames.  UI frames are
transmitted with all the error detection capability of standard packets, but
they are not automatically acknowledged.  The only disadvantage is that if a
collision occurs or there is interference on the channel, the UI frame is not
automatically retransmitted.  In APRS this is not a problem because all
information is redundantly transmitted in an effecient manner.

    UI frames can be transmitted easily from a TNC in two ways.  First, by
loading the TNC Beacon Text with a desired message, the beacon is repeatedly
transmitted as a UI frame.  The period of retransmission is set using the B
parameter.  Most standard TAPR-2 TNC's use 10 second increments so that a
B_E_6 actually results in a beacon once every minute.  A value of 60 is once
every ten minutes.  In Kantronics TNC's, 1= 1 Minute and so on.  BText is
often used in an APRS network to broadcast a one-line message to all stations.
NOTE, that the APRS BText is generated internally in the APRS software and
the TNC BText is not used while APRS is running.

     The second way to send UI frames is to enter CONVERSE mode directly from
the cmd: mode without first establishing a connection.  This is done simply
by using either the CONV or K command.  In this mode you specify your
digipeater path by using the UNPROTO command.  Once in UNPROTO CONVERSE,
everything you type is still transmitted as normal AX.25 packets, except that
lines are only transmitted once and acknowledgments do not exist.  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 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.  NEW in version 6.0, is the 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 wiht 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 running )

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 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 trans-
         mitter 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

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.


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.


USING AND DISPLAYING POSITION INFORMATION.  If all manual stations in an APRS
system carry a pre-printed map of the exercise or event area, not only can
they easily determine their own location for reporting, but they can also
plot the location of other stations and objects.  Usually, you do not need
the high technology of a GPS or LORAN receiver to know where you are.  Most
people can find themselves on a map and read the coordinates.  Then they
simply type them in to their BText and in a few minutes, everyone on the net
can see their exact location.  Similarly, by monitoring all of the APRS
beacons going back and forth, the dumb terminal user can still be equally
well informed of whats going on.


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

Since APRS is a generalized position displaying tool, EVERY Packet TNC in the
country 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...

