Filter Commands

Hinweise zu den Filterkommandos:

  • Port 14580 des APRS-Servers ist unter Benutzung von „User-Filtern“ bevorzugt zu connecten. Damit kann der Datenverkehr in vernünftigen Grenzen gehalten werden.
  • Der APRS-Server liefert nach dem Connect erst Daten, wenn ein „User-Filter“ eingestellt wird.
  • Auf der Serverstatus-Seite kann man den Verbindungs-Status und die wirksamen Filter sehen ( http://erfurt.aprs2.net:14501/ )
  • Wird ein User-Filter mit der Distanz von Standort gewählt (z.B. m/100 = 100km um den Standort), muss erst ein Bake mit der aktuellen Position gesendet werden, bevor Daten empfangen werden können.
  • Als Beispiel ein Test in der „Eingabeaufforderung“ von Windows: (Telnet muss in Windows installiert sein)
                telnet db0erf.de 14580                          1. Zeile: Öffnen des Port 14580 bei dem APRS-Server  db0erf
                user DeinCall                                       2. Einloggen mit Deinem Call
                #filter r/51/11/150                                 3. ein Filter definieren : Radius von 150km um Standort 51° N. und 11° O = Erfurt

  • Connect only to port 14580 of a server to use a custom filter
  • Check the server's status page to see your connection status and filter ( e.g.: http://erfurt.aprs2.net:14501/ )
  • If you use a filter like "m/dist",  based on your own location, you have to send a position beacon in order to receive data from the server
  • If you download "filter.txt", you can replace the outdated version in your UI-View32/Docs directory.

 

The following are the filter commands supported. Note these commands are additive (m/50 t/t means packets from stations within 50 km of my station AND all telemetry packets).

 

You can prevent the filter from passing certain packets by prefixing the filter parameter with a hyphen (-). This tells the filter to approve any packets that match the include filters except those that match the exclude filters. Standard port functionality such as messaging for IGates is not affected.

 

For instance, to get all stations within 200 km of me except stations with the prefix of CW, I would use: filter m/200 -p/CW

 

The filter command may be set as part of the login line, as an APRS message to SERVER, or as a separate comment line (#filter r/33/-97/200). The preferred method is to set the command as part of the login which is supported by most current APRS software.

 

#1   r/   Range filter

The range filter will pass all stations and objects within a distance from a set location. It will also pass messages to stations within the filter and positions of the message sender even if they are outside the range. Up to 9 range filters can be used at the same time to extend the areas when you have problem to find a good circle match.

Syntax: r/lat/lon/dist [r/lat1/lon2/dist2 [[r/lat2/lon2/dist2]]

Where: r = range command, lat = latitude in degrees. Negative for south, lon = longitude in degrees. Negative for west, dist = distance in kilometers from lat/lon.,

Samples:
r/55/-4/600        This will pass all traffic for the UK
r/37/-81/1500    This will pass all traffic in the eastern half of the US.

From V3.0 lat and lon can be in decimals. E.g. 58.5

 

#2   p/   Prefix filter

Note: This filter is kept for backwards compatibility. The Budlist filter now support this functionality. (from V 1.4)

The prefix filter will pass traffic based on if the sender's call starts with a specific pattern.

Syntax: p/p1/p2/p3...

Where: p = prefix command , p# = The prefix (starting) pattern

Samples:
p/K                  This will pass all traffic from stations starting with K
p/SK/F             This will pass stations starting with either SK or F
p/SM5NRK       This will pass all traffic from SM5NRK and any SSID at the end

 

#3   b/   Budlist filter

The budlist filter will pass traffic based on exact match of the sender's call or call starts with a specific pattern (from V 1.4). Also the SSID is part  of the exact match.

Syntax: b/call1/p1*/call3/p2*...

Where: b = budlist command.  call# = The prefix (starting) pattern, p# = The prefix (starting) pattern

Samples:

b/SM5NRK                   This will pass all traffic from SM5NRK without any SSID
b/SM5NRK-5/SK5UM    This will pass all traffic from SM5NRK-5 and from SK5UM
b/K*                             This will pass all traffic from stations starting with K
b/SM5NRK/F*               This will pass all traffic from SM5NRK and all stations starting with F

 

#4    t/   Type filter

The type filter will pass traffic depending on the packet type. More than one type can be defined in one single command.

Syntax: t/type
           t/type/call/dist

Where: t = type command
type is one or more of the following letters

p = Position packets, o = Objects, i = Items, m = Message, n = NWS Weather and NWS Area Objects, w = Weather, t = Telemetry, q = Query, s = Status, u = User-defined, call = call of a station or object, dist = distance in km from call to pass this type

Samples:
t/p
                    This will pass all traffic with a position
t/w                   This will pass all weather traffic. For positionless weather objects the corresponding position packet will also be sent when it is next heard
t/mos               This will pass all messages, objects and status traffic
t/p/SM5NRK/500           Pass all position packets within 500 km from last known position of SM5NRK

Remember that the APRS message must start with the word filter and then the commands.

The above filters can be combined as explain above. Each filter will however working independent of the others, for example:

filter r/63/16/1000 r/55/-4/600 p/F b/AE5PL t/s

The above filter will pass all traffic within Nordic (range#1) AND UK (range#2) AND stations starting with F (prefix) AND from AE5PL (budlist) AND all status traffic (type).

 

#5   s/   Symbol filter

The symbol filter will pass traffic based on the symbol in the packet.

Syntax: s/pri/alt/over

Where: s = symbol command, pri = symbols in primary table, alt = symbols in alternate table, over = overlay character (case sensitive !)

Samples:
s/->      This will pass all House and Car symbols (primary table)
s/#/#     This will pass all Digi with or without overlay; i.e. positions in both primary and secondary symbol table are specified.

s//#/T   This will pass all Digi with overlay of capital T

The APRS symbol chart to show the letters that correspond to particular symbols is here:  
APRS Symbol Chart 

 

#6   d/   Digipeater filter

The digipeater filter will pass all packets that have been digipeated by a particular station(s). Remember that a packet can many time go different routes to get to APRS-IS and might be digipeated by other stations that is shown. These packets are filtered out by various filters/application as duplicates. More that one digipeater can be entered and each are OR together.

Syntax: d/digi1/digi2...

Where: s = digipeater command, digi# = digipeater call

Samples:
d/SM5NRK-2                Pass all packets digipeated by SM5NRK-2
d/SM5NRK-2/SK5UM    Pass all packets digipeated by SM5NRK-2 or SK5UM
d/SM*/SK*/SL*             Pass all packets that have been digipeated by a digi in Sweden

 

#7   a/   Area filter

The area filter works the same as range filter but the filter is defined as a box of coordinates. The coordinates can also been seen as upper left coordinate and lower right. South and west are negative. Up to 9 area filters can be defined at the same time.

Syntax: a/latN/lonW/latS/lonE

Where: a = area command, latN = North latitude border (-90 to 90), lonW = West longitude border (-180 to 180), latS = South latitide border (-90 to 90), lonE = East longitude border (-180 to 180)

Sample:
a/50/-130/20/-70            This will pass all traffic in US

From V3.0 onward,  lat and lon can be in decimals. E.g. 58.5

 

#8   q/   q Construct filter

The q Construct filter will base all filtering on the q Construct used on the APRS-IS. For more information about q Contract look here: http://www.aprs-is.net/q.htm

Syntax: q/con/ana

Where: q = q Construct command, con = list of q Construct to pass (case sensitive), ana = analysis based on q Construct., i = Pass positions from IGATES identified by qAr or qAR.

Sample:
q/C       Pass all traffic with qAC
q/rR     Pass all traffic with qAr or qAR
q//I       Pass all position packets from IGATES indentified in other packets by qAr or qAR

 

#9  o/   Object filter

Same as BudList but acts on the object names instead of sender's call.

Syntax: o/name1/n2*/name3/n3*...

See Budlist for more information

 

#10   m/   My Range filter

The my range filter will pass all stations and objects within a distance from your own station. It will use the location sent for the same call as you used when you logged onto the server. This can be useful if you have an mobile station with internet connection, or a stationary station with an Internet-only (no radio and TNC) It will then always pass the local stations around you, no matter where you are.

Note: This will not work until a valid position has been sent from the same call-ssid you used when you logon to the server.

Syntax: m/dist

Where: m = my range command, dist = distance in kilometers from lat/lon.

Samples:
m/500              This will pass all traffic within 500 km from my location.

 

#11   f/   Friend Range filter

The friend filter works the same as My range filter, except you define which call-ssid should be used (see more above). Up to 9 friend filters can be defined. This is a moving filter so it follows the call-ssid last known position.

Note: This will not work until a valid position has been sent from the call-ssid defined.

Syntax: f/call/dist

Where: f = friend range command. call = call to be used as center of the range. dist = distance in kilometers from lat/lon.

Samples:
f/SM5NRK/500      This will pass all traffic within 500 km from SM5NRK's last position.

 

#12   e/   Port (Igate) of Entry Filter

This filter will pass packets which match the Call & SSID that follow immediately after the q-construct; i.e. the call of the igate that took the packet off RF and inserted it into the Internet system. This filter supports wildcards.

Syntax: e/call/call/call*...

 

#13   u/   Unproto Address  Filter

This filter will pass packets which match the Unproto (or destination field) in the packet. This filter supports wildcards. This filter would be useful to extract packets from "altnets" using non-standard destination addresses for an organized activity, while  ignoring "normal" packets heard by the same digipeaters and igates.

Syntax: u/text/text/te*...

 Exclusion filter

All the above filters also support exclusion. Be prefixing the above filters with a dash the result will be the opposite. Any packet that matches the exclusion filter will NOT pass. The exclusion filters will be processed first so if there is a match for an
exclusion
then the packet is not passed no matter any other filter definitions.

The exclusion filter is especially valuable to prevent APRS maps from being flooded with the thousands of non-RF non-ham CWO (Citizens Weather Observer) stations that share the APRS Internet system with licensed amateurs.

Samples:
a/50/-130/20/-70 -b/CW*            The area filter says to pass all traffic in US. The -b filter says to exclude any stations that starts with CW.
a/50/-130/20/-70 -s/>j                The area filter says to pass all traffic in US. The -s filter says to exclude any stations with Car or Jeep symbols.

 

#14 Table

Below are the available filters in a table…(asterisk (*) wild cards are only allowed to indicate a prefix; highlighted => new with 4.0):

 

Parameter

Filter Type

Description

r/lat/lon/dist

Range filter

Pass posits and objects within dist km from lat/lon. lat and lon are signed decimal degrees, i.e. negative for West/South and positive for East/North. Up to 9 range filters can be defined at the same time to allow better coverage. Messages addressed to stations within the range are also passed.

p/aa/bb/cc...

Prefix filter

Pass traffic with fromCall that start with aa or bb or cc...

b/call1/call2...

Budlist filter

Pass all traffic from exact call: call1, call2, ... (* wild card allowed)

o/obj1/obj2...

Object filter

Pass all objects and items with the exact name of obj1, obj2, ... (* wild card allowed) (spaces not allowed) (| => / and ~ => *)

Os/obj1/obj2...

Strict Object filter

Pass all objects and items with the exact name of obj1, obj2, ... (* wild card allowed) (| => / and ~ => *) Objects are always 9 characters and Items are 3 to 9 characters. There can only be one o filter and that filter must be at the end of the line.

t/poimqstunw

t/poimqstuw/call/km

Type filter

Pass all traffic based on packet type. One or more types can be defined at the same time, t/otq is a valid definition.

p = Position packets o = Objects i = Items m = Message q = Query s = Status t = Telemetry u = User-defined n = NWS Weather & Weather Objects w = Weather

Note: The weather type filter also passes positions packets for positionless weather packets.

The second format allows putting a radius limit around "call" (station callsign-SSID or object name) for the requested station types.

s/pri/alt/over

Symbol filter

pri = symbols in primary table (| => /) alt = symbols in alternate table (| => /) over = overlay character (case sensitive)

For example: s/-> This will pass all House and Car symbols (primary table) s//# This will pass all Digi with or without overlay s//#/T This will pass all Digi with overlay of capital T

d/digi1/digi2...

Digipeater filter

The digipeater filter will pass all packets that have been digipeated by a particular station(s) (the station's call is in the path). This filter allows the * wildcard.

a/latN/lonW/latS/lonE

Area filter

The area filter works the same as rang filter but the filter is defined as a box of coordinates. The coordinates can also been seen as upper left coordinate and lower right. Lat/lon are decimal degrees. South and west are negative. Up to 9 area filters can be defined at the same time.

e/call1/call1/...

Entry station filter

This filter passes all packets with the specified callsign-SSID(s) immediately following the q construct. This allows filtering based on receiving IGate, etc. Supports * wildcard.

g/call1/call1/...

Group message filter

This filter passes all message packets with the specified callsign-SSID(s) as the addressee of the message. Supports * wildcard.

u/unproto1/unproto2/...

Unproto filter

This filter passes all packets with the specified destination callsign-SSID(s) (also known as the To call or unproto call). Supports * wildcard.

q/con/ana

q Contruct filter

q = q Construct command con = list of q Construct to pass (case sensitive) ana = analysis based on q Construct.

I = Pass positions from IGATES identified by qAr or qAR.

For example: q/C Pass all traffic with qAC q/rR Pass all traffic with qAr or qAR q//I Pass all position packets from IGATES identified in other packets by qAr or qAR

m/dist

My Range filter

This is the same as the range filter except that the center is defined as the last known position of the logged in client.

f/call/dist

Friend Range filter

This is the same as the range filter except that the center is defined as the last known position of call. Up to 9 friend filters can be defined at the same time.