[aprssig] Sending objects to RF via APRS-IS

John Gorkos jgorkos at gmail.com
Sat Jan 8 08:35:22 EST 2011

On Friday, January 07, 2011 17:43:11 Lynn W. Deffenbaugh (Mr) wrote:
> John Gorkos wrote:
> > My question is, how do I properly structure an Object and send it via
> > APRS-IS such that a Tx-enabled I-Gate will broadcast that object on the
> > air?  What are the logical steps an IGate will go through to figure out
> > if an object it hears on APRS-IS should generate an RF-transmit?
> You don't.  There is no way to "causes the local I-Gate to send"
> anything at all.  Even a "properly configured" bi-direction IGate will
> only transmit what the IGate operator has configured it to transmit.  In
> most cases, the IGates will only transmit messages for stations that
> they have "recently" heard "local" to the IGate.  And the only thing
> that fits that category would be an "Item-In-Message"
> (http://www.aprs.org/aprs12/item-in-msg.txt) that (AFAIK) only
> APRSISCE/32 interprets and displays.
That's what I was afraid of.  I will implement WB4APR's suggestion for ITEM-
IN-MESSAGE and let that work through the system.

> > Incidentally, the AVRS server is periodically on-line as I work through
> > it. If you feel like pinging it, send a "?" to destination "AVRS". 
> > Right now, it only returns EchoLink nodes, but IRLP should be added in a
> > day or so (kudos to both Jonathon and David for being so accomodating
> > with my requests).
> Do you have a way to query EchoLink and/or IRLP node status within a
> geographical range?  I'd like to add that capability directly in my
> APRSISCE/32 client.  Right now, in the current development version as of
> about 2 days ago, it pulls the entire node_location.xml from
> echolink.org and runs it through a filter before putting the repeater
> objects onto the screen.
> Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32

Right now, the AVRS server periodically (5 minutes for EchoLink, 10 minutes 
for IRLP) polls the two services, pulls the XML files which you just 
referenced, and puts them into a spatially indexed Postgres table.  From 
there, it's just a query like this:
select ST_distance_sphere(a.position, e.position)/1609 as distance, 
e.callsign, e.node, astext(e.position), e.nodetype, e.tone, e.frequency from 
all_positions a, node_positions e where a.callsign=? order by distance asc 
limit 3;
all_positions is just a constantly UPDATED point object for everything heard 
So, the bottom line is that the network operators (EchoLink and IRLP) don't 
provide a "closest to" interface, but it would be trivial for me to add it.  
Contact me off list and we'll put together a quick XML query/response.  Right 
now, I'm hosting off a dedicated machine at the house (Comcast 25MB/s / 6MB/s 
connection), but eventually I'll put this in a Tier IV datacenter.
I've had great success in working with Jonathon and David WRT pulling data 
from their respective systems, and I want to publicly thank them.  David 
Cameron (VE7LTD) has been particularly kind in creating a custom XML page for 
me to mirror Jonathon's node_location.xml.  I'm not sure I'm at liberty to 
give out the URL, but you can probably contact him at dcameron at irlp.net for 

Shawn -  Everything is in Java.  Specifically, enterprise-style-bean Java 
where all fields are private and accessed via getters/setters.  I've rewritten 
large portions of the FAP parsers in Java (I have Message, Object/Item, and 
compressed, uncompressed, and MIC-E packets all being decoded into a clean set 
of objects).  All of the code is in SVN, and all is GPL.  Contact me off-list 
for SVN information (again, it's stored on my home server).  I'll make a 
general announcement once I've added the appropriate GPL headers and given 
proper attribution for the JavaFAP code that I've stolen from SourceForge and 
made work correctly.  Clearly, since it's in Java and written in library-
style, the potential to reuse the code on an Android platform exists.

John Gorkos

More information about the aprssig mailing list