APRStt-v.TXT APRS Touch-Tone SPEC for Voice Systems 27 Apr 09 ----------------------------------------------------------------------- WB4APR Updated 27 Apr 09 based on implementation details REvised 09 Oct 08 revised to version 2.0 to include new callsign plan Cleaned 04 Sep 08 cleaned up some typos.. Revised 10 May 08 for still simpler implementations at all repeaters REVISED 22 Sept 05 for simpler implementation Original 08 Nov 02 last updated for oroginal APRSdos implementation This major revision (simplification) of the APRStt spec has been made to clarify the simplest DTMF-to-APRS protocols for some very simple entry level applications. Just implementing the CALLSIGN format as a first step will accomplish 80% of the APRS objectives for users with nothing but a DTMF HT. Placing APRStt gateways to monitor the common USA simplex channel of 146.58 will give people with a DTMF HT, the ability to check-in to APRS at any time. This extension of APRS to all those existing users with DTMF radios can revolutionize ham radio APRS connectivity. APRStt is a local Touchtone/Voice gateway from Voice systems (channels) with DTMF to the APRS channel. It allows anyone with a DTMF radio or HT to send his pre-stored DTMF memory with his callsign with the press of a single button. The APRStt gateway will convert that DTMF burst into an APRS packet and send it into the Global APRS network. This accomplishes the following: 1) Identifies the station by call, and date and time 2) Plots the station on the global APRS map near that gateway 3) The packet shows the FREQUENCY and TONE he is using 4) The packet can contain other info such as Echolink or IRLP node# APRStt was first demonstrated at Dayton 2002 and voice was added by RAC 2002 in Vernon B.C. That first system used a hardware DTMF chip, but today, an APRStt node can be implemented in just about anything including full software-only applications on a PC. APRStt DESCRIPTION: The full APRStt system is a complete two way system that enters APRS data using DTMF and lets the user receive APRS information by synthesized voice response. Since 80% of the functionality of APRS can be accomplished by the simple receipt of a DTMF callsign, the simplified APRStt Callsign technique and details have been summarized in its own document: www.aprs.org/aprstt/aprstt-coding21.txt The abbreviated short format definintions of APRStt combined with the TTone memories built-in to most radios allows for nominal APRS operations with only a few key strokes. APRStt KeyPad: -------------- Unfortunately, there are several Keypad-to-text encoding plans. The following plan I call the "multi-press" method was implemented by kenwood in the D7 HT. The keys, 0-9, *,#, and A,B,C,D are used for all entries. +------------------+ This figure shows the standard Touch Tone Key | 1 2 3 A | pad with its standard Alphabetic alternate | ABC DEF --> | definitions that match those on the Kenwood also | 4 5 6 B | used for APRS message entry. For Alphabetic |GHI JKL MNO <-- | text, the letter A would be one press of the "2" | 7 8 9 C | key, B would be "22" and C would be "222". To |PQRS TUV WXYZ del | enter a digit "2" within text, it would be | * 0 # D | "2222". If two adjacent letters use the same key, | space OK! | then press the "A" key between them. The # key +------------------+ does all punctuation in the order ?!'.,-/ etc These key definitions differ slightly from the D7 and D700 APRS radios, but these differences do not matter, since a D7 or D700 user will never need to use APRStt, since those radios can send APRS information directly using their existing key set. Note, the New D710 radio changes the definition of the "A" and "C" key! HOWEVER, for just enteiring a callsign into a DTMF memory, using the multi-press method can make for some digit strings that will not fit in the 16 key memories of some HT's. For this reason, we have decided to use the two-key method used by Kenwood and Yaesu in those 300,000 DTMF text-messaging radios they sold in the late 1990's. THis method uses the digit of the key with the letter on it, followed by either the A, B, C or D key to show which of the letters the digit represents. For ecample, the letter L is 5C showing it is the 3rd letter on the 5 key. To enter a numeric digit, just a single digit key is needed that is not followed by one of the ABCD keys. APRStt TYPE KEY: The first DTMF key in any APRStt DTMF string indicates the type of APRStt entry. A # key always ends the string. The following definitions pertain to the APRStt type keys: A key .....# indicates a Callsign follows B key .....* indicates some position data to be followed by a call C key .....* indicates a position comment to be followed by a call D key .....* message or other data to be followed by a call PRECURSOR "#" KEY: Since APRStt may share a radio channel with other DTMF functions (such as repeaters) and VOIP systems, a user may preceed his APRStt string with a leading # key that will trigger these other systems to ignore the following digits. This will work in many repeater controllers. Thus, we can use # as an optional start of all APRStt sequences to force the normal repeater to ignore the remainder of the APRStt sequence. EDITING KEYS: Although APRStt defines some editing functions to the four A, B, C and D keys , they will not apply here, since the calsign DTMF memory function does not need to be editied. It is entered once and stored correctly. But for reference, here are the editing defintions if we find a use for them. A - As a leading digit, it signifies the start of a callsign. Within a string, it is a digit separator when sequential letters share the same key. B - As a leading digit indicates a manal posit format It is a backspace character if entered within a string on air C - As a leading digit, it indicates a message. Otherwise it is a CANCEL or ABORT for the whole APRStt string D - Is reserved for future use. * - is used as s field separator (like a comma for example) # - is the ending key APRStt FORMATS: Just like in APRS, there are only four basic formats, Call, Position, Message and Query. The sender's call is included in the CALL format to identify the sending station for either a position or a message. The position format can be used for not only station position, but also for objects. Messages can be between APRS stations or Email. Queries ask APRStt for information about other users. CALLSIGN FORMAT: Only the simplest CALLSIGN format for APRStt is included here, because that is all we need to basically get a station live into the APRS system. The repeater he comes through will generate the position, the frequency and tone and other local information. The simplest CALLSIGN format fits into 15 digits which should fit in any HT DTMF memory. The format is simply: AxxxxxxxxxxxVK# Where: A signifies it is a callsign DTMF string xxxxx is the callsign in 2-key DTMF V is the overlay byte or bytes (VV) K is the checksum digit (unit digit of the sum) # is the end (can optionally end with * if more to follow) When translated to the APRS network, an SSID of -12 is used to clearly identify this station as a DTMF APRStt user only. His only option to his symbol appearance on the APRS map is the choice of overlay digit. VOIP or REPEATER CONTROLLER RESPONSES: Preferably on receipt of a valid callsign DTMF string, the repeater or APRStt engine will respond with the callsign in CW or in voice. In voice, it should say: "Welcome XXXXXX". Here is how my WB4APR callsign looks in DTMF: A9A2B42A7A7C93# The leading A key indicates it is an APRS Callsign 9A decodes as W 2B decodes as B 4 decodes as 4 (because another digit follows it) 2A decodes as A 7A decodes as P 7C decodes as R 9 decodes as 9 for the overlay digit on the APRStt symbol 3 Is the checksum (10+9+10+2+11+4+2+10+7+10+7+12+9=103 ) # signals the end of the burst DTMF users only have to key this into their radios once and save it in a DTMF memory for simple identification when the user wants to report his presence. On receipt of a CALLSIGN-ONLY packet, the repeater will then generate an OBJECT packet for either its serial port for an attached TNC to transmit on the APRS channel, or directly into the global APRS internet system if the internet is available. The object format looks like this: W3TT>APRStt,WIDE1-1:;WB4APR-12*ddhhmmzDDMM.xxNdDDDMM.yyW$FFF.FFFMHz Tnnn Rxxm Where W3TT is the APRStt engine's on air APRS callsign Where APRStt is the TOCALL (APRS version identifier) Where WIDE1-1 is the local 1 hop APRS path Where WB4APR-12 is the DTMF callsign with default -12 where ddhhmmz is the Zulu time stamp (D710 fails on local time) Where DDMM.xx is the latitude of the repeater "DTMF User list" Where .xx is the latitude offset to make a nice list on the map Where V is the oVerlay character for the DTMF symbol Where DDDMM.yy is the longitude with yy chosen for this repeater location to place the DTMF User List in the best place on this map at a reasonable scale. Where FFF.FFF is the repeater frequency in MHz Where Tnnn Rxxm is the tone and range in miles (or Rxxk for km). This puts the DTMF user on the worldwide APRS "map" as being in the area of this repeater or VOIP system and it also shows everyone what frequency and tone to use to contact you and it can also include any Echolink or IRLP node number, or even a reverse path phone number. The generic APRS touch tone symbol can have a user defined overlay digit of 0-9 as well for local application. See how these objects show up on an APRS map in the lower right area of this map: http://aprs.org/aprstt/aprstt-105.GIF APRStt SYMBOLS: There are two types of symbols in the APRStt system. One is the symbol used by the APRStt device or repeater itself. This is a green TT symbol so that users can see where the APRStt is located. The APRStt USER symbol also looks like a TT pad but they may also indicate an overlay byte. You may select your overlay byte something like this: 0 - default, no overlay 1 - house 2 - IRLP station 3 - Echolink station 4 - User defined 5 - TBD 6 - TBD 7 - walkie talkie or HT 8 - boat 9 - car or auto A - Z - as desired POSITION FORMATS: Positions, Comments, Text and Messages can be sent with APRStt. These are usually sent first, separated with a "*" key and then ended with sending the callsign from DTMF memory. All position formats begin with the "B" key, and the second digit indicates the "type" of position format. One, some or all position formats can be supported at each individual APRStt gateway depending on its exact applicaiton needs. FOr example, the 1 digit format can be interpreted as marathon mile marks, or for an XY grid as we did at Dayton 09. Here are the formats: B0* TBD B1xy* Posit in a 1 digit X,Y grid B2xxyy* Posit in a 2 digit X,Y grid (or 1 mile area) B3xxxyyy* Posit in a 3 digit X,Y grid (or 10 mile area) B4xxxxyyyy* Posit in a 4 digit X,Y grid (or 60 mile area) B5zzzmm* Posit at bearing zzz range mm miles B6EEENNN* UTM Grid for SAR in Easting and Northing B7IIIMMM* At Milemark MMM on interstate III B8........* TBD B9.........* TBD COMMENT TEXT OR STATUS: Just like in regular APRS text can be included in a position report. Such text is indicated with the starting "C" key. If the C key only has one digit following, then it is one of the 8 pre-defined comments already used by the Mic-E protocol below: C0* Off duty C3* Returning C6* Priority C9* Custom 2 C1* Enroute C4* Committed C7* EMERGENCY C2* In Service C5* Special C8* Custom 1 FREQUENCY TEXT: If the digits following the "C" key are exactly 6 numeric digits, then the interpretation of that string is as a frequency. It is gated to APRS as FFF.FFFMHz. STATUS TEXT: If the keys following the initial "C" key are anything else, then they are interpreted as status text to be added to the position report. For example: ...C4338063302803333D Would spell out to be "GET ME AT 3" and be captured on the global APRS system and available to Mom or Dad via either RF or on the FINDU.COM or other APRS systems. MESSAGE FORMATS: Messages all begin with the "D" key. And can normal APRS messaging and also emails!. THe exact formats here have not been defined yet. But to see the power of using DTMF messages from an HT at some special events, please see: http://www.aprs.org/aprsevent.html QUERIES TO APRSTT: This is how the APRStt user can ask for APRS information from the APRStt engine. Responses from sophisticated APRStt implementations respond by voice. But simpler systems might only respond in CW which will be painful for most users and so this is best left for the scope of the full document. NEAREST POSITION QUERIES: Responds with the nearest XX type of APRS object in your vicinity. Beyond the scope... POSITION RELATIVE QUERIES: Responds with the nearest XX type of APRS object near a "target" object. You can change the target. But again, this is Beyond the scope... SPECIAL EMAIL FORMATS: Clearly you can send an Email by DTMF just like you send it form a D7 HT. But this is Beyond the scope... RETRIES: Once an APRStt engine converts from DTMF to APRS, it needs to send the resulting packet a few times to make sure it is not lost in a collision. This is simply done by sending the packet using the standard APRS decay algorithm. THat is, once, then again, 16 seconds later, and again 32 seconds later, then a minute later, and then 2 minutes later. SETTING UP AN APRSTT GATEWAY REPEATER OR DEVICE ----------------------------------------------- Since the only thing that comes in on DTMF is the callsign in this simple example, and what has to go out is a full APRS packet, the APRStt gateway device has to insert several items into the packet. So these items have to be configurable by the APRStt sysop: GATEWAY Data: *FREQUENCY (the frequency it is listening on) *CTCSS Tone (if any) *USER POSIT (the location of the DTMF User List display on the map) *USER SYMBOL (the User's symbol on the map. See section below) *PATH (usually via WIDE1-1) *USER TEXT (any additional text on the end of the packets When a user DTMF identifier is heard, the APRStt will then decode the DTMF callsign and then use the above fixed data to build the resulting user packet and transmit it onto APRS using the OBJECT format. The packet header uses the FCC callsign (MYCALL) of the APRStt repeater or gateway device like this: MYCALL-12>APRStt,WIDE1-1 The packet data in OBJECT format would look like this: ;USER-12 *HHMMSS/DDMM.xxNVDDDMM.yyWtFFF.FFFMHz Tnnn Rxxm user text... Where USER-12 is the users DTMF callsign padded to 9 bytes Where HHMMSS is LOCAL time Where DDMM.xx and DDDMM.yy are lat and long Where V is the users overlay byte Where FFF.FFFMHz is the aprstt users frequency and tone Where Rxxm is the estimated rnage of the APRStt system DTMF USER LIST DISPLAY: As each new DTMF user identifies himeself, his exact LAT/LONG position is chosen so that his APRS symbol is displayed in a vertical LIST in the vicinity of the repeater. This usually means a fixed LONGITUDE which is chosen by the SYSOP to place this "list" on the map in a convenient location (east, west, above or below) so that it is in a map area where there will be few conflicts with other APRS icons. Then the latitude .xx digits are incremented or decremented to place each new user in the list above or below the callsign (or frequency) of the APRStt voice repeater symbol. Notice that the list only looks best at the designed zoom, so the sysop when setting up the list .XX offsets will need to choose the offset increment that gives the best LIST at the nominal ZOOM for that area. APRStt or DTMF USER SYMBOLS: We have selected the BOX symbol (with overlays) for all APRStt stations. APRStt PRESENCE ON APRS MAPS: Not only do the DTMF users show up on the APRS map, but the APRStt device also has to generate its own APRS position packet so that it also shows on the map. This object also has to be configurable by the APRStt sysop: *APRStt freq (this is the object name) *APRStt actual location LAT/LONG (center of the LIST display) *APRStt symbol (used in its own ID packet) *APRStt text...(included in its own ID packet) *APRStt Range (estimated useable range) These paramaters are used by the APRStt device to send out a local packet to place it on the map. This packet goes out once every 10 minutes DIRECT or LOCAL when it is not in use so that travelers can see it on their maps when they are in range, but when a local DTMF user identifies through this gateway, then this packet goes out an additional hop. The format of this APRStt's packet is the same one as used for FREQUENCY objects being promoted under the APRS local info initiative. Please see the web page: http://www.aprs.org/localinfo.html The packet header would look like this: MYCALL>APRStt,WIDE1-1 The packet data would look like this: :;FFF.FFFtt*111111zDDMM.xxN/DDDMM.yyWrTnnn Rxxm text... This packet assures that APRS users can see not only the APRStt users on their maps, but also the location of the APRStt device that is gateing them. (usually located at the center of the list) de WB4APR, Bob