<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Thanks John.  I've browsed the source and it looks helpful. Much
    appreciated.<br>
    <br>
    -- John<br>
    <br>
    On 04/08/2012 03:47 PM, John Gorkos wrote:
    <blockquote cite="mid:CBA74FC4.4AB8%25jgorkos@gmail.com" type="cite">
      <div>Please review the code found here:</div>
      <div><a moz-do-not-send="true"
          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-width: 1pt medium medium;
          border-style: solid none none; border-color: rgb(181, 196,
          223) -moz-use-text-color -moz-use-text-color; padding: 3pt 0in
          0in;"><span style="font-weight: bold;">From: </span> John
          Goerzen <<a moz-do-not-send="true"
            href="mailto:jgoerzen@complete.org">jgoerzen@complete.org</a>><br>
          <span style="font-weight: bold;">Reply-To: </span> TAPR APRS
          Mailing List <<a moz-do-not-send="true"
            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
            moz-do-not-send="true" 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 moz-do-not-send="true"
              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 moz-do-not-send="true" href="mailto:aprssig@tapr.org">aprssig@tapr.org</a>
        <a moz-do-not-send="true"
          href="https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig">https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig</a>
      </span>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
aprssig mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aprssig@tapr.org">aprssig@tapr.org</a>
<a class="moz-txt-link-freetext" href="https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig">https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig</a>
</pre>
    </blockquote>
  </body>
</html>