<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; "><div>Please review the code found here:</div><div><a href="https://github.com/ab0oo/javAPRSlib">https://github.com/ab0oo/javAPRSlib</a></div><div>The multi-part message capability isn't in there, but the ability to encode and decode messages is.</div><div>Let me know if you'd like any help implementing or testing.</div><div><br></div><div>John Gorkos</div><div>AB0OO</div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> John Goerzen <<a href="mailto:jgoerzen@complete.org">jgoerzen@complete.org</a>><br><span style="font-weight:bold">Reply-To: </span> TAPR APRS Mailing List <<a href="mailto:aprssig@tapr.org">aprssig@tapr.org</a>><br><span style="font-weight:bold">Date: </span> Sun, 08 Apr 2012 12:24:29 -0500<br><span style="font-weight:bold">To: </span> <<a href="mailto:aprssig@tapr.org">aprssig@tapr.org</a>><br><span style="font-weight:bold">Subject: </span> [aprssig] APRS message-handling algorithms / libraries<br></div><div><br></div><div>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<div bgcolor="#ffffff" text="#000000">
Hi folks,<br>
<br>
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.<br>
<br>
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:<br>
<ul>
<li>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?)</li>
<li>Processing/generating ACKs, REJs, etc.</li>
<li>Proper timing for retransmit of packets that weren't ACKed.</li>
</ul>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Thanks,<br>
<br>
-- John<br>
KR0L<br>
<br>
[1] source code at <a class="moz-txt-link-freetext" href="https://github.com/jgoerzen/ax25xmpp">https://github.com/jgoerzen/ax25xmpp</a><br>
<br>
</div></div>
_______________________________________________
aprssig mailing list
<a href="mailto:aprssig@tapr.org">aprssig@tapr.org</a>
<a href="https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig">https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig</a>
</span></body></html>