Hallo Michi, Andreas, et al
Irgendwie ist mir fast die Mailbox uebergelaufen, wenn ich jetzt auf jede
Antwort der Antwort und auf jede Antwort antworte, dann - was wollte ich
eigentlich schreiben - a ja Alzheimer ;-)
Also telnum/normalizeNumber zeigt schoen die Vorgehensweise auf, die wir
brauchen.
1) Absplittung der Providernummer
TODO: VBN + Flag VBN_GERMANY (5/6-stellige Nummmer) aus isdn.conf lesen.
2) Absplittung des Landes mittels getCountrycode (country.dat).
TODO: Erweiterung: Sonderbehandlung in country.c 001 (USA/Kanada), die
Staedte sind schon eine Draufgabe sollten aber wenns viele sind (was ich
glaube :-) eine eigene Zonendatei 001 bekommen.
3) Unterscheidung Sondernummer / "Normale" Rufnummer (getArea, rate-CC.dat)
Wir brauchen das unbedingt, das kann nicht entfallen. Michi ich sag nur
19430.
(Eine oesterreichweit ueber Provider 1001 verfuegbare Nummer, die eben nicht
im Ortsnetz liegt)
19430 ist also eine Sondernummer - finito.
Und die Bezeichnung sollte von getArea()
4a) 0180 123456 und Konsorten:
Die Vorwahl ist 0180 die Rufnummer ist 123456, aber die Zone ergibt sich aus
01801 - getZone() kann das schon (!!!), die 0180 und Konsorten sind daher
ganz "normale" Rufnummern, brauchen einen Eintrag in code der so aussieht:
1801 Shared Cost Service 3
(s. auch zone/nl/code)
Der 3er in der 3.Spalte ist die Laenge der Vorwahl.
Da die Zone wahrscheinlich nicht einheitlich ist erfolgt die Zurordnung der
Zonen per rate-de.dat
getArea() kann da gar nicht die Laenge liefern, da eben die Laenge der
Nummer, die die Zone bestimmt, nicht der Laenge der Vorwahl entspricht.
Ergo: Sondernummern sind Nummern fixer Laenger, wenn man was dahinter
waehlen kann, ist das eine Vorwahl die in CC/code und in rate-CC.dat drin
stehen.
4b) 0700, Handynummern sind ganz normale Nummern in eigener Zone, daher mit
Eintrag in CC/code (->Bezeichnung, Laenge) und Eintrag in rate-CC.dat
(Preis, Takt)
4c) Staedte (s. 4b)
Was gibt's noch fuer "echte" Sondernummern (Polizei und Konsorten, Auskunft,
..), sonst IMHO nix.
Kurz
Nummer CC/code rate-CC.dat
+43 1 x 1 Wien Z:x,T:
+49 180 1 x 1801 Service_180 3 Z:81,A:+491801,T:nnn
+43 664 x 664 Mobil Z:10,A:+43664,T:nnn
+43 144 - Z:0 Free, A:144
+43 19430 - Z:4 Online, A:19430, T:nnn
Die ersten 3 sind normale Nummern, die letzten beiden sind Sondernummern.
Reihenfolge der Auswertung wie gehabt:
1. getArea() Sondernummer Ja (fertig, =>Text=Zone) / Nein
2. getZone() =>Laenge, Text
TODO:
Das braucht der isdnlog nicht, aber das LCR/isdnrate:
4d) Es gibt Nummern, die nicht bei jedem Provider zur Verfuegung stehen (s.
auch Andreas DEM 9.99/1) Eine Unterscheidung ueber den Preis 9.99 ist
natuerlich etwas wackelig (ISDN-IT). Und - Andreas - es fallen Gebuehren an.
Auch wenn keine Gebuehren anfallen brauchen wir das, denn es ist fuer LCR
ein eklatanter Unterschied ob du mit einem Provider irgendwo hin _gratis_
telefonieren oder _gar_nicht_ kannst.
Vorschlag:
Eine spezielle Zonen (i.e. nicht erreichbar)
Z.B.
P:02
Z:9999
A:19430,19440 # rien ne va plus
Beim Provder 1002 ist 19430 nicht zu waehlen.
4e) Provider DE P:25 Citykom (oder in AT:Telekabel)
Diese bieten ihr Service nur _von_ einem bestimmten Rufnummerkreis aus an.
Wir brauchen also einen neuen Tag in rate-CC.dat (F:rom, V:on sind leider
vergeben, daher eX:clusive) und eine Notation:
Vorschlag:
Z.B.
X:+492???,-492111,+49548?,-495482
Der Provider bietet sein Service nur von den angegebenen Nummern, '+', aber
innerhalb dieser Nummern nicht '-' von diesen Nummern (Die ??? stehen da
wegen der Laenge)
Ob der 49 da drin steht ist Geschmackssache, bzw. wahrscheinlich ja, da der
jetzige Code auch solche Nummern matched.
Weiters gehoeren die Nummern wohin du bei dem Provider im Inland waehlen
kannst in eine eigene Zonendatei.
Der isdnlog braucht das wie gesagt nicht, da solche nicht waehlbaren Nummern
auch nicht aufgeloest werden muessen aber LCR/isdnrate brauchts.
Weiteres Vermischtes:
>> 3. isdnlog raucht grunds�tzlich in "isdnlog/processor.c/prepareRate()"
>> ab, weil "chan" pl�tzlich 153 ist.
Das sind doch die default-Sekunden vom LCR oder ist das Zufall.
> und eigentlich k�nnte dann das src[2] und dst[2] fallen,
In der struct Rate brauchst du das wirklich nicht. Die Verwaltung der
Nummern ist eh schon in der struct Num.
- isdnrate.c sollte besser telrate.c heissen, es hat mit ISDN ja eigentlich
nichts zu tun.
- Ungarische Notation
pszDasIstEinString <-> s
iMeinZaehlerFuerDieSchleife <-> i
Ich bin 18:1 und 27:1 fuer die 2. Variante
- rate-de.dat
Die Country-Warnungen sollten bald raus.
- Zeitplan:
Irgendwann demnaechst sollten wir eine stabile Version (inkl. aktualisierter
Doku :-( ) herausbringen. (s. auch zig Postings auf de.alt.comm.isdn4linux).
Dann gibt's fuer diese Version ein Code-Freeze und eine Aufsplittung in
einen Entwicklerzweig.
Kommt da die Umorganisation von rate.c (alle Provider (Varianten/Datum))
noch hinein, oder soll das spaeter kommen (Michi?)
Wie schauts mit dem aktiven LCR aus (Andreas?)
> Anyway: Ich w�nsche euch allen da drau�en eine gute Nacht! Hat eigentlich
> irgend jemand von euch vor, zum Linux-Kongress nach Augsburg zu
> kommen?
Wann /wie lange issn das?
_______________________________________________
Rates4linux-devel mailing list
[EMAIL PROTECTED]
http://lists.SourceForge.net/mailman/listinfo/rates4linux-devel
------------------------------------------------------------------------
Life's too short to send boring email. Let SuperSig come to the rescue.
http://click.egroups.com/1/6809/6/_/_/_/963501624/
------------------------------------------------------------------------
To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]