[aprssig] APRS message-handling algorithms / libraries
jgoerzen at complete.org
Sun Apr 8 12:24:29 CDT 2012
I am looking to write some APRS software, and I'm hoping to avoid
re-inventing the wheel. I am particularly interested in libraries in
any cross-platform language (C, Perl, Python, Java, etc.) that can be
used to receive and generate APRS messages.
In my research, there are quite a few libraries that receive APRS
messages, but I have found none that are helpful with generating them.
This seems to be something with some complexity; such as:
* Splitting data up into packets of the appropriate size (APRSLink
for Winlink appears to somehow detect the type of device in use
and generates shorter messages for TH-D7A. Anyone know how to do
this, and what are the appropriate sizes for the D7A, D72A, 710,
* Processing/generating ACKs, REJs, etc.
* Proper timing for retransmit of packets that weren't ACKed.
None of this is hugely complicated, and the APRS spec is fairly clear on
the ACK, REJ, etc. process. The maximum message sizes appear to be
undocumented and I'm hoping someone can help me out there.
My project, incidentally, is to build a bidirectional APRS-XMPP bridge.
XMPP is the protocol behind the instant messaging tools such as Jabber
and Google Talk, and is available for free on every modern platform. In
the spirit of both amateur radio and the Free Software communities I'm a
part of, full source code to this project will be available. I actually
already wrote a much simpler piece of related software, letting someone
take a connected AX.25 session and bridge it to XMPP,  so I do have
some experience under my belt. This is obviously a more complex
project, but XMPP looks like an excellent way to bridge APRS to other
systems. I think it is a better fit than the email gateways out there,
and in fact, XMPP already has fields for carrying presence information
and location information with presence packets.
Are there any particular notes available to those implementing gateways
between APRS and non-APRS sources? I have taken note of what sites such
as OpenAPRS or Winlink do to validate people for access, and plan to do
something similar here.
 source code at https://github.com/jgoerzen/ax25xmpp
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the aprssig