add an RBN line to progress
[spider.git] / txt / filtering_en.txt
1   The DXSpider User Filtering Primer v1.0
2   Compiled By W3BG - Jim Samuels (jimsam@comcast.net) With
3   Introduction by N3RD - Dave Hawes (dave.n3rd@comcast.net)
4   April 2003 revision 0.2
5
6   A primer and tutorial for Users and SysOps of the DXSpider DXCluster
7   program.
8   ______________________________________________________________________
9
10   Table of Contents
11
12
13   1. Introduction.
14   2. Foreword
15   3. Configuring Spot Filters
16      3.1 What is a spot filter?
17      3.2 How can filters be used?
18
19   4. Types of spot filters used in DXSpider
20      4.1 Numbering lines and slots
21      4.2 Reject before accept
22      4.3 Using Multiple Reject Filter Rules
23      4.4 A very useful command
24      4.5 Case does not matter
25      4.6 Qualifiers
26      4.7 Comma Separation
27
28   5. Reject filters
29   6. Filters to reject spots based on frequency
30      6.1 Bands Available
31      6.2 Regions Available
32      6.3 Examples
33      6.4 Sub-bands as part of range
34      6.5 Filters to reject spots based on the "info" data in the spot
35      6.6 Filters to reject spots based on call
36      6.7 Filters to reject spots based on call_dxcc
37      6.8 Filters to reject spots based on call_itu
38      6.9 Filters to reject spots based on call_zone
39      6.10 Filters to reject spots based on call_state
40      6.11 Filters to reject spots based on by
41
42   7. Accept filters
43      7.1 Filters to accept spots based on frequency
44      7.2 Sub-bands as part of range
45      7.3 Filters to accept spots based on info
46      7.4 Filters to accept spots based on call
47      7.5 Filters to accept spots based on call_dxcc
48      7.6 Filters to accept spots based on call_itu
49      7.7 Filters to accept spots based on call_zone
50      7.8 Filters to accept spots based on call_state
51      7.9 Filters to accept spots based on by
52
53   8. Clear filters
54   9. Some Practice Examples
55   10. Contacts
56
57
58   ______________________________________________________________________
59
60   \e[1m1.  Introduction.\e[0m
61
62   The PacketCluster software written in the mid-80s by Dick Newell,
63   AK1A, has served us well.  Dick has moved on though and has not
64   supported the software with updates etc. for the last 10 years.
65   Numerous PacketCluster "clones" have come and gone over the years,
66   however there is one, called DX Spider, which provides a very similar
67   user interface to that of AK1A, allows internet connections of users
68   and node-to-node links, is actively supported by the author, and best
69   of all is freeware.  FRC has started to convert several nodes to
70   Spider.
71
72
73   One of the strengths of DX Spider is its very powerful and flexible DX
74   spot filtering routines.  These filters are totally different from
75   anything we learned how to do with PacketCluster, and along with their
76   power and flexibility comes somewhat of a learning curve.  Hence the
77   need for this primer.
78
79
80   In the following sections, you will learn that you can filter DX spots
81   by:
82
83
84
85        Frequency of the spot
86        Mode of the spot
87        Callsign of the spot (by state, country, zone, or specific callsign)
88        Callsign of the spotter (by state, country, zone, or specific callsign)
89        Callsign of the source node of the spot (by state, country, zone, or specific callsign)
90
91
92
93   With a few keystrokes, you can set up a filter for the CQ WW SSB
94   contest, for example, that says that you only want to see SSB spots on
95   the contesting bands.  In the ARRL contest, it is simple to exclude
96   spots for Ws and VEs.  For example, the best all around one-line
97   filter for users in the CQ WW SSB contest would be:
98
99
100
101        accept/spots on contesthf/ssb
102
103
104
105   This simply reads, "I want to get spots on the hf contesting bands on
106   SSB only."
107
108
109   Jim Samuels, W3BG, has put together this primer which not only
110   provides complete details on the format for all the available filter
111   commands, but also provides useful examples that can be simply typed
112   in, without the need to learn the specifics.
113
114
115   I would be remiss in not thanking Charlie Carroll, K1XX, who gave a
116   lot of encouragement and mentoring, and provided some of the material
117   in this primer.
118
119
120   As always, your local sysop is available to help you out, if need be.
121   Don't hesitate to contact him for assistance.
122
123
124   73 - Dave N3RD
125
126
127
128   \e[1m2.  Foreword\e[0m
129
130   While attempting to learn how DXSpider filters work, I found that I
131   had to glean bits and pieces of information from the DXSpider User
132   Manual and Administrators Guide as well as various posted messages,
133   help files and the program and data-base files themselves. Therefore,
134   this is by no means an original work. I have used and in some cases
135   copied from some of these sources. What I have tried to accomplish is
136   to gather this scattered information, put it in one spot (please
137   pardon the pun) so others might benefit. I would advise those with
138   interest to go back and read these other sources at their leisure.
139
140
141
142   \e[1m3.  Configuring Spot Filters\e[0m
143
144   \e[1m3.1.  What is a spot filter?\e[0m
145
146   A spot filter is one rule (a one line spot filter) or multiple rules
147   (multiple line spot filters) that a user can setup within DXSpider to
148   control which specific spot(s) are received at the shack console.
149   These configurable filters/rules reside on the DXSpider node and are
150   stored along with the user's other information. Filters can be likened
151   to a car wash . . . . . like cars, information goes in one end dirty,
152   gets washed and comes out the other end cleaned.
153
154
155   All spots received from other users on the cluster, or those received
156   from other nodes, start out life destined for each and every connected
157   user's console. If spot filtering has been configured, all spots
158   headed for that user first go into the filter input, are processed and
159   sent out the other end of these filters before being sent to the
160   user's console. Like a car wash, each spot goes through one or many
161   stages depending on whether the user wanted a simple or a super-duper
162   filtering job.  Along the way, the spot gets scrubbed, unwanted
163   information removed or wanted information passed on and finally the
164   wanted spots only are spit out the other end - nice and clean with all
165   unwanted "stuff" sent down the drain to the infamous "bit-bucket."
166
167
168
169   \e[1m3.2.  How can filters be used?\e[0m
170
171   For example, let's say our local user has never owned a microphone in
172   his life and definitely doesn't want to see any of those useless SSB
173   spots. Our user simply sets up a basic filter to reject any SSB spots
174   before they reach the user's console.  Similarly, it's now the ARRL CW
175   DX contest weekend, so not only does our user not want to see SSB
176   spots, but now doesn't want to see any UHF, VHF, DATA or any
177   US/Canadian "DX" spots. Our user now only accepts HF CW CONTEST spots
178   and in the same rule rejects spots for W and VE stations. In these and
179   many more situations, "filters are our friends."
180
181
182
183   \e[1m4.  Types of spot filters used in DXSpider\e[0m
184
185   Basic filter types are "accept", "reject", and "clear" where the
186   following applies ...
187
188
189
190   Reject filters - any spots that match will be dumped, all others passed on.
191   Accept filters - any spots that match are passed on, all others are dumped.
192   Clear filters  - the filter slot(s) referenced will be cleared from the filter
193                    repository
194
195
196
197   For the most part we will use only reject and accept filters. These
198   are the main filter types. Basically, reject means dump it and accept
199   means take it and pass it on to the user. By nature, accept filters
200   are more powerful than reject filters. A user can generally do with a
201   one line accept rule what it could take many lines of reject rules to
202   accomplish. However, the flip-side of this statement is that a series
203   of reject filters are usually easier to administer and change.
204
205
206   \e[1m4.1.  Numbering lines and slots\e[0m
207
208   There are ten usable filter slots in DXSpider. Each slot holds one
209   reject and one accept rule. Therefore, each type filter can have up to
210   ten lines of rules contained in these ten slots. The filter rules must
211   be numbered sequentially, that is, 0-9 lines of reject filter rules
212   and 0-9 lines of accept filter rules to correspond to their respective
213   slot position. If no number is used, every line is assumed to be in
214   slot 1 and the addition of a second filter line of the same type
215   without a number will just over-write the first that was previously
216   written to slot 1. (Why not slot 0? I don't know. This is the way it
217   works.)
218
219
220   \e[4mImportant:\e[24m The filter rules are applied in sequence, i.e., 0-9. If a
221   line matches, action is taken on that line. The filter sequence acts
222   on rules in the order listed.  It acts on the reject filter in each
223   slot before acting on the accept filter contained in that slot. If the
224   slot is completely blank or if a reject or accept filter line is
225   missing in that slot it skips right over to the next filter rule in
226   the sequence. A picture of a filter set might look like this ...
227
228
229
230        Execution Sequence      Slot Number     Filter Rule
231                1                 Slot0         reject/spot 0 <pattern>
232                2                               accept/spot 0 <pattern>
233                3                 Slot1         reject/spot 1 <pattern>
234                4                               accept/spot 1 <pattern>
235                5                 Slot2         reject/spot 2 <pattern>
236                6                               accept/spot 2 <pattern>
237                .                       .
238                19                Slot9         reject/spot 9 <pattern>
239                20                              accept/spot 9 <pattern>
240
241
242
243   \e[1m4.2.  Reject before accept\e[0m
244
245   This is not a good rule for life, but it makes sense for DXSpider
246   filters. As a general rule, reject filter rules within a slot are
247   always executed before accept filter rules.  There is a very good
248   reason for this.  If a spot doesn't match a reject filter, the spot is
249   passed to the next filter line in the set.  However, if a spot matches
250   an accept filter, it is sent immediately to the user.
251
252   \e[1m4.3.  Using Multiple Reject Filter Rules\e[0m
253
254   Another important concept to know is that you can do everything you
255   want to do with multiple reject filters AND NO ACCEPT FILTERS.  By
256   default, if a spot doesn't match any of the reject filter definitions,
257   then the system considers you want the spot and sends it to you.  For
258   example, the following two filters perform exactly the same thing ...
259
260
261
262        accept/spots on contesthf
263        reject/spots not on contesthf
264
265
266
267   So, why would we choose one rather than the other?  Using reject
268   syntax allows you to add another filter line easily, without
269   disturbing the first line.  A real example will show us how this
270   works.  Let's say that there is a RTTY contest coming up and you don't
271   wish to see the RTTY spots.  Simply add another reject filter like
272   this ...
273
274
275
276        reject/spots 2 on hf/rtty
277
278
279
280   Note that we need to specify that this is the second line of reject
281   filter definitions.  Also, the "RTTY" sub-band specification has to be
282   associated with a range of bands; it can't be specified all by itself.
283   So, we just add it behind the range of bands defined by "HF".  So in
284   our example, if the user does a show/filter, he will be told by the
285   Spider that his current filters are ...
286
287
288
289        filter 1 reject not on contesthf
290        filter 2 reject on hf/rtty
291
292
293
294   With these filters set up, if a spot comes through on 14085 kHz, the
295   filter works like this ...
296
297
298
299        filter1:    Is spot NOT on the HF contest bands?  No.
300                    The spot doesn't match the filter definition, so pass it to
301                    next filter.
302
303        filter2:    Is spot within the frequency range defined for RTTY?  Yes.
304                    Since the spot matches the filter definition, the spot is rejected
305                    and the user never sees it.
306
307
308
309   Had the frequency of the spot been 14025, then the spot would have not
310   matched the filter2 definition either, would have passed through all
311   the filters, and would have been sent to the user at the end of the
312   filter set.  Similarly, had the spot been on 10 MHz, it would have met
313   the definition of filter1, been rejected immediately, and the
314   filtering process would have stopped before processing filter2.
315
316
317   In addition, the filtering system has a rough time handling accept
318   filters followed by reject filters and adds inefficiency to the
319   processing.  (Note: a reject as a "qualifier" to an accept rule in an
320   accept filter line is okay as we will see below)
321
322
323
324   \e[1m4.4.  A very useful command\e[0m
325
326   To see all active filters in use at any time, just type the following
327   command ...
328
329
330
331        show/filter
332
333
334
335   \e[1m4.5.  Case does not matter\e[0m
336
337   In entering any filter - case does not matter. Upper, lower, or mixed
338   case will not effect how filters work or perform.
339
340
341   \e[1m4.6.  Qualifiers\e[0m
342
343   Logical operands can be used in rule sets to combine multiple actions
344   or qualify others. These are ...
345
346
347
348        and     a and b= action
349        not     a not b= action
350        or      a and not (c or b)= action
351
352
353
354   Note: as a general rule when or is used you must also use parentheses
355   ().  We will see how these can be used in examples later.
356
357
358   \e[1m4.7.  Comma Separation\e[0m
359
360   Any command can have multiple pattern variables if commas separate
361   them.  For example ...
362
363
364
365        reject/spot call_state nj,ny,pa,de,md
366
367
368
369   \e[1m5.  Reject filters\e[0m
370
371   A reject filter line means that if a spot matches, send it to the
372   trash, dump it, do not send it down the line to the next rule or to
373   the user, but pass-on all other spots that do not match.
374
375        Syntax: reject/spots [0-9]  <pattern>
376
377
378
379   Any of the following patterns may be used in this line ...
380
381
382
383        freq <range>
384        on <range>
385        info <string>
386        call <prefixes>
387        call_dxcc <numbers>
388        call_itu <numbers>
389        call_zone <numbers>
390        call_state <state 2-letter abbreviations>
391        by <prefixes>
392        by_dxcc <numbers>
393        by_itu <numbers>
394        by_zone <numbers>
395        by_state <state 2-letter abbreviations>
396        origin <prefixes> Used primarily be SYSOPS,  not by users and not discussed.
397        channel <prefixes> Used primarily be SYSOPS,  not by users and not discussed.
398
399
400
401   \e[1m6.  Filters to reject spots based on frequency\e[0m
402
403
404
405        Syntax: reject/spot [0-9] freq <range>
406
407        or
408
409        reject/spot [0-9] on <range>
410
411
412
413   Important: both \e[4mfreq\e[24m and \e[4mon\e[24m are exactly the same and can be used
414   interchangeably - most persons use \e[4mon\e[24m (less typing.)
415
416
417   For range, you can specify a frequency like 7040, a range of
418   frequencies like 0/30000 ( the whole HF band) or use any of the "band"
419   or "region" names defined in the show/bands command.
420
421
422   \e[1m6.1.  Bands Available\e[0m
423
424
425
426   73kHz:          71 -> 75
427   136kHz:         135 -> 138
428   160m:           1800 -> 2000
429   80m:            3500 -> 4000
430   60m:            5258 -> 5407
431   40m:            7000 -> 7400
432   30m:            10100 -> 10150
433   20m:            14000 -> 14350
434   17m:            18068 -> 18168
435   15m:            21000 -> 21450
436   12m:            24890 -> 24990
437   10m:            28000 -> 29700
438   military:       29700 -> 50000, 230000 -> 420000
439   band1:          47000 -> 49999, 52000 -> 68000
440   6m:             50000 -> 52000
441   pmrlow:         68000 -> 87500
442   4m:             70000 -> 70500
443   band2:          87500 -> 108000
444   aircraft:       108000 -> 137500
445   pmrmid:         138000 -> 165000
446   2m:             144000 -> 148000
447   pmrhigh:        165000 => 174000
448   band3:          176000 => 230000
449   220:            220000 => 222000
450   pmruhf:         425000 => 430000, 440000 => 471000
451   70cm:           430000 => 450000
452   band4:          471000 => 550000
453   band5:          550000 => 868000
454   23cm:           1240000 => 1325000
455   13cm:           2310000 => 2450000
456   9cm:            3400000 => 3475000
457   6cm:            5650000 => 5850000
458   3cm:            10000000 => 10500000
459   12mm:           24000000 => 24250000
460   6mm:            47000000 => 47200000
461
462
463
464   \e[1m6.2.  Regions Available\e[0m
465
466
467
468        all:            73khz 136khz 160m 80m 60m 40m 30m 20m 17m 15m 12m 10m 6m 4m
469                        2m 220 70cm 23cm 9cm 6cm 3cm 12mm 6mm
470        vhfradio:       band1 band2
471        vhf:            6m 4m 2m 220
472        contesthf:      160m 80m 40m 20m 15m 10m
473        warc:           60m 30m 17m 12m
474        pmr:            pmrlow pmrmid pmrhigh pmruhf
475        spe:            10m 6m 4m 2m
476        shf:            23cm 13cm 9cm 6cm 3cm
477        vlf:            73khz 136khz
478        uhftv:          band4 band5
479        hf:             160m 80m 60m 40m 30m 20m 17m 15m 12m 10m
480        vhftv:          band1 band3
481        uhf:            70cm 23cm
482
483
484
485   \e[1m6.3.  Examples\e[0m
486
487   The following line will reject spots on 7,040 kHz and pass all others.
488
489
490
491        reject/spot 0 freq 7040
492
493
494
495   The next line will reject spots from 0 to 30,000 kHz and pass on all
496   others.
497
498
499
500        reject/spot 1 on 0/30000
501
502
503
504   This next will trash all spots in the frequency range 144000 -> 148000
505   kHz and pass on all others.
506
507
508
509        reject/spot 2 freq 2m
510
511
512
513   This rule will reject all spots on 6m, 4m, 2m, and 220  and pass on
514   all others.
515
516
517
518        reject/spot 3 on vhf
519
520
521
522   This rule will dump all spots on the 160m, 80m, 60m, 40m, 30m, 20m,
523   17m, 15m, 12m, 10m bands and all spots on 70cm and  23cm bands passing
524   all other spots.
525
526
527
528        reject/spot 4 freq hf and freq uhf
529
530
531
532   This is a special spot to be used only by members of the Yankee
533   Clipper Contest Club during contest weekends. Hi!
534
535
536
537        reject/spot on all
538
539
540
541   \e[1m6.4.  Sub-bands as part of range\e[0m
542
543   In conjunction with range, you can use the following sub-band names,
544
545
546
547        cw, rtty, data, ssb, and sstv
548
549
550
551   by using a forward-slash [(band or region)/sub-band] as part of the
552   range definition.  For example ...
553
554
555   This rule will reject all HF phone spots passing on all others
556
557
558
559        reject/spot 0 freq hf/ssb
560
561
562
563   This filter rule will reject all HF CW spots but will not reject DATA
564   and RTTY spots in the CW range and will pass on all other spots.
565
566
567
568        reject/spot 1 on hf/cw and not (on hf/data or on hf/rtty)
569
570
571
572   \e[1m6.5.  Filters to reject spots based on the "info" data in the spot\e[0m
573
574
575
576        Syntax: reject/spot [0-9] info <string>
577
578
579
580   This filter is used to key on information contained in the information
581   section of the spot. One could use this to reject any spots containing
582   IOTA, QSL OP or any other "key-word" used in the information string of
583   the spot.
584
585
586   Examples ...
587
588
589   This filter will reject spots containing IOTA information and pass on
590   all others
591
592
593
594        reject/spot 0 info IOTA
595
596
597
598   This filter will reject all general CW spots on HF, but will still
599   permit any HF CW spots that contain iota information in addition to
600   passing all others.
601
602
603
604        reject/spot 1 on hf/cw and not info iota
605
606
607
608   This next filter will reject spots asking or containing QSL
609   information and pass on all others
610
611
612
613        reject/spot 2 info QSL
614
615
616
617   Note: The following series of filters are based on \e[4mcall\e[24m and \e[4mby\e[24m.  Call
618   always references the callsign of the spotted DX station.  By always
619   references the callsign of the spotting station.
620
621
622   \e[1m6.6.  Filters to reject spots based on call\e[0m
623
624
625
626        Syntax: reject/spot [0-9] call <prefixes>
627
628
629
630   This filter is misleading in a way. It is strictly based on the
631   spotted call sign letters or numbers entered and not based on
632   countries or DXCC entities.  One could filter on JIMSAM62 if desired.
633
634
635   Examples ...
636
637
638   This filter will reject spots for G1AAA, GJ2BBB, and GW3CCC and will
639   pass on spots for M0AAA.
640
641
642
643        reject/spot 0 call G
644
645
646
647   This next filter will reject spots for PA3AAA and pass on spots for
648   PB4BBB
649
650
651
652        reject/spot 1 call PA
653
654
655
656   This filter will reject spots for K1AA, KC4AAA,  and KH6DDD and pass
657   on spots for W3BG and N3RD
658
659
660
661   reject/spot 2 call K
662
663
664
665   \e[1m6.7.  Filters to reject spots based on call_dxcc\e[0m
666
667
668
669        Syntax:  reject/spot [0-9] call_dxcc <numbers or prefixes>
670
671
672
673   This filter is based on DXCC entities and uses either the country
674   prefix or the DXCC entity number, found by using the command
675   \e[4mshow/prefix\e[24m.
676
677
678   As in ...
679
680
681
682        show/prefix w
683        W DXCC: 226 ITU: 7 CQ: 4 LL: 43 0 N 87 54 W (W, United-States-W)
684
685
686
687        show/prefix VE
688        VE DXCC: 197 ITU: 9 CQ: 5 LL: 45 18 N 66 6 W (VE, New-Brunswick-VE)
689        DXCC: 197 ITU: 9 CQ: 5 LL: 48 30 N 56 0 W (VE, Newfoundland-VE)
690        DXCC: 197 ITU: 9 CQ: 5 LL: 44 36 N 63 36 W (VE, Nova-Scotia-VE)
691        DXCC: 197 ITU: 4 CQ: 5 LL: 45 30 N 73 36 W (VE, Quebec-VE)
692        DXCC: 197 ITU: 4 CQ: 4 LL: 43 42 N 79 24 W (VE, Ontario-VE)
693        DXCC: 197 ITU: 3 CQ: 4 LL: 49 54 N 97 6 W (VE, Manitoba-VE)
694        DXCC: 197 ITU: 3 CQ: 4 LL: 50 30 N 104 36 W (VE, Saskatchewan-VE)
695        DXCC: 197 ITU: 2 CQ: 3 LL: 51 0 N 114 6 W (VE, Alberta-VE)
696        DXCC: 197 ITU: 2 CQ: 3 LL: 49 18 N 123 6 W (VE, British-Columbia-VE)
697        DXCC: 197 ITU: 75 CQ: 1 LL: 60 42 N 135 6 W (VE, Yukon-VE)
698
699
700
701   Example ...
702
703
704   This spot filter will  reject all spots for US and Canada stations and
705   pass on all others.
706
707
708
709        reject/spot 0 call_dxcc 226,197
710
711
712
713   This spot filter will  reject all spots for US and Canada stations and
714   pass on all others including the special event station, W2WTC, who I
715   want to work the next time he is on the air.
716
717
718
719   reject/spot 1 call_dxcc w,ve not call w2wtc
720
721
722
723   \e[1m6.8.  Filters to reject spots based on call_itu\e[0m
724
725   Similarly, call_itu and call_zone use ITU regions that can also be
726   obtained using the show/prefix <prefix> command (see above.)
727
728
729
730        Syntax:  accept/spot [0-9] call_itu <numbers>
731
732
733
734   Example ...
735
736
737   This spot filter will reject all spots for ITU region 7 and pass on
738   all others.
739
740
741
742        reject/spot 0  call_itu 7
743
744
745
746   \e[1m6.9.  Filters to reject spots based on call_zone\e[0m
747
748
749
750        Syntax:  reject/spot [0-9] call_zone <numbers>
751
752
753
754   This filter is based on CQ zones and uses the CQ zone number found by
755   using the command \e[4mshow/prefix\e[24m (see above.)
756
757
758   Example ...
759
760
761   This spot filter will  reject all spots for CQ zone 5 and pass on all
762   others.
763
764
765
766        reject/spot 0 call_zone 5
767
768
769
770   \e[1m6.10.  Filters to reject spots based on call_state\e[0m
771
772
773
774        Syntax:  reject/spot [0-9] call_state <state2-letter abbreviations>
775
776
777   This filter is based on the state of the call spotted, for those
778   callsigns contained in the usdb database.  Use the command \e[4mshow/usdb\e[0m
779   to see an example of a listing in the database, like this ...
780
781
782
783        show/usdb k3ww
784        K3WW    -> Perkasie, PA
785
786
787
788   Example ...
789
790
791   This spot filter will  reject all spots for stations in the Mid-
792   Atlantic states and pass on all others.
793
794
795
796        reject/spot call_state nj,ny,pa,de,md
797
798
799
800   \e[1m6.11.  Filters to reject spots based on by\e[0m
801
802   \e[4mby\e[24m filters are similar to and function exactly as call filters except
803   that they act on the spotting station callsign and not the spotted
804   callsign.
805
806
807   So ...
808
809
810   This filter is similar to and functions like the call <prefixes> (See
811   above) except that it rejects spots generated by the spotting callsign
812   and passes all other spots.
813
814
815
816        Syntax:  reject/spot [0-9] by <prefixes>
817
818
819
820   This next filter is based on DXCC entities and uses the DXCC entity
821   number found by using the command  show/prefix <prefix> and it rejects
822   spots generated within the spotting DXCC entity and passes all other
823   spots.
824
825
826
827        Syntax:  reject/spot [0-9] by_dxcc <numbers>
828
829
830
831   This next filter is based on ITU regions and uses the ITU region
832   number found by using the command \e[4mshow/prefix\e[24m (see above), except that
833   it rejects spots generated by a spotting callsign within the ITU
834   region and passes all other spots.
835
836
837
838   Syntax:  reject/spot [0-9] by_itu <numbers>
839
840
841
842   This filter is based on CQ zones and uses the CQ zone number found by
843   using the command \e[4mshow/prefix\e[24m (see above), except that it rejects
844   spots generated by a spotting callsign within the CQ zone and passes
845   all other spots.
846
847
848
849        Syntax:  reject/spot [0-9] by_zone <numbers>
850
851
852
853   This filter is based on the state of the spotting station found by
854   using the command \e[4mshow/usdb\e[24m and passes all other spots.
855
856
857
858        Syntax:  reject/spot [0-9] by_state <state2-letter postal codes
859
860
861
862   \e[1m7.  Accept filters\e[0m
863
864   An accept filter line means that if a spot matches pass it on to the
865   user, send it down the line to the next rule or to the user, and
866   trash, dump, all other spots that do not match to the next filter
867   line.
868
869
870
871        Syntax: accept/spots [0-9]  <pattern>
872
873
874
875   Any of the following patterns may be used in this line ...
876
877
878
879        freq <range>
880        on <range>
881        info <string>
882        call <prefixes>
883        call_dxcc <numbers>
884        call_itu <numbers>
885        call_zone <numbers>
886        call_state <state2-letter abbreviations>
887        by <prefixes>
888        by_dxcc <numbers>
889        by_itu <numbers>
890        by_zone <numbers>
891        by_state <state2-letter abbreviations>
892        origin <prefixes>   Used primarily be SYSOPS,  not by users and not discussed.
893        channel <prefixes> Used primarily be SYSOPS,  not by users and not discussed.
894
895
896
897   Using these patterns, we can accept spots based upon ...
898
899
900
901        Frequency of the spot
902        Callsign of the spot (country or zone)
903        Callsign of the spotter (country or zone)
904        Contents of the "information field" which comes with the spot
905
906
907
908   \e[1m7.1.  Filters to accept spots based on frequency\e[0m
909
910
911
912        Syntax: accept/spot [0-9] freq <range>
913
914        or
915
916        accept/spot [0-9] on <range>
917
918
919
920   Important: as noted before, both \e[4mfreq\e[24m and \e[4mon\e[24m are exactly the same and
921   can be used interchangeably.
922
923
924   For range, you can specify a frequency like 7040, a range of
925   frequencies like 0/30000 ( the whole HF spectrum) or use any of the
926   band/region names defined in the SHOW/BANDS command (see above).
927
928
929   Examples...
930
931
932   This will pass on a HF spots only from 0 to 30,000 kHz and dump all
933   others.
934
935
936
937        accept/spot 1 on 0/30000
938
939
940
941   This passes on all spots in the frequency range 144000 -> 148000 kHz
942   and trash all others.
943
944
945
946        accept/spot 2 freq 2m
947
948
949
950   This rule will only pass on spots on 6m, 4m, 2m, and 220 and reject
951   all others.
952
953
954
955        accept/spot 3 on vhf
956
957
958   This rule will pass on all spots on the 160m, 80m, 60m, 40m, 30m, 20m,
959   17m, 15m, 12m, 10m bands and all spots on 70cm and 23cm bands only.
960   All other spots are trashed.
961
962
963
964        accept/spot 4 freq hf and freq uhf
965
966
967
968   \e[1m7.2.  Sub-bands as part of range\e[0m
969
970   In conjunction with range, you can use the following sub-band names:
971   CW, RTTY, DATA, SSB, and SSTV by using a back-slash [(band or
972   region)/sub-band] as part of the range definition.
973
974
975   Examples ...
976
977
978   This rule will only accept and pass on HF phone spots rejecting all
979   others
980
981
982
983        accept/spot 0 freq hf/ssb
984
985
986
987   This filter rule will accept all HF CW spots but will not include DATA
988   and RTTY spots in the CW range. In addition all other spots will be
989   dumped.
990
991
992
993        accept/spot 1 on hf/cw and not (on hf/data or on hf/rtty)
994
995
996
997   \e[1m7.3.  Filters to accept spots based on info\e[0m
998
999
1000
1001        Syntax: accept/spot [0-9] info <string>
1002
1003
1004
1005   This filter is used to key on information contained in the information
1006   section of the spot. One could use this to accept any spots containing
1007   IOTA, QSL OP or any other "key-word" used in the information string of
1008   the spot.
1009
1010
1011   Examples ...
1012
1013
1014   This filter will accept spots containing IOTA information only and
1015   reject all others
1016
1017        accept/spot 0 info IOTA
1018
1019
1020
1021   This filter will accept only 10m SSB spots, but will still permit any
1022   spots that contain iota information in addition - rejecting all other
1023   spots.
1024
1025
1026
1027        accept/spot 1 on 10m/ssb and info iota
1028
1029
1030
1031   This next filter will accept spots asking or containing QSL
1032   information and dump all other spots
1033
1034
1035
1036        accept/spot 2 info QSL
1037
1038
1039
1040   Note: The following series of filters are based on \e[4mcall\e[24m and \e[4mby\e[24m.  Call
1041   always references the callsign of the spotted DX station.  By always
1042   references the callsign of the spotting station.
1043
1044
1045   \e[1m7.4.  Filters to accept spots based on call\e[0m
1046
1047
1048
1049        Syntax: accept/spot [0-9] call <prefixes>
1050
1051
1052
1053   This filter is misleading in a way. It is strictly based on the
1054   spotted call sign letters or numbers entered and not based on
1055   countries or DXCC entities.
1056
1057
1058   Examples ...
1059
1060
1061   This filter will accept spots for G1AAA, GJ2BBB, and GW3CCC and reject
1062   all others, including M0AAA.
1063
1064
1065
1066        accept/spot 0 call G
1067
1068
1069
1070   This next filter will accept spots for PA3AAA and reject spots for
1071   PB4BBB as well as all others.
1072
1073
1074
1075        accept/spot 1 call PA
1076
1077
1078   This filter will accept spots for callsigns beginning with "K", i.e.,
1079   K1AA, KC4AAA,  KH6DDD and reject spots for W3BG and N3RD as well as
1080   all other spots.
1081
1082
1083
1084        accept/spot 2 call K
1085
1086
1087
1088   \e[1m7.5.  Filters to accept spots based on call_dxcc\e[0m
1089
1090
1091
1092        Syntax:  accept/spot [0-9] call_dxcc <numbers or prefixes>
1093
1094
1095
1096   This filter is based on DXCC entities and uses either the country
1097   prefixes or the DXCC entity number found by using the command
1098   \e[4mshow/prefix\e[24m. See example of \e[4mshow/prefix\e[24m above.
1099
1100
1101   Examples ...
1102
1103
1104
1105        accept/spot 0 call_dxcc 226,197
1106
1107        or
1108
1109        accept/spot 0 call_dxcc ve,w
1110
1111
1112
1113   (Both will work) These spot filters will accept all spots for US and
1114   Canada stations and trash all others.
1115
1116
1117   The folowing spot filter will accept all spots for US stations and yet
1118   reject any spots for W3FM who is always being spotted by Europeans and
1119   filling up my screen.
1120
1121
1122
1123        accept/spot 1 call_dxcc w not call w3fm
1124
1125
1126
1127   \e[1m7.6.  Filters to accept spots based on call_itu\e[0m
1128
1129   Similarly, call_itu and call_zone use ITU regions that can also be
1130   obtained using the \e[4mshow/prefix\e[24m command (see above.)
1131
1132
1133
1134        Syntax:  accept/spot [0-9] call_itu <numbers>
1135
1136
1137
1138   Example ...
1139
1140
1141   This spot filter will  accept all spots for  ITU region 7 and reject
1142   all others.
1143
1144
1145
1146        accept/spot 0  call_itu 7
1147
1148
1149
1150   \e[1m7.7.  Filters to accept spots based on call_zone\e[0m
1151
1152
1153
1154        Syntax:  accept/spot [0-9] call_zone <numbers>
1155
1156
1157
1158   This filter is based on CQ zones and uses the CQ zone number found by
1159   using the command \e[4mshow/prefix\e[24m (see above.)
1160
1161
1162   Example ...
1163
1164
1165   This spot filter will  accept all spots for CQ zone 5 and reject all
1166   others.
1167
1168
1169
1170        accept/spot 0 call_zone 5
1171
1172
1173
1174   \e[1m7.8.  Filters to accept spots based on call_state\e[0m
1175
1176
1177
1178        Syntax:  accept/spot [0-9] call_state <state2-letter postal codes>
1179
1180
1181
1182   This filter is based on state of the call spotted for those callsigns
1183   contained in the usdb database.
1184
1185
1186   Example ...
1187
1188
1189   This spot filter will  accept all spots of stations located in the
1190   Commonwealth of Pennsylvania and reject all others. It's the PA QSO
1191   Party Weekend.
1192
1193
1194
1195        accept/spot 0  call_state pa
1196
1197
1198   \e[1m7.9.  Filters to accept spots based on by\e[0m
1199
1200   \e[4mby\e[24m filters are similar to and function exactly as call filters except
1201   that they act on the spotting station callsign and not the spotted
1202   callsign
1203
1204
1205   So ...
1206
1207
1208   This filter is similar to and functions like the  call <prefixes> (See
1209   above) except that it accepts spots generated by the spotting callsign
1210   and dumps all other spots.
1211
1212
1213
1214        Syntax: accept/spot [0-9] by <prefixes>
1215
1216
1217
1218   This filter is based on DXCC entities and uses the DXCC entity number
1219   found by using the command \e[4mshow/prefix\e[24m and it accepts spots generated
1220   within the spotting DXCC entity and rejects other spots.
1221
1222
1223
1224        Syntax:  accept/spot [0-9] by_dxcc <numbers>
1225
1226
1227
1228   This next filter is based on ITU regions and uses the ITU region
1229   number found by using the command \e[4mshow/prefix\e[24m (see above), except that
1230   it accepts spots generated by a spotting callsign within the ITU
1231   region and rejects all other spots.
1232
1233
1234
1235        Syntax:  accept/spot [0-9] call_itu <numbers>
1236
1237
1238
1239   This filter is based on CQ zones and uses the CQ zone number found by
1240   using the command \e[4mshow/prefix\e[24m (see above), except that it accepts
1241   spots generated by a spotting callsign within the CQ zone and rejects
1242   all other spots.
1243
1244
1245
1246        Syntax:  accept/spot [0-9] call_zone <numbers>
1247
1248
1249
1250   This filters is based on the state location of the spotting station
1251   found by using the command \e[4mshow/usdb\e[24m and accepts only those spots
1252   generated by stations from the states(s) specified rejecting all other
1253   spots.
1254
1255
1256
1257        Syntax:  accept/spot [0-9] by_state <state2-letter postal codes>
1258
1259
1260   \e[1m8.  Clear filters\e[0m
1261
1262   A clear filter line will delete the slot number specified or all slots
1263   and consequently all filters that have been created by a user.
1264
1265
1266
1267        Syntax: clear/spots [0-9]
1268
1269        or
1270
1271        clear/spots all
1272
1273
1274
1275   Example ...
1276
1277
1278   This will clear any or both accept and reject spot filters in slot 2.
1279
1280
1281
1282        clear/spots 2
1283
1284
1285
1286   This will clear each and every user spot filter  - it will clear out
1287   all filters in all slots.
1288
1289
1290
1291        clear/spots all
1292
1293
1294
1295   Note - if you just want to replace a spot filter, enter the rule again
1296   (with a line number) and it will overwrite the previous filter in that
1297   slot. If you forget the line number, it will overwrite the filter in
1298   slot 1 by default.
1299
1300
1301   \e[1m9.  Some Practice Examples\e[0m
1302
1303   The proceeding sections have discussed the basics of DXSpider filters.
1304   The following are some examples utilizing basic filters and some not
1305   so basic combination filters.
1306
1307
1308   Let's say you don't want to see any of those 6m, 2m, or 220 spots.
1309
1310
1311
1312        reject/spot 0 on uhf
1313
1314
1315
1316   As a good stand alone contest filter ...
1317
1318
1319
1320   accept/spot on contesthf/<mode> where mode is either CW, SSB, or RTTY
1321
1322
1323
1324   Note: since a slot number is not included slot 1 is assumed.
1325
1326
1327   It's a CW contest weekend so you don't want to see any WARC band or
1328   SSB spots.
1329
1330
1331
1332        accept/spots 0 on contesthf/cw
1333
1334
1335
1336   It's the same weekend, but you also don't want to see any US or
1337   Canadian spots, or any rtty and data spots that are included in the CW
1338   portion of the bands.  Any of the following will accomplish the same
1339   result:
1340
1341
1342
1343        reject/spot 0  not on contesthf/cw
1344        reject/spot 1 on contesthf/data
1345        reject/spot 2 call_dxcc w,ve
1346
1347        or
1348
1349        accept/spot 0 on contesthf/cw and not (call_dxcc 226,197 or on contesthf/data)
1350
1351        or
1352
1353        accept/spot 0 on contesthf/cw and not (call_dxcc w,ve or on contesthf/data)
1354
1355
1356
1357   The following two discussions are from the Administrator Manual and
1358   are good "textbook" examples:
1359
1360
1361
1362        rej/spot on hf/cw
1363        acc/spot on 0/30000
1364        acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
1365
1366
1367
1368   Note that accept and reject can be abbreviated. Also, the first filter
1369   has not been specified with a number. This will automatically be
1370   assumed to be number 1.  In this case, we have said to reject all HF
1371   spots in the CW section of the bands but accept all others at HF. Also
1372   accept anything in VHF and above that is spotted in or by operators in
1373   the zones 14, 15 and 16. Each filter slot actually has a 'reject' rule
1374   slot and an 'accept' rule slot. The reject rule slot is executed
1375   BEFORE the accept rule slot.
1376
1377
1378   It was mentioned earlier that after a reject test that doesn't match,
1379   the default for following tests is 'accept', the reverse is true for
1380   'accept'. In the example what happens is that the reject is executed
1381   first, any non hf/cw spot is passed to the accept line, which lets
1382   through everything else on HF.  The next filter line lets through just
1383   VHF/UHF spots from EU.
1384
1385
1386   If you set a reject filter like this ...
1387
1388
1389
1390        reject/spots on hf/cw
1391
1392
1393
1394   Then you will get everything except HF CW spots. You could make this
1395   single filter even more flexible. For example, if you are interested
1396   in IOTA and will work it on CW even though normally you are not
1397   interested in CW, then you could say ...
1398
1399
1400
1401        reject/spots on hf/cw and not info iota
1402
1403
1404
1405   But in that case you might only be interested in iota and say,
1406
1407
1408
1409        accept/spots not on hf/cw or info iota
1410
1411
1412
1413   which achieves exactly the same thing.  Note that since slot numbers
1414   were not used, slot 1 is assumed.
1415
1416
1417   \e[1m10.  Contacts\e[0m
1418
1419   This Primer is a work in progress. Additional features and filters are
1420   added from time to time by Dirk Koopman, G1TLH, the developer behind
1421   DXSpider. So periodic revisions will be made to this document. If you
1422   have any questions, comments, or suggestions relative to this primer
1423   on spot filtering, please contact,
1424
1425
1426
1427        Jim Samuels, W3BG jimsam@comcast.net
1428
1429        or
1430
1431        Dave Hawes, N3RD (W3FRC Cluster SYSOP) dave.n3rd@comcast.net
1432
1433
1434