2

 3.1 javAPRSFilter Users Guide.

 New in 3.1 Release
 1) All call signs are now case sensitive
 2) New Port of entry filter E
 3) new Unproto filter U
 4) D-filter now allow wildcard
 5) New filter command "filter default"
 6) T-filter now support distance from a station or object

 Introduction:
 The APRS-IS full feed today have a lot of traffic and require a high
bandwidth, in particular for the APRS-IS server sites, but also for some of
you that connect that are only interested in the particular traffic. To
accommodate this a number of servers have special regional feeds which
filter the traffic. There are also some weather specific feeds available.
But all these are setup according to what the server operator "thinks" will
be good for the users. Now we can take this one step further.

 Now will each of you be able to select what traffic you are interested in
and the server will create a unique feed for you. There is great flexibility
to construct your personal feed.


 How does it work?
 Pete Loveall AE5PL have written the APRS-IS server software javAPRSSrvr in
java which is used by a number of servers. Pete has been kind to create some
hooks into his server software so I have been able to write a filter add-on,
javAPRSFilter (also in java). These 2 applications work together to provide
this filtering. Status on the APRS-IS servers can be found here:
http://ahubswe.net/aprs_stat.asp

 You define the filter by doing the following:

        1. Connect and logon to a filter enabled port on a server
        2. Send an APRS message to the server requesting the filter you want


 Filter commands
 There are 12 different kinds of filters that can be used in any combination.
Each filter is working independent and is additive to the feed. This mean if
the filter finds a match it will be passed to you. The filter commands in
the APRS message to the servers call is starting with the word 'filter'
(without quotes) and each filter command is delimited by a single space. A
message with just 'filter?' (without quotes) will return the current filter
definition.

 If you send "filter default" it will revert back to the server default filter
definition.


 #1 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.
                        I'm sorry we don't use miles here in Sweden ;-)

 Samples:       r/55/-4/600     This will pass all traffic for UK
                r/37/-81/1500   This will pass all east cost US traffic

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


 #2 Prefix filter
 Note: This filter is kept for backwords 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 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
		        b/K*    	            This will pass all traffic from stations
					                    starting with K
                b/SM5NRK/F*	  	        This will pass all traffic from SM5NRK and
					                    stations starting with F


 #4 Type filter
 The type filter will pass traffic depending on the packet type. More than
one type can be defined in one single command. You can also limit this to a
distance around a station or object.

 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


 Remeber that the APRS message must start with the word filter and the 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 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
                s//#/T     This will pass all Digi with overlay of capital T


 #6 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. This filter also support
wildcard

 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 has been digipeated
                                        by a digi in Sweden


 #7 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 lat and lon can be in decimals. E.g. 58.5

 #8 q Contruct 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 ot qAR
                q//I            Pass all position packets from IGATES
				                indentified in
                                other packets by qAr or qAR  ( corrected 26-Feb-2007), i > I )

 #9 Object filter (from V1.4)
 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 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 is useful if you have an mobile station
with internet connection. It will then always pass the local stations no matter
of where you are.

 Note: This will not work until a valud 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 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 is following the call-ssid last known position.


 Note: This will not work until a valud 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 Port of entry filter
 This filter will pass packets which match the CallSSID that follow immidiate after
the q-construct. This filter support wildcard.

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

 #13 Unproto filter
 This filter will pass packets which match the Unproto (or destination field) in
the packet. This filter support wildcard.

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

 #14 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 match 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.

 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.



 73 de sm5nrk/Roger

 

 

 

 

3.1 Руководство для пользователей javaAPRS-фильтра

Новая информация для версии 3.1

все позывные сейчас чувствительны к изменению условий (не различают строчные и заглавные буквы)

новый порт для фильтра входа Е

новый Unproto (неглавный ?) фильтр U

D- фильтр разрешает сейчас групповой символ

Новая команда для фильтра «фильтр по умолчанию»

Сейчас Т-фильтр поддерживает расстояние от станции до объекта

Введение:

Сегодня через систему питания APRS-IS проходит большой поток информационного обмена, поэтому нужна большая ширина полосы пропускания, особенно для узлов сервера APRS-IS , а также для некоторых из вас, кто заинтересован только в индивидуальном потоке информационного обмена. Чтобы собрать такое количество серверов существуют специальные региональные системы питания, которые фильтруют поток информационного обмена. Кроме того, существуют специальные системы питания для информационного обмена по метеорологическим условиям. Все это установлено в соответствии с тем, что как оператор сервера «думает» будет полезно для пользователя. А сейчас мы идем дальше.

