[aprssig] APRS message-handling algorithms / libraries

Lynn W. Deffenbaugh (Mr) ldeffenb at homeside.to
Sun Apr 8 14:27:50 CDT 2012

Please consider that the APRS channel is 1200 baud and shared in any 
given area.  I considered a Skype chat IM to APRS gateway early on, but 
it is trivially easy to completely overwhelm the APRS channel with just 
a simple 2 or 3 person keyboard chat.

Going from APRS to IM is easy, the RF side is initiating and providing 
the throttle.  Going from IM to APRS is my concern, in additional to the 
authentication that "friend B" may not be a licensed amateur, even 
though approved by "friend A" who may be.  Friend B is still not 
entitled to transmit on amateur frequencies, and it's not "friend A" 
taking the license risk, it's the IGate operator in "Friend A"'s 

Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32

On 4/8/2012 1:24 PM, John Goerzen wrote:
> Hi folks,
> 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,
>     and VX-8GR?)
>   * 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, [1] 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.
> Thanks,
> -- John
> KR0L
> [1] source code at https://github.com/jgoerzen/ax25xmpp
> _______________________________________________
> aprssig mailing list
> aprssig at tapr.org
> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/aprssig/attachments/20120408/b34190b2/attachment.html>

More information about the aprssig mailing list