perlFilter

2000 Digital Communications Conference - Orlando, USA
Intelligent Filtering of APRS IGATE Data Streams

This page contains a link to my paper for the 2000 Digital Communications Conference, as well as containing the companion software. This page also contains the documentation for this software.

  • APRS Filtering Paper - WORD Format
  • Software - TAR'ed and GZIP'ed

    To run
        ./perlFilter.pl VKZL.conf

    This will run the software interactively.

    Of course you may want to edit the CONF file first.
     

    VKZL.conf - Configuration file for perlFilter

    # @prefix is a list of callsign ranges that this filter will allow through
    # regardless of their present position. For instance @prefix = ("VK","ZL")
    # will let throgh VK2TDS and ZL1AMW if they are in their home countries or
    # if they are within range of an IGATE in ROME or MIAMI.
    #
    # More prefixes may be added creating a line such as 
    #         @prefix = ("W","AA","N7","VE");

    @prefix = ("VK","ZL");

    # @grid_OK contains a list of all the GRID squares that are permitted through
    # the IGATE. Before letting a packet through it will decode the position from 
    # any of the formats understood by perlAPRS such as Lat/Long format into 
    # Grid Square format. 
    #
    # The software understands 2, 4 and 6 letter GRID SQUARES allowing quite 
    # precise filtering whilst maintaining quick processing. An example is the 
    # bizzare 
    #         @grid_OK = ("QE", "QF55", "QA55NX");
    #
    # For Australia and New Zealand, the following are used

    @grid_OK = ("OH","PH","QH","RH","OG","PG","QG","RG","OF",
       "PF","QF","RF","OE","PE","QE","RE","OD","PD","QD","RD");

    # The next few lines are tricky, and must not be mixed up. The lines with the
    # variables ending with _1 are for the UP-LINK, and those ending with _2 are 
    # DOWN-LINK. 
    #
    # The lines starting $telnet start a special version of TELNET that maintains
    # a connection to the server wherever possible. This version of TELNET is special
    # in that the PORT number is the first paramater, followed by one or more servers.
    # Whenever a connection is lost, the server will attempt to connect to the next
    # server. The software may not be elegant, but it works.
    #
    # Future versions will contain a server program in place of the TELNET program so that
    # the single IGATE can connect to it directly.
    #
    # The lines starting with $auth are the authorisation lines to be sent to the server. 
    # If you cannot work out how to make them work, you should not be using this software. 
    # The important thing to note is that my software will set $version to the current
    # version. Please do not edit this version of the line.

       $telnet_1 = "./myTelnet.pl 23 aprs.net second.aprs.net";
       $auth_1 = "user LUSER pass 12345 VERS $version\n\r\n";
       $telnet_2 = "./myTelnet.pl 10152 localhost";
       $auth_2 = "user LUSER pass 12345 VERS $version\n\r\n";