Hallo Verzoner,

Kurze Anweisung zum Erstellen von Verzonungsfiles fuer andere Provider.

1) Erstellen der Zonenfiles
Die Ausgangsdatei (zoneall.provider) sollte folgendes Format haben:

von zu zone
...
wobei 'zu' Stringmaessig groesser als 'von' ist.
Das Umsortieren sollte auch die 'normalize'-Funktion von redzone erledigen.
Kommen Wildcards schon in der Ausgangsdatei vor und ist diese unsortiert
muessen in redzone in der funtion normalize 2 Zeilen eingefuegt werden:
-- redzone.0_91 Mon Jun  7 11:33:48 1999
+++ redzone Tue Jun  8 12:07:44 1999
@@ -122,6 +122,8 @@
chomp;
($from, $to, $z) = split(/\s+/);
($to, $from) = ($from, $to) if ($from gt $to);
+ $from .= 'X' x ($LEN-length($from));
+ $to .= 'X' x ($LEN-length($to));
print OUT "$from $to $z\n";
print STDERR "$i\r" if ($verbose >= 2 && $i%1000==0);
$i++;

Beispiel fuer eine Ausgangsdatei:
zoneall.dtag:
201 202 3
201 203 2
201 2041 3
...
201 208 2
...
201 3 4
201 4 4
...
Die letzten beiden Eintraege dienen als Wildcard, da sonst die Ausgangsdatei
sich auf 500MB aufblaest. Diese Wildcards muessen zum Verifizieren der
Datenbanken entfernt werden (s. auch de/mzall).
Die Zonen muessen mit denen in tarif-CC.dat fuer diesen Provider definierten
zusammenstimmen.

2) Reduzieren der Zonendatei
../redzone -z zoneall.provider -r zred.provider -l5
Fuer DE ist die Angabe der Laenge '5' obligatorisch.
In redzone an ein paar Stellen ein TMPDIR (als '.') definiert, dass muss man
ev. anpassen oder entfernen.
Ein >df ist auf jeden Fall eine praktisch Sache.
Die reduzierte Datei schaut dann ausschnittsweise so aus:
201 202 3
202 206 3
201 20 2
...
201 2 4
...
D.h. von oben nach unten gelesen, stehen oben die Ausnahmen und unten die
Defaultwerte.

...
202 205 2
202 20 3
..
202 201 127

Die Eintrage fuer 202 funktionieren wieder genau so nur dass hier in der
letzten Zeile ein Link auf 201 steht, d.h. zuerst stehen die Ausnahmen, dann
gehts bei 201 weiter.


3) Erstellen der Datenbank
../mkzonedb -r zred.provider -d ../zone-CC-provider.gdbm -f
Mittels -f (forcenew) wird auf jeden Fall eine neu DB erzeugt und nicht die
alte upgedatet.

4) Verifzieren der Ergebnisse
../zone -z zoneall.provider -d ../zone-CC-provider.gdbm -v

5) Patchen/Korrigieren
Die reduzierte Tabelle kann jederzeit mit Ausnahmen erweitert werden, aber
Achtung, wenn ein Link auf diesen Eintrag existiert muss ev. dort auch die
Ausnahme eingetragen werden.

Z.B. in obiger Tabelle
201 3xyz habe nicht Zone 4 sondern Zone 3

201 2 4
201 3xyz 3
201 3 4
...
aber durch den Eintrag
202 201 127
bekommt auch 202 3xyz diese Aenderung, daher muesste auch
202 3xyz 4
als Ausnahme eingetragen werden.
Bei umfangreichen Aenderungen ist es wahrscheinlich einfacher die
Ausgangsdatei zu korrigierenn und fuehrt sicher auch zu kleineren Tabellen.

s. auch
zoneutils.html

leo

_______________________________________________
Rates4linux-devel mailing list
[EMAIL PROTECTED]
http://lists.SourceForge.net/mailman/listinfo/rates4linux-devel

Antwort per Email an