Сможет ли кто-нибудь из вас выбрать, в каком потоке информационного обмена вы заинтересованы, и сервер создаст исключительную систему питания для вас. Этот сервер обладает большой гибкостью и может создать для вас персональную систему питания.

Как он работает?

Пит написал программное обеспечение для сервера APRS-IS на языке Java, который используют некоторые серверы. Пит был так добр, что создал добавочные блоки в своем программном обеспечении для сервера, поэтому я смог написать дополнение для фильтра, javaAPRSFilter (также на языке Java). Вместе они обеспечивают фильтрацию. Статус серверов APRS-IS можно найти по адресу:

http://ahubswe.net/aprs_stat.asp

 

Вы сможете определить фильтр, если сделаете следующее:

подсоединитесь и войдите в систему порта фильтра на сервере

отправьте APRS сообщение на сервер, в котором запрашивается нужный вам фильтр

Команды фильтра

существует 12 видов фильтра, которые можно использовать в любой комбинации. Каждый фильтр работает независимо и как дополнительное устройство к системе питания. Это означает, что если фильтр находит соответствие, то он переправляется вам. Команды фильтра в APRS сообщении на позывной серверов начинается со слова «filter» (фильтр) (без кавычек) и каждая команда фильтра разделяется одиночным пробелом. Сообщение «filter?» (без кавычек) выдаст определение текущего фильтра.

Если вы отправили «filter default», то на сервер возвратится определение фильтра по умолчанию.

1 Фильтр по дальности

Фильтр по дальности переправит все станции и объекты, находящиеся в пределах расстояния от местонахождения устройства. Кроме этого он будет переправлять сообщения на станции в фильтре? и координаты отправителя сообщения, даже если они (координаты) находятся за пределами дальности. Для расширения зон, где у вас возникли трудности с поиском хорошей круговой настройки/согласования/совпадения.

