Discussion:
Sending objects to RF via APRS-IS
John Gorkos
2011-01-06 19:12:46 UTC
Permalink
Hello-
I'm working on implementing WB4APR's vision of AVRS, as described here:
http://www.aprs.org/avrs.html

So far, I have had a good deal of success and have about 2500 lines of code
written that monitor the APRS-IS stream, track node status for both echolink
and IRLP, and maintain real-time position information for active APRS
stations. I also have working CMD/ACK code for commands sent to the AVRS
daemon via the APRS-IS stream.
One of the requirements spelled out in the avrs.html "spec" is that IRLP and
Echolink nodes will show up as Objects on the users' radio. Here is a sample
use case:
John, AB0OO is driving in an unfamiliar city and wishes to make an Echolink
connection to his home repeater. He sends a "?" query to "AVRS" via APRS, and
the AVRS server causes the local I-Gate to send two APRS objects (actually,
items) with the position and QSY information for the two closest EchoLink
nodes. He then selects one of those objects, hits the Tune button on his
D710, and his radio QSYs to the local echolink frequency with correct offset
and tone. He is then able to connect to his home repeater over echolink.

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?

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

John Gorkos
AB0OO
Lynn W. Deffenbaugh (Mr)
2011-01-07 22:43:11 UTC
Permalink
Post by John Gorkos
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.
Post by John Gorkos
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
Post by John Gorkos
John Gorkos
AB0OO
_______________________________________________
aprssig mailing list
https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig
Robert Bruninga
2011-01-08 00:00:37 UTC
Permalink
Post by Lynn W. Deffenbaugh (Mr)
Post by John Gorkos
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...
You don't. There is no way to "causes the local
I-Gate to send" anything at all.
But in APRS1.2 we have defined what we call ITEM-IN-MESSAGE
format. It DOES let you send an object within a message to a
particular station. This feature is exactly for the purpose you
desire. The AVRS system will respond with such an object so
that the messaged-station gets the FREQ-object info on his
radio.

You can SEND it now. The Igate WILL send it out to RF. But
until APRS clients and radios begin recognizing it, it more or
less falls on the ground. But please begin sending it. See
www.aprs.org/aprs12.html

Then I can convince YeaWood to include it.

Bob WB4APR
John Gorkos
2011-01-08 13:35:22 UTC
Permalink
Post by Lynn W. Deffenbaugh (Mr)
Post by John Gorkos
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.
Post by Lynn W. Deffenbaugh (Mr)
Post by John Gorkos
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
on APRS-IS.
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-ibi8gOuu+***@public.gmane.org for
access.

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
AB0OO

Shawn Stoddard
2011-01-08 01:48:18 UTC
Permalink
What is it written in?

Sent via DROID on Verizon Wireless

-----Original message-----
From: John Gorkos <jgorkos-***@public.gmane.org>
To: aprssig-***@public.gmane.org
Sent: Fri, Jan 7, 2011 22:35:14 GMT+00:00
Subject: [aprssig] Sending objects to RF via APRS-IS

Hello-
I'm working on implementing WB4APR's vision of AVRS, as described here:
http://www.aprs.org/avrs.html

So far, I have had a good deal of success and have about 2500 lines of code
written that monitor the APRS-IS stream, track node status for both echolink

and IRLP, and maintain real-time position information for active APRS
stations. I also have working CMD/ACK code for commands sent to the AVRS
daemon via the APRS-IS stream.
One of the requirements spelled out in the avrs.html "spec" is that IRLP and

Echolink nodes will show up as Objects on the users' radio. Here is a
sample
use case:
John, AB0OO is driving in an unfamiliar city and wishes to make an Echolink
connection to his home repeater. He sends a "?" query to "AVRS" via APRS,
and
the AVRS server causes the local I-Gate to send two APRS objects (actually,
items) with the position and QSY information for the two closest EchoLink
nodes. He then selects one of those objects, hits the Tune button on his
D710, and his radio QSYs to the local echolink frequency with correct offset

and tone. He is then able to connect to his home repeater over echolink.

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?

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

John Gorkos
AB0OO
Loading...