<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body 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>
  </body>
</html>