[aprssig] AVRS Online

John Gorkos jgorkos at gmail.com
Sat Jan 15 11:02:04 EST 2011

Great feedback from everyone that tried the system last night.  I appreciate 
it.  I'm summarizing multiple responses here, so please bear with me.

On Saturday, January 15, 2011 19:19:40 Lynn W. Deffenbaugh (Mr) wrote:

> a) Does a ? have to request an ack to be answered?
Since the "?" is a directed message, the spec calls for AVRS to ACK the 
original query message, and for the querying station to ACK the response from 
AVRS.  AVRS is pretty stupid about ACKS right now.  It sends a message with an 
integer 3 digit message ID, and listens for 10 seconds for your ACK.  If it 
doesn't hear an ACK, it sends the message again, two more times, with 10 
second intervals.  It will never send more than three messages.

> b) I believe you're going to need a way to register and recall 
> "preferred" -SSID(s - more than one)) for a callsign.  Or you'll need to 
> blast the message out to all "recently" heard -SSIDs for the call.
In my announcement, I mentioned this:
" I'm  working on an algorithm to make the selection based on SSID, stations 
that are moving, stations that have a history of RF messages, stations that 
indicate message-capable based on = or @ in their positions, etc."
So yes, right now the decision of which SSID to send to is fairly stupid.  As 
I get more data, I hope to refine that.  If a station uses /#, or /0-9, or \0 
as it's APRS symbol, it probably isn't a good messaging target.  Likewise if 
the position code indicates a target is not message capable, we shouldn't send 

> d) The "Total path length" doesn't seem like it matters.  I'd really 
> like to know my end's distance and maybe an advisory of the other side.  
> But the total doesn't affect what's usable, only the power, band, and 
> range of one end or the other.
I'd like to calculate range rings for nodes.  Echolink has the data, but AFAIK 
IRLP doesn't.  I haven't even gotten to WIRES and D-STAR yet.  Total path 
length is really just an internal number that allows me to say "Station A is 
22 miles for an Echolink Node and 12 miles from an IRLP node, station B is 20 
miles from an Echolink node and 20 miles from an IRLP node.  Overall, the path 
length for Echolink is 42 miles and 32 miles for IRLP, so let's use IRLP."  
No, it doesn't take into account frequency (440 should have about a .75 range 
modifier), or terrain, or anything else.  Better algorithms welcome.

> f) I didn't try it, but what happens if I send in a CALLSIGN-SSID?  Does 
> that skip over the auto-SSID selection and only do the station I 
> specify?  If so, how would you get the auto-SSID selection to kick in if 
> I'm running a non-SSID (-0) station that is also unattended?
If you give a callsign complete with SSID, that's the one AVRS sends the 
message to.  If you send just a base callsign, it will try to figure it out 
for you.  It would be possible to just send a message to ALL callsigns as a 
last resort, but do we really want that RF spam?  As for running a non-
attended SSID-0 station... um, don't do that?  I don't know.  It's a corner 
case I don't have an answer for, but would welcome suggestions.

> I mentioned before wondering what happens if I specify an -SSID to
> contact, so from KJ4ERJ-AP I sent "KJ4ERJ-12".  Here's what I got:
> 00:05:56> KJ4ERJ-12 (*2-00:05:56)
> 00:05:56< VOICE CALL from KJ4ERJ-AP, PSE QSY 444.700MHz T77.00
>         < CALL KJ4ERJ-AP on 444.700MHz T77.00 IRLP node 4853
> Yep, I'm supposed to call myself on echolink.  But that pointed out a
> question, why does the "VOICE CALL" not include the indication of
> network (IRLP) or node (4853), but the "CALL" message does?
Because the called station doesn't care what internet linking mechanism is 
used, but the CALLER needs to know, because the methods for establishing a 
link vary between EL and IRLP.  The called station doesn't need to DO  
anything to the node to receive the call.
> BTW, I've looked at AVRS's messages at
> http://aprs.fi/?c=message&call=AVRS&limit=50 and it appears that ? isn't
> being answered for anyone?
Yeah, I'm seeing that.  During the last refactor, I commented out the actual 
"transmit" code.  Derp.

From Keith, VE7GDH, I got this:
> I see that Lynn got something back, but I've tried a couple a couple
> of times and didn't seem to get a response. The closest IRLP node
> is about 20 feet away. I've also tried ? <callsign>.

I think my last answer to Lynn might have answered this, also, for Echolink I 
only use -R (repeater) nodes.  For IRLP, all IDLE nodes are valid.

> I tried again. It appears that the AVRS server is case sensitive. When I
> sent "ve7gdh" I was told "ve7gdh out of range of internet node". I tried
> with VE7GDH again and this time it responded with the closest node. Perhaps
> it was because my node was connected to a reflector earlier. Yup... that was
> it.

I fixed the case sensitivity issue.  toUpper() is pretty simple to insert.  :)

Finally, from Dennis Barton, WB8SKP:
>  Maybe if we send something to tell AVRS what band we were on?

This is a good suggestion that we can work with.  Using multiple targets 
(APRS-2, APRS-4) to designate the caller only wants a certain band, and 2-
<CALLSIGN> and 4-<CALLSIGN> to designate the target's band.  The problem is 
really one of imperfect knowledge.  AVRS can't really know what bands you're 
active on, and if I'm calling Dennis, for example, I don't know what bands he 
can use, either.  I just know I want to talk to him.  Of course, once we've 
gotten this far, we have established the fact that the CALLER can get to AVRS, 
AVRS can get to the CALLER (i.e. we have a 2-way IGATE on the initiators side) 
AND AVRS can get to the CALLEE and vice-versa (i.e. we have a two-way IGATE on 
the target side).  If that's the case, the callee can simply send an APRS 
message to the caller saying "Unable to QSY to 1280 MHz, pse try EL NODE 
1235".  Remember, APRS is simply a signalling channel used to facilitate a 
link between distant stations.  Unless we extend the "protocol" to have 
stations beacon their capabilities, or use auto-responders on our radios send 
a capability message back, at the end of the day it's a crap shoot. :)

I'll also add something in there that detects if the caller node and target 
node are the same.  If they are, I'll send a "just contact direct" message.

> e) T77.00?  How about formatting the tone as specified in the FreqSpec 
> documents?  I know it eliminates the decimals, but it's a format that's 
> been established, is QSY-able on some radios, and we can train ourselves 
> on what to expect.  Unfortunately, EchoLink (I don't know about IRLP) 
> doesn't differentiate wide versus narrow band FM so the difference 
> between a T and a t (case difference) on the tone spec won't matter (yet)
This is purely a direct pull from the node listings.  Echolink is pure:  it 
uses an integer to represent the "proper" format of tone.  IRLP is a freaking 
mess.  Here's a sample from the "ctcss" field in the IRLP XML:
5A  156.7
DCS 025 
107.2 1B
162.2 hz
DCS 411
103.5 (Hz)
What am I supposed to do with that mess?  The correct answer is "get IRLP 
registration fixed", but clearly that's outside of my scope.  I attempt to do 
some formatting with the string I get from the DB, but the bottom line is it's 
a total crap shoot what tone a given repeater is going to have.  Since this is 
all open-sourced, I seriosly welcome any attempts to parse and make sense of 
the IRLP tone fields.

More information about the aprssig mailing list