[aprssig] Short paths in APRS packets

Wes Johnston, AI4PX wes at ai4px.com
Tue Oct 27 12:53:18 EDT 2009

You'll need to know the nuts and bolts of ax.25 if you are building the raw
frames (packets) that would be sent/received from a TNC in KISS mode.  If
you look at the text output, all TNCs perform some (ahem) readability
enhancements by chopping off the padded space characters in callsigns
shorter than 6 characters.  The SSID is stored in a separate byte and the
TNCs append a "-" and the number to the end of the callsign.  So there is no
"-" in the callsign portion of the ax25 header.  The SSID is a whole 'nother

Also, there is a difference in the way that KPC brand TNCs and TAPR derived
TNCs mark the "has been digipeated" flag.  I can't rmeember which way it
goes but one of them marks each digipeater path element as digipeated, the
other kind marks only the /last/ digpeater element.  You have to be tolerant
of this when you write code to accept these frames off air.

A word of caution when dealing with KISS frames.  Once you construct your
ax25 frame you'll have to check it for $c0 characters.  If one appears in
the frame you have to use the FESC and FEND characters to transpose it.
Otherwise the TNCs will think you are at the end of a frame just because $c0
appears somewhere in your data.  Then you send $c0, $00 (or port number -
which is usually 0 anyway) <your packet here> $c0.


On Tue, Oct 27, 2009 at 11:46, Greg Clark <K7RKT at bigredbee.com> wrote:

> I have two questions regarding building up AX.25 packets.
> 1) If the "path" fields are shorter than 7 characters, what do they
> get padded with. Spaces?  Nulls?  Most "common" paths don't have this
> problem, since WIDE3-3 is seven characters.  I'm trying to configure
> my tracker for use with the ISS using the paths ARISS and SGATE, and
> I'm not sure what to put in the two remaining bytes when I build the
> packets.  I'm asuming this field is fixed in length at 7 characters.
> 2) What about the '-' in the path WIDE3-3, is it really a 'dash' in
> the packet? or is it a "space".  I'm pretty sure that at this point in
> time, I'm sending a "space", but not sure if that's the correct way to
> build the packet.  It does, however, seem to be working properly as
> is.
> Yes, I am aware that everything needs to be shifted left by one  bit,
> and the last entry in the string of paths has the least significant
> bit set.
> Thanks,
> Greg K7RKT
> _______________________________________________
> aprssig mailing list
> aprssig at tapr.org
> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig

God help those who do not help themselves.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/aprssig_lists.tapr.org/attachments/20091027/92b68297/attachment.html>

More information about the aprssig mailing list