<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>