Hallo alle, hallo Andreas,

destination besser gesagt dest.c laeuft, die "physische Einbindung" in den
Source-code (isdn-log/rep/conf/rate) ist ok, d.h. es kompiliert durch ohne
dass country.o eingebunden ist.

Nun aber folgt das weit kompliziertere Problem, d.h. die "logische
Einbindung" oder die Nutzung der Funktionalitaet von dest.c.

Das Interface schaut so aus:
int initDest(char *path, char**msg);
int exitDest(void);
[obige ersetzen init/exit-Country]
und

int getDest(char *number_or_name, TELNUM *num);

1) getDest erwartet dzt. eine "vollstaendige" Telefonummer ohne Provider
z.b. +43255523780
Was liefert isdnlog bzw. der D-Kanal bei nationalen / Ortsgespraechen?
Soll getDest() myarea / mycountry vor die Nummer setzen, wenn das
offensichtlich nicht da ist?

2) Ergebnis von getDest ist eine gefuellte Struktur TELNUM - leicht
geaendert, statt der struct COUNTRY ein char *country (Landesbezeichnung)
und zusaetzlich char *keys (das sind die Laender/Staedte-Codes, die der
rate-Preprozessor in rate-CC.dat in die A:Tags einsetzt)

3) Einbindung in isdnlog und getRate
isdnlog ruft per vnum() normalizeNumber() d.h. getDest() fuer CALLING,
CALLED, CLIP und REDIR auf und speichert dann das Ergebnis in .areacode,
.vorwahl .rufnummer ...
Irgendwann spaeter wird dann getRate mit diesen Felder aufgerufen, das dzt.
diese Nummernteile wieder zusammenkopiert und den laengsten Match in den
gespeichert Vorwahlen sucht.
Nun wird fuer Laender und Staedte aus country-de.dat ein Schluessel
verwendet, getRate muss die TELNUM.keys matchen, d.h. getRate muss nun noch
einmal getDest mit der uebergebenen Nummer aufrufen um die .keys zu
bekommen.

Das ist "suboptimal", da die dest-Datenbank zumindest doppelt mit der selben
Nummer befragt wird.
Loesung:
a) kurzfristig: getDest cached die letzten ~10 Nummern
b) erwuenscht: isdnlog / getRate verwenden die Struktur TELNUM, um die
vollstaendige Information (dekodierte Telefonnummer) herumzureichen.
Weiters wird die Abfrage getArea (=isSonderNummer) in isdnlog durchgefuehrt
und von normalizeNumber noch einmal.

Comments welcome

leo


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

Antwort per Email an