синтаксическая структура: r/lat/lon/dist [r/lat1/lon2/dist2 [[r/lat2/lon2/dist2]]

где: r = команда установления диапазона

lat = широта в градусах. Для юга – отрицательная

lon = долгота в градусах. Для запада – отрицательная

dist = расстояние в километрах от lat/ lon

прошу прощения, но здесь, в Швеции, мы не используем для обозначения мили.

Примеры: r/55/-4/600 в этом случае будет переправлен весь поток информационного обмена для UK?

r/37/-81/1500 в этом случае будет переправлен весь поток информационного обмена с восточного побережья US

В версии 3.0 широта и долгота могут выражаться в десятичных числах. Например, 58.5

2 Фильтр префикса

Примечание: этот фильтр нужен для взаимозаменяемости backwords (не знаю, как переводить это слово в данном контексте, нашла только «отказ от выполнения заказа»). Фильтр Budlist сейчас поддерживает эти функциональные возможности. (в версии 1.4)

Фильтр префикса будет переправлять поток информационного обмена, если позывной отправителя начинается с определенного шаблона/ конкретной комбинации.

синтаксическая структура: p/p1/p2/p3...

где: р = команда префикса

р# = шаблон/ конкретная комбинация (исходная) префикса

примеры: р/К - в этом случае будет переправлен весь поток информационного обмена со станций, которые начинаются с символа К.

р/SK/F - в этом случае будет переправлен весь поток информационного обмена со станций, которые начинаются либо с SK, либо с F.

р/SM5NRK - в этом случае будет переправлен весь поток информационного обмена с SM5NRK и любой станции, которые оканчиваются SSID.

 

3 Фильтр Budlist

Фильтр Budlist будет переправлять поток информационного обмена при точном соответствии/настройке позывного отправителя или если позывной начинается с какой-то конкретной комбинации (по версии 1.4). Кроме того SSID – часть точной настройки.

синтаксическая структура: b/call1/p1*/call3/p2*...

где: b = команда Budlist

call# = (исходная) комбинация префикса

р# = (исходная) комбинация префикса

примеры: b/ SM5NRK в этом случае будет переправлен весь поток информационного обмена с SM5NRK без SSID

b/ SM5NRK-5/SK5UM в этом случае будет переправлен весь поток информационного обмена с SM5NRK-5

b/ K* в этом случае будет переправлен весь поток информационного обмена со станций, начинающихся с К

b/SM5NRK/F* в этом случае будет переправлен весь поток информационного обмена с SM5NRK и станций, начинающихся с F

 

 

4 Фильтр по типу

Фильтр по типу будет переправлять весь поток информационного обмена в зависимости от типа пакета. Одна команда может определить более одного типа. Вы также можете сделать ограничение по расстоянию вокруг станции или объекта.

синтаксическая структура: t/type

t/type/call/dist

где: t = команда типа

type = одна или большее количество следующих букв

р = пакеты данных с координатами

о = объекты

I = пункты

M = сообщение

N = NWS погода и NWS объекты в диапазоне

W = погода

T = телеметрия

Q = запрос

S = статус

u = определяемый пользователем

call = позывной станции или объекта

dist = расстояние в км от позывного чтобы перенаправить этот тип

пример: t/р в этом случае будет переправлен весь поток информационного обмена с координатой

t/w в этом случае будет переправлен весь поток информационного обмена/трафик с метеорологической информацией. Для метеорологических объектов без координат будет посылаться соответствующий пакет координат, когда его услышат?.

t/mos в этом случае будут переправлены все сообщения, объекты и трафик состояния

t/p/SM5NRK/500 переправляет все пакеты с координатами в пределах 500 км от последней известной координаты SM5NRK.

Помните, что APRS сообщения должны начинаться с фильтра слова и команд.

Вышеописанные фильтры можно комбинировать как это уже говорилось выше. Однако каждый фильтр будет работать независимо от других, например:

фильтр r/63/16/1000 r/55/-4/600 p/F b/AE5PL t/s

вышеуказанный фильтр будет переправлять весь трафик в пределах Nordic (диапазон 1) и UK (диапазон 2), а также станций, которые начинаются с F (префикс) и с АЕ5PL (budlist)и весь трафик состояния (тип).

 

5 Фильтр по символу

Фильтр по символу будет переправлять трафик в зависимости от символа пакета.

 

 

Синтакс: s/pri/alt/over

Где: s = команда символа

Pri = символы в основной таблице

Alt = символы в альтернативной таблице

Over = знак наложения (не различающий строчные и заглавные буквы)

Примеры: s/-> в этом случае будут переправлены все символы House (здания) и Car (автомобиля) (основная таблица)

s//# в этом случае будут переправлены все Digi (цифры?) с или без наложения

s//#/T в этом случае будут переправлены все Digi с наложением заглавной буквы Т

 

 

6 Фильтр для digipeater

Фильтр для digipeater (не знаю, как это переводить) будет переправлять все пакеты, которые (может быть можно перевести как зарегистрированы, но не уверена) конкретной станцией (ями). Помните, что пакет данных может долго идти разными маршрутами чтобы достичь APRS-IS и может быть зарегистрирован другими станциями, которые показаны. Эти пакеты данных фильтруются различными фильтрами/программами в виде копий. Можно использовать более одного digipeater и использовать их по отдельности или вместе (тут текст мне не понятен, перевожу наугад). Кроме того, этот фильтр поддерживает групповой символ.

Синтакс: d/digi1/digi2...

Где: s = команда digipeater

digi# = позывной digipeater

примеры: d/SM5NRK-2 переправляет все пакеты данных, которые

зарегистрированы SM5NRK-2

d/SM5NRK-2/SK5UM переправляет все пакеты данных, которые

зарегистрированы SM5NRK-2 или SK5UM

d/SM*/SK*/SL* переправляет все пакеты данных которые

зарегистрированы digi в Швеции

 

7 Фильтр по зоне

Фильтр по зоне работает так же как и фильтр по диапазону, но этот фильтр определяется как ящик координат. Эти координаты вы также можете видеть как координата сверху слева и снизу справа. Юг и запад – отрицательны. За один раз можно определить до 9 фильтров по зоне.

Синтакс: a/latN/lonW/latS/lonE

Где: a = команда зоны

latN = граница северной широты (-90 to 90)

lonW = граница западной долготы (-180 to 180)

latS = граница южной широты (-90 to 90)

lonE = граница восточной долготы (-180 to 180)

пример: a/50/-130/20/-70 в этом случае весь трафик будет передаваться в US

В версии V3.0 широты и долгота могут выражаться в десятичных числах. Например, 58.5

 

 

8 Фильтр q Construct (фильтр по логической структуре)

Фильтр q Construct будет проводиьть всю фильтрацию по q Construct, которая используется на APRS-IS. Для получения более подробной информации о q Construct, вам следует посмотреть:

http://www.aprs-is.net/q.htm

синтаксис: q/con/ana

где: q = q Construct команда

con = перечень/список q Construct, которые будут переправляться (не различающий строчные и заглавные буквы)

ana = анализ на основании q Construct.

i = местоположение/координаты передачи с IGATES, определенной с помощью qAr или qAR.

Примеры: q/C в этом случае весь трафик будет передаваться с qAC

q/rR в этом случае весь трафик будет передаваться qAr или qAR

q//I в этом случае все пакеты данных о местоположении будут передаваться с IGATES, определенной в других пакетах данных с помощью qAr или qAR ( исправлено 26-Feb-2007), i > I )

 

9 Фильтр по объекту

Работает так же как фильтр по Budlist, но срабатывает по названиям объектов вместо позывного отправителя.

Синтаксис: o/name1/n2*/name3/n3*...

Для получения информации по работе этого фильтра, обратитесь к разделу с фильтром по Budlist.

 

10 My Range Filter (Фильтр по моему диапазону)

Фильтр по моему диапазону будет передавать все станции и объекты в пределах расстояния от вашей собственной станции. Он будет использовать местоположение, отправленное на тот же самый позывной, который вы использовали, когда вы записывали информацию на сервере. Это удобно, если у вас есть мобильная станция с возможностью соединения с Интернетом. После этого он всегда будет переправлять местные станции (или местным станциям) вне зависимости от того, где вы находитесь.

Примечание: это не будет работать до тех пор, пока вы не отправите значение о местоположении с тем же позывным?, который вы использовали когда вы входили в сервер.

Синтаксис: m/dist

Где: m = команда моего диапазона

dist = расстояние в км от широты/долготы.

Примеры: m/500 в этом случае будут предаваться весь трафик в пределах 500 км от моего местоположения

 

11 Friend Range Filter (Фильтр по диапазону друга)

Этот фильтр работает точно так же как My Range Filter, за исключением того, что именно вы определяете какой call-ssid (я не знаю, как это переводить, предлагаю «позывной») следует использовать (смотри выше). Можно определить до 9 Friend Filter. Это подвижный фильтр, поэтому он отслеживает позывной последнего известного местоположения.

Примечание: он не будет работать до тех пор, пока вы не отправите значение о местоположении с определенным позывным.

Синтаксис: f/call/dist

Где: f = команда friend range

call = позывной, который будет использоваться как центр диапазона

dist = расстояние в км от широты/долготы.

Примеры: f/SM5NRK/500 в этом случае будут предаваться весь трафик в пределах 500 км от последнего местоположения SM5NRK.

 

12 Порт фильтра по входу (entry filter)

Этот фильтр будет передавать пакеты данных, которые соответствуют CallSSID (позывной?), который следует сразу после q-construct. Этот фильтр поддерживает групповой символ.

Синтаксис: e/call/call/call*...

 

13 Unproto фильтр

Этот фильтр будет переправлять пакеты с данными, которые соответствуют Unproto (или область определения) в пакете. Этот фильтр поддерживает групповой символ.

Синтаксис: u/text/text/te*...

 

14 Exclusion фильтр (исключения)

Все вышеуказанные фильтры также поддерживают исключение. Если поставить впереди вышеуказанных фильтров тире, то результат будет противоположным. Любой пакет данных, который соответствует фильтру предотвращения/исключения, не пройдет. Фильтры исключения будут обрабатываться в первую очередь, поэтому если есть соответствие по исключению, то пакет данных не пройдет, вне зависимости от того, что определит любой другой фильтр.

Примеры: -a/50/-130/20/-70 -b/CW* Это означает, что фильтр по зоне передаст весь трафик в US. Фильтр –b означает, что будут исключены все станции, которые начинаются с CW.

-a/50/-130/20/-70 -s/>j Это означает, что фильтр по зоне передаст весь трафик в US. Фильтр –s означает, что будут исключены все станции с символами Car или Jeep.

 

Примечание: по ходу текста я поменяла перевод некоторых слов, это будет понятно. Если есть какие-либо замечания по переводу слов, говори, мне будет проще переводить в дальнейшем.