Como
usar los filtros definidos por el usuario en los servidores del APRS-IS
Por: LU5AGQ
Introducción:
El tráfico de
APRS en Internet requiere cada día de un mayor ancho de banda, en particular
para los servidores APRS-IS, pero también para aquellos usuarios que desean
conectarse a la red y que probablemente están interesados solamente en
descargar solamente una porción de esos datos.
Para solucionar
esto existen servidores que tienen asignados puertos regionales para filtrar el
tráfico. Pero todos estos están configurados de acuerdo a lo que cada
administrador cree que será bueno para los usuarios y tal vez, esto no sea lo
que usted necesita.
Ahora podemos
llevar esto un paso mas adelante.
Con este manual
usted será capaz de crear un filtro especifico y preciso de acuerdo en lo que
este interesado y el servidor creará un tráfico único y dedicado para usted
sumamente flexible y personalizado.
¿Como
funciona?
Pete Loveall
AE5PL escribió un software para los servidores APRS-IS llamado javAPRSSrvr en
lenguaje Java, el cual es usado por un gran número de servidores, especialmente
los "Tier 2 Servers" o Servidores de Nivel 2.
Pete fue muy
amable en crear algunos espacios en el código del servidor de modo que otros
programadores pudieran escribir aplicaciones adjuntas como es el caso del
javAPRSFilter (también en Java) escrito por Roger Bille SM5NRK.
Estas dos
aplicaciones funcionan en conjunto para proveer lo que llamamos proceso de
filtrado.
Nota: El estado
de los Servidores APRS-IS de Nivel 2 y el listado de sus puertos de tráfico
predefinido puede encontrarlo en: http://www.aprs2.net/
Como
utilizarlo:
Para definir un
filtro proceda de la siguiente manera:
A) Conéctese a un
servidor que ejecute javAPRSSrv y javAPRSFilter en el puerto 14580 (este es el
puerto predeterminado para que los usuarios determinen su propio tráfico) por
ejemplo: "aprs.com.ar:14580" (sin comillas) o cualquier otro Servidor
de Nivel 2.
B) Envíe un
mensaje APRS al servidor solicitando el filtro deseado.
Comandos
de los filtros
Existen 11 tipos
distintos de filtros que pueden ser utilizados en cualquier combinación. Cada
filtro trabaja independientemente y es aditivo (y no supresivo) al tráfico.
Esto significa que, si el filtro encuentra una coincidencia dentro de los parámetros
que estableció, le dejará pasar a usted la suma de un determinado tráfico. Los
comandos de filtro en el mensaje APRS a los servidores comienzan con la palabra
"filter" (sin comillas) y cada comando del filtro esta delimitado por
un espacio simple. Un mensaje que contiene solamente "filter?" (sin
comillas) responderá la definición actual del filtro.
Para enviar un
mensaje a un servidor APRS-IS basta con poner en el lugar de la señal
distintiva la palabra SERVER, o bien el nombre del servidor, por ejemplo:
T2ARG si usted esta conectado a "aprs.com.ar:14580" y direccionar
la salida del mensaje hacia Internet "I" en lugar de especificar un
puerto de RF.
1)
Filtro de Rangos
El Filtro de
Rango dejará pasar todas las estaciones y objetos dentro de una distancia
tomada desde un lugar establecido. También mensajes a estaciones dentro del
rango del filtro y posiciones de los mensajes enviados incluso si estos están
fuera del rango.
Pueden utilizarse
hasta 3 filtros de rango al mismo tiempo para extender las áreas cuando existen
dificultades para encontrar un área bien delimitada
|
Sintaxis: |
r/lat/lon/dist
[r/lat1/lon2/dist2 [[r/lat2/lon2/dist2]] |
|
|
|
|
Donde: |
r= Comando de Rango lat=
Latitud en Grados (sin decimales) negativo para el Sur lon=
Longitud en Grados (sin decimales) negativo para el Oeste dist=
Distancia en Kilómetros desde lat./lon. |
|
|
|
|
Ejemplos: |
r/55/-4/600
(Esto dejará pasar todo el tráfico del Reino Unido) r/37/-81/1500
(Esto dejará pasar todo el tráfico de la costa este de EEUU) |
2)
Filtro de Prefijos
El Filtro de
Prefijo dejará pasar el tráfico basado en si la señal distintiva del emisor
comienza con una estructura especifica.
|
Sintaxis: |
p/p1/p2/p3... |
|
|
|
|
Donde: |
p=
Comando de Prefijo p#=
La estructura (inicial) del Prefijo |
|
|
|
|
Ejemplos: |
p/L (Esto
dejará pasar todo el tráfico de estaciones que comienzan con la letra L) p/LU/LW (Esto
dejará pasar estaciones que comienzan con LU y LW) p/LU5AGQ (Esto
dejará pasar todo el tráfico de LU5AGQ y cualquier SSID) |
3)
Filtro de Colegas (Budlist)
El Filtro de
Colegas "Budlist" dejará pasar el tráfico basado en coincidencias
exactas con las señales distintivas del emisor o de señales distintivas que
comiencen con una estructura específica, recuerde que también el SSID es parte
de la coincidencia exacta.
|
Sintaxis: |
b/lic1/p1*/lic2/p2*/licencia3... |
|
|
|
|
Donde: |
b=
Comando de Colega "Budlist" lic#=
La estructura del Prefijo p#=
La estructura (inicial) del Prefijo |
|
|
|
|
Ejemplos: |
b/LU5AGQ
(Esto dejará pasar todo el tráfico de LU5AGQ sin ningún SSID) b/LU5AGQ-9/LU2APR*
(Esto dejará pasar únicamente el tráfico de LU5AGQ-9 y todo el tráfico de
LU2APR incluyendo todos sus SSID) b/LU*
(Esto dejará pasar todo el tráfico de estaciones que comienzan con LU del
mismo modo que lo hace el Filtro de Prefijo) b/LU5ABT/LU*
(Esto pasará todo el tráfico de LU5ABT y todas las estaciones que comienzan
con LU) |
4)
Filtro de Tipos
El Filtro de Tipo
dejará pasar el tráfico dependiendo del tipo de paquete. En un solo comando
pueden ser definidos más de un tipo.
|
Sintaxis: |
t/tipo |
|
|
|
|
Donde: |
t= Comando de Tipos tipo=
Es una o más de las siguientes letras: p= Paquetes de posición o= Objetos i= Ítems m= Mensaje n= Boletines y objetos de áreas meteorológicas (NWS) w= Estaciones meteorológicas t= Telemetría q= Consultas (Query) s= Mensajes de estado (Status Text) u= Definidos por el usuario |
|
|
|
|
Ejemplos: |
t/p
(Esto dejará pasar todo el tráfico conteniendo una posición) t/w
(Esto dejará pasar todo el tráfico de estaciones meteorológicas) Aquellos
objetos meteorológicos sin datos de posición pasarán luego de la segunda vez
de ser "escuchados" por el servidor. t/mos
(Esto dejará pasar todos los mensajes, objetos y mensajes de estado) |
Recuerde
que el mensaje APRS enviado al servidor debe comenzar con la palabra
"filter" (sin comillas) y a continuación los comandos.
Los
filtros mencionados pueden ser combinados como se explica anteriormente y cada
filtro trabajará, sin embargo, de manera independiente de los otros, por
ejemplo:
filter
r/63/16/1000 r/55/-4/600 p/CX/EA/EB
b/LU4EGV t/o
|__________||_________|
|_________||_______||__|
1º Rango 2º Rango Prefijos Colegas
Tipo
El filtro
anterior dejará pasar todo el tráfico dentro de un rango determinado (1º Filtro
de Rangos) y un segundo rango (2º Filtro de Rangos) además de las estaciones
que comiencen con CX, EA y EB (Filtro de Prefijos) sumando todo lo se envíe
desde LU4EGV, sin ningún SSID (Filtro de Colegas) y todos los objetos
"escuchados" (Filtro de Tipos).
5)
Filtro de Símbolos
El Filtro de
Símbolos dejará pasar el tráfico dependiendo de los símbolos que contenga el
paquete.
|
Sintaxis: |
s/pri/alt/over |
|
|
|
|
Donde: |
s= Comando de Símbolos pri=
Símbolos de la tabla primaria alt=
Símbolos de la tabla alternativa over= Caracteres de "overlay"
(recuerde que estos son "case sensitive") |
|
|
|
|
Ejemplos: |
s/->
(Esto dejará pasar todos los símbolos de casas y automóviles de la tabla
primaria) s//#
(Esto dejará pasar todos los digirrepetidores sin un Overlay) s//#/T
(Esto dejará pasar todos los digirrepetidores con un "overlay" que
contengan una "T" mayúscula, por ejemplo un Digi Wide) |
6)
Filtro de Digirrepetidores
El Filtro de
Digirrepetidores dejará pasar todos los paquetes que hayan sido retransmitidos
por una/s estación/es en particular. Usted puede definir más de un
digirrepetidor y estos pueden ser usados en combinación.
Recuerde
que un paquete puede tomar distintas rutas para llegar al APRS-IS y puede ser
retransmitido por otras estaciones diferentes y tal vez estos puedan excluidos
por otros filtros y/o aplicaciones como duplicados.
|
Sintaxis: |
d/digi1/digi2... |
|
|
|
|
Donde: |
s=
Comando de Digirrepetidor digi#=
Nombre o señal distintiva del digirrepetidor (puede utilizar SSID) |
|
|
|
|
Ejemplos: |
d/LU5ABT-10
(Esto pasara todos los paquetes retransmitidos por LU5ABT-10) d/LU5ABT-10/MARMOL
(Esto dejará pasar todos los paquetes retransmitidos por LU5ABT-10 y MARMOL) |
7)
Filtro de Áreas
El Filtro de
Áreas funciona igual que el Filtro de Rangos pero a diferencia de ser circular,
esta delimitado por coordenadas que lo convierten en una "caja". Las
coordenadas deben leerse en el siguiente orden: Arriba > Izquierda y Abajo
> Derecha. Usted puede definir hasta 3 Filtros de Área al mismo tiempo.
Recuerde
que lat/lon son grados enteros (sin decimales) y que Sur y Oeste son negativos.
|
Sintaxis: |
a/latN/lonW/latS/lonE |
|
|
|
|
Donde: |
a=
Comando de Áreas latN=
Borde de Latitud Norte (-90° a 90°) lonW=
Borde de Longitud Oeste (-180° a 180°) latS=
Borde de Latitud Sur (-90° a 90°) lonE=
Borde de Longitud Este (-180° a 180°) |
|
|
|
|
Ejemplo: |
a/50/-130/20/-70
(Esto dejará pasar todo el tráfico generado desde el territorio de EEUU) |
8)
Filtro de q Construct
El Filtro de q
Construct basará su proceso en el protocolo usado en el APRS-IS.
Para
entender más acerca del funcionamiento del q Construct visite
http://www.aprs-is.net/q.htm (en Inglés)
|
Sintaxis: |
q/con/ana |
|
|
|
|
Donde: |
q=
Comando de q Construct con=
Listado de los q Construct que pasarán (recuerde que estos
parámetros son "case sensitive") ana= Análisis basado en el q Construct i=
Envío de posiciones que pasan a través de IGates identificadas con qAr o qAR |
|
|
|
|
Ejemplos: |
q/C
(Esto dejará pasar todo el tráfico con qAC) q/rR
(Esto dejará pasar todo el tráfico con qAr o qAR) q//i
(Esto dejará pasar todo el tráfico de posición de IGates identificadas en
otros paquetes por qAr o qAR) |
9)
Filtro de Objetos
Este funciona
igual que el Filtro de Colegas "Budlist" pero actúa sobre el nombre
de un objeto en lugar de hacerlo con la señal distintiva.
|
Sintaxis: |
o/n1/nombre1* |
|
|
|
|
Donde: |
o=
Comando de Objetos n=
Nombre o parte del nombre de un objeto |
|
|
|
|
Ejemplos: |
o/MARMOL
(Esto dejará pasar todos los objetos que contengan la palabra MARMOL) o/MARMOL/WEA*
(Esto dejará pasar todos los objetos que contengan la palabra MARMOL y
aquellos que comiencen con WEA por ejemplo:
WEATHER) |
Para
más información ver Filtro de Colegas (Budlist).
10)
Filtro Mi Rango
El Filtro Mi
Rango dejará pasar todas las estaciones y objetos dentro de una distancia desde
su propia estación local.
Utilizara la
ubicación enviada de la señal distintiva que usted utilizó al ingresar en el
servidor. Esto es útil si usted tiene una estación móvil con conexión a
Internet. Entonces, siempre dejará pasar las estaciones locales sin importar
donde se encuentre y a medida que se desplace se actualizará dependiendo de su
nueva posición.
Recuerde
que este filtro no funcionará hasta que una posición válida sea enviada desde
la misma señal distintiva-SSID que utilizó para ingresar al servidor, por
ejemplo si su GPS no obtuvo señal de los satélites y no pudo establecer su
ubicación.
|
Sintaxis: |
m/dist |
|
|
|
|
Donde: |
m=
Comando de Mi Rango dist=
Distancia en Kilómetros con respecto a mi lat/lon |
|
|
|
|
Ejemplo: |
m/500
(Esto dejará pasar todo el tráfico 500 Km. alrededor de mi posición actual) |
11)
Filtro Rango de Amigos (Friend Range)
El Filtro Rango
de Amigos (Friend Range) funciona igual que el Mi Rango, excepto que define que
señal distintiva-SSID deberá utilizar.
Pueden definirse
hasta 3 filtros Rango de Amigos.
Recuerde
que este filtro no funcionará hasta que una posición válida haya sido enviada
desde la señal distintiva-SSID definida.
|
Sintaxis: |
f/lic/dist |
|
|
|
|
Donde: |
f= Comando Rango de Amigos lic=
Señal distintiva que utilizada como centro del rango dist=
Distancia en Kilómetros con respecto a la lat/lon de la señal distintiva-SSID |
|
|
|
|
Ejemplo: |
f/LU5YB/500
(Esto dejará pasar todo el trafico 500 Km. alrededor de la última posición
recibida de LU5YB) |
A que
servidores conectarse:
Usted puede ver
la lista completa y actualizada de los Servidores de Nivel 2 (Tier 2 Servers)
que son aquellos que utilizan javAPRSSrvr y proveen este servicio en
http://www.aprs2.net
También puede
descargar la lista de servidores para utilizar con UI-View en
http://www.aprs.com.ar/servers.txt
Estos son tan
sólo algunos de los servidores de Nivel 2 que ofrecen el puerto 14580 (puerto
de filtros definidos por usuarios):
argentina.aprs2.net:14580
france.aprs2.net:14580
socal.aprs2.net:14580
uk.aprs2.net:14580
Manual de javAPRSSFilter: Roger Bille SM5NRK
Adaptado al español
por: Gastón Ettedgui LU5AGQ
Java es una marca
registrada de Sun Microsystems
javAPRSSSrvr es una marca registrada de Peter
Loveall AE5PL
javAPRSSFilter es una marca registrada de Roger Bille SM5NRK
www.aprs2.net es una marca registrada de Phil
Pacier AD6NH
Si tiene dudas,
consultas, sugerencias o correcciones visite http://www.aprs.com.ar