v1.17.0 — APRS-Native Discovery: Query the Registry Over Radio

Sprint 4: APRS-Native Discovery

The registry's unique differentiator is here: **radio-only users can now query the service registry by messaging RGSTRY directly over APRS** — no internet connection required on the querying station.

How It Works

Any ham can send a message to RGSTRY (the registry's callsign) over APRS-IS or RF, and receive responses back as standard APRS messages. All replies fit within the 67-character APRS message limit.

Supported Commands

| You Send | RGSTRY Replies | |----------|----------------| | ? or help | Service count + available commands + web URL | | list | Paginated comma-separated callsigns (up to 5 pages) | | list 2 | Just page 2 | | list weather | Only services in the "weather" category | | find <keyword> | Matching callsigns (searches callsign, description, software) | | info REPEAT | Description, owner, and status for a service | | cmds REPEAT | Command catalog registered by that service |

Design Constraints

  • 67-char limit: Every response fits in a single APRS message frame
  • Rate limiting: 1 query per 60 seconds per calling station (prevents flooding)
  • Pagination: list auto-splits across multiple messages, capped at 5 pages — beyond that, use find <keyword>
  • Only responds when addressed: No auto-blast; only replies to messages directed at the registry callsign
  • SSID-agnostic: Addressing RGSTRY or RGSTRY-10 both work

Example Exchange

WB4BOR > RGSTRY: help
RGSTRY > WB4BOR: RGSTRY:29 svcs.Cmds:list,find,info,cmds.Web:services.aprslive.com

WB4BOR > RGSTRY: find weather
RGSTRY > WB4BOR: Found:WXBOT,WXNOW,WXYO

WB4BOR > RGSTRY: info WXBOT
RGSTRY > WB4BOR: WXBOT: Weather bot Owner:WB4BOR Status:active

Technical Details

The implementation hooks into the existing _global_rx_callback in the persistent APRS-IS consumer thread. When a message addressed to the registry callsign arrives, it's dispatched to the new command_responder module which parses the command, queries the database, and sends paginated MessagePacket replies back through the existing APRSD send infrastructure.

No new dependencies — Sprint 4 builds entirely on the existing APRSD client and database layer from Sprints 1–3.

← All posts