APRS Digipeatersoftware DIGI_NED
Bookmark This site

Digipeating basics

In APRS the digipeater-path is constantly manipulated. An APRS station uses generic calls in the "via"" list, such as 'RELAY', 'TRACE', 'WIDE' etc., which will be picked up by the digipeater, replaced by the digipeaters own callsign and retransmitted. The clue is that an APRS station doesn't need to know which name a nearby digipeater has. The station just sends its frame with 'WIDE' in the via path and any digipeater in the area that responds to 'WIDE' will pick it up; there can be more digipeaters who do this at the same time.

The WIDEn-N format needs some special handling which is done by so called "intelligent" digipeaters such as DIGI_NED. When a station starts with a digipeater like WIDE5-5 in the via path, the first "intelligent" digipeater that takes this frame will be change the call to WIDE5-4 as soon as it passes it. On the second "intelligent" digipeater it will become WIDE5-3 and so on until after the 5th digipeater the call has become WIDE5-0 (in other words WIDE5). Then the "digipeated" bit will be set (visible in most monitors by a '*' indication) and the next digipeater call in the via list will become due. TRACEn-N works similar. There is a lot to talk about this but that's out of context here. The default DIGI_NED.INI file executed the intelligent digipeating rules as we think they are meant to be.

The behavior has been verified with the APRS SIG on http://www.tapr.org.

Lets just look how this works using one rule from the DIGI_NED.INI file:

This means: digipeat packets that arrive via port one and where the name of the digipeater that should be handled is 'RELAY' and send those back out via port two. For example an incoming frame via port 1:

from 1: PE1DNN > APRS via PE1MEW-2*, RELAY, WIDE

This frame was already digipeated by PE1MEW-2, the next digipeater in the via list is RELAY and that matches with the call in the digipeat: rule; this one should go to port two. In the digipeat rule nothing is specified after the '2', this is 'normal' digipeating. In that case

the call is substituted by the digipeater call, e.g. PE1DNN-2. The transmitted frame to port 2 becomes:

to 2: PE1DNN > APRS via PE1MEW-2*, PE1DNN-2*, WIDE

That will be transmitted. Port specification 'all' means 'from all ports' and 'to all ports' So:

When receiving a frame from port 1:

from 1: PE1DNN > APRS via PE1MEW-2*, RELAY, WIDE

this will be transmitted using this rule:

to 1: PE1DNN > APRS via PE1MEW-2*, PE1DNN-2*, WIDE
to 2: PE1DNN > APRS via PE1MEW-2*, PE1DNN-2*, WIDE

So transmission will be to both output ports when there are two (the number of ports depends on how may hardware ports are setup in AX25_MAC).

You can do all kind of manipulation on the digipeater path, such as replacement with a completely new path, addition of digipeater calls to the via list etc. You can even handle digipeaters out of order or create a simple 'cluster'. What you can do is explained in the comment in the the appendix: DIGI_NED configuration examples. Be warned, it is a lot! Your imagination has to do the rest. The verbose output and logging are helpful to analyze your experiments.

powered by cmsimple.dk | cmsimple-styles.com template modified by PE1MEW