isdnlog-3.49
|
@ -1,4 +1,4 @@
|
|||
## $Id: Makefile.in,v 1.102 1999/08/29 10:28:11 akool Exp $
|
||||
## $Id: Makefile.in,v 1.103 1999/09/09 11:21:04 akool Exp $
|
||||
##
|
||||
## ISDN accounting for isdn4linux.
|
||||
##
|
||||
|
@ -19,6 +19,9 @@
|
|||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
## $Log: Makefile.in,v $
|
||||
## Revision 1.103 1999/09/09 11:21:04 akool
|
||||
## isdnlog-3.49
|
||||
##
|
||||
## Revision 1.102 1999/08/29 10:28:11 akool
|
||||
## isdnlog-3.48
|
||||
## cosmetics
|
||||
|
@ -749,7 +752,7 @@ SERVICEFILE = /etc/services
|
|||
# DON'T EDIT BELOW THIS LINE
|
||||
######################################################################
|
||||
|
||||
VERSION = 3.48
|
||||
VERSION = 3.49
|
||||
|
||||
MANPAGES = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \
|
||||
isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: isdnrep.c,v 1.76 1999/08/29 10:28:44 akool Exp $
|
||||
/* $Id: isdnrep.c,v 1.77 1999/09/09 11:21:05 akool Exp $
|
||||
*
|
||||
* ISDN accounting for isdn4linux. (Report-module)
|
||||
*
|
||||
|
@ -24,6 +24,9 @@
|
|||
*
|
||||
*
|
||||
* $Log: isdnrep.c,v $
|
||||
* Revision 1.77 1999/09/09 11:21:05 akool
|
||||
* isdnlog-3.49
|
||||
*
|
||||
* Revision 1.76 1999/08/29 10:28:44 akool
|
||||
* isdnlog-3.48
|
||||
* cosmetics
|
||||
|
@ -1904,7 +1907,6 @@ static int print_line(int status, one_call *cur_call, int computed, char *overla
|
|||
static void bprint(one_call *call)
|
||||
{
|
||||
register char *p = call->num[CALLED];
|
||||
register int mobil = 0;
|
||||
auto char target[BUFSIZ], s[BUFSIZ];
|
||||
auto TELNUM number;
|
||||
|
||||
|
|
2727
isdnlog/rate-at.dat
|
@ -1,4 +1,4 @@
|
|||
V:1.10-Germany [03-Sep-1999 19:13:20]
|
||||
V:1.10-Germany [09-Sep-1999 13:17:12]
|
||||
|
||||
# Währungsformat
|
||||
U:%.3f DM
|
||||
|
@ -8,7 +8,7 @@ U:%.3f DM
|
|||
#
|
||||
# (C) Copyright 1999 by Andreas Kool (akool@isdn4linux.de)
|
||||
#
|
||||
# $Id: rate-de.dat,v 1.42 1999/09/08 13:11:04 akool Exp $
|
||||
# $Id: rate-de.dat,v 1.43 1999/09/09 11:21:04 akool Exp $
|
||||
#
|
||||
#
|
||||
# Das "A:" Tag muß folgendermaßen gefüllt werden:
|
||||
|
@ -4768,7 +4768,7 @@ T:*/*=0.06/0,0.46(60)/1
|
|||
#
|
||||
#
|
||||
P:24 Telepassport 99 Plus
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -4832,9 +4832,9 @@ Z:204 Welt 3
|
|||
A:+
|
||||
T:*/*=1.96/60
|
||||
#####################################################################
|
||||
P:24,1 Telepassport 01024 Plus
|
||||
P:24,1 Telepassport Plus
|
||||
G:15-Jul-1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -4890,7 +4890,7 @@ T:*/*=1.96/60
|
|||
#####################################################################
|
||||
P:24,2 Telepassport CbC
|
||||
G:15-Jul-1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -4944,7 +4944,7 @@ T:*/*=1.96/60
|
|||
#####################################################################
|
||||
P:24,3 Telepassport RegionalTarif Plus
|
||||
G:01.05.1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -4997,7 +4997,7 @@ T:*/*=1.96/60
|
|||
#####################################################################
|
||||
P:24,4 Telepassport SüdOst-Tarif
|
||||
G:01.05.1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -5058,9 +5058,9 @@ Z:203 Global 4
|
|||
A:+
|
||||
T:*/*=1.98/60
|
||||
#####################################################################
|
||||
P:24,5 Telepassport SüdOst 01024
|
||||
P:24,5 Telepassport SüdOst
|
||||
G:01.05.1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -5108,7 +5108,7 @@ T:*/*=1.98/60
|
|||
#####################################################################
|
||||
P:24,6 Telepassport StudentenTarif
|
||||
G:01.05.1999
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt 01024
|
||||
C:GmbH, Schwindstraße 3, 60325 Frankfurt
|
||||
C:Name: TelePassport Service GmbH
|
||||
C:Homepage: http://www.telepassport.de
|
||||
C:Hotline: 0800/808 808 8
|
||||
|
@ -14066,7 +14066,6 @@ C:Vielmehr handelt es sich hier nur um die Tarife fuer den
|
|||
C:UUnet Ortstarif-Zugang!
|
||||
C:Dies ist *kein* All-in-One Zugang, es werden zusätzliche Gebühren erhoben!
|
||||
Z:100 Internet
|
||||
A:+49 # FIXME: Verzonung per heute (29-Aug-99) nicht bekannt!
|
||||
A:0191999 # UUnet
|
||||
A:0192333 # NDH
|
||||
T:W/05-09=0.048(60)/1 UUnet
|
||||
|
@ -14798,7 +14797,6 @@ C:Energieversorgung S
|
|||
#
|
||||
P:201 Frag Fred
|
||||
Z:21 Telefonauskunft
|
||||
A:+49 # FIXME: es gibt keine Verzonung, da nur Auskunftsdienste angeboten werden
|
||||
A:11811
|
||||
T:*/*=0.847/0,0.121/6.7
|
||||
#####################################################################
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
NEWS betreffend tools, (rate, isdnrate)
|
||||
|
||||
1999.09.03
|
||||
|
||||
holiday.c: holiday-CC.dat
|
||||
...
|
||||
W:H Feiertag
|
||||
W:* Immer # APPEND THIS
|
||||
|
||||
Hat ein Provider jeden Tag den gleichen Tarif (T:*/...) wird nun statt
|
||||
dem Wochentag 'Immer' ausgegeben. Damit ist eine klarere Unterscheidung
|
||||
zu Providern mit tagesabhaengigen Tarifen gegeben.
|
||||
|
||||
|
||||
1999.09.01
|
||||
|
||||
Neues Feld in struct RATE
|
||||
double Sales; (Mindestgesprächsgebühr)
|
||||
|
||||
rate-CC.dat: Syntaxerweiterung im T:Tag
|
||||
|
||||
T:*.*=0.30|2.20(60)/1
|
||||
Mindestens 0.30, sonst 2.20 per Minute
|
||||
|
||||
aber:
|
||||
|
||||
T:*.*=0.30/0,2.20(60/1
|
||||
0.30 + 2.20/Min (0.30 = Herstellungsgebühr)
|
||||
|
||||
rate-CC.dat: Syntaxerweiterung im C:Tag
|
||||
|
||||
gleichlautende C:Tags werden per '\n' appended
|
||||
|
||||
telnum.c:
|
||||
Dirty hack fuer +1, +7 (s. _getCountry...)
|
||||
|
||||
isdnrate.c:
|
||||
Neue Option -S[v|n] (sort VBN oder Name statt Preis)
|
||||
|
||||
z.B.
|
||||
isdnrate -C -Sv -XHomepage
|
||||
(sortierte Proiderliste mit Homepage)
|
||||
|
||||
|
||||
|
||||
1999.08.24
|
||||
|
||||
rate-CC.dat: Syntaxerweiterung im C:Tag
|
||||
|
||||
folgende C:-Tags sind dzt. in Verwendung:
|
||||
|
||||
C:Name:Provider-Firmenbezeichnung
|
||||
C:Address:Provider-Adresse
|
||||
C:Homepage:http://www.provider.CC
|
||||
C:TarifURL:http://www.provider.CC/tarife/
|
||||
C:EMail:info@povider.CC
|
||||
C:Telefon:0800 123 123
|
||||
C:Telefax:0800 123 123
|
||||
C:Hotline:0800 123 123
|
||||
C:Maintainer:lt@toetsch.at
|
||||
C:Special:Nur Businesskunden
|
||||
C:Zone:Fernzone ab 100 Km
|
||||
C:GT:Gebühentext z.B. 200 Mindestumsatz
|
||||
C:GF:Formeln f. Gebühren
|
||||
(Diese Formeln werden von telrate.cgi - Gesprächsmix ausgewertet)
|
||||
z.B.
|
||||
C:GT:99 Mindestumsatz (per Monat)
|
||||
C:GF:Cost = Ch > 99 ? 0 : 99
|
||||
|
||||
C:GT:Businesskunden ab 5000 Umsatz
|
||||
C:GF:Ch >= 5000 ? 1 : -1
|
||||
|
||||
C:GT:Freischaltgebühr einmalig 480
|
||||
C:GF:Cost = 480/12
|
||||
|
||||
Vom telrate.cgi sind dzt. die Variablen
|
||||
'Ch' ... Kosten pro Mix
|
||||
'MaxCh' ... Teuerste Spalte im Mix
|
||||
'Cost' ... Angefallenen Kosten
|
||||
definiert.
|
||||
|
||||
Ist der Rückgabewert (i.e. die letzte Expression) -1, wird der
|
||||
Provider verworfen (z.B. Mindestumsatz nicht erreicht).
|
||||
|
||||
|
||||
isdnrate:
|
||||
|
||||
isdnrate -D2
|
||||
begibt sich nach dem Starten in den Hintergund
|
||||
isdnrate -CX9 Argentinien
|
||||
verbindet ich mit dem oben gestarteten Daemon und wirft die
|
||||
Tarifliste aus.
|
||||
isdnrate -CD3
|
||||
killed den Daemon wieder
|
||||
|
||||
|
||||
1999.08.24
|
||||
|
||||
Neues Feld in struct RATE
|
||||
double Rhythm[2]; (Takt z.B. 60,1)
|
||||
|
||||
-lt-
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: holiday.c,v 1.15 1999/07/15 16:41:49 akool Exp $
|
||||
/* $Id: holiday.c,v 1.16 1999/09/09 11:21:05 akool Exp $
|
||||
*
|
||||
* Feiertagsberechnung
|
||||
*
|
||||
|
@ -19,6 +19,9 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: holiday.c,v $
|
||||
* Revision 1.16 1999/09/09 11:21:05 akool
|
||||
* isdnlog-3.49
|
||||
*
|
||||
* Revision 1.15 1999/07/15 16:41:49 akool
|
||||
* small enhancement's and fixes
|
||||
*
|
||||
|
@ -195,7 +198,7 @@ typedef struct {
|
|||
} HOLIDATE;
|
||||
|
||||
static char *defaultWeekday[] = { "", /* not used */
|
||||
"", /* empty "Everyday" */
|
||||
"Everyday",
|
||||
"Workday",
|
||||
"Weekend",
|
||||
"Monday",
|
||||
|
@ -363,6 +366,9 @@ int initHoliday(char *path, char **msg)
|
|||
} else if (*s=='H') {
|
||||
d=HOLIDAY;
|
||||
s++;
|
||||
} else if (*s=='*') {
|
||||
d=EVERYDAY;
|
||||
s++;
|
||||
} else {
|
||||
warning(path, "invalid weekday %c", *s);
|
||||
continue;
|
||||
|
@ -428,8 +434,7 @@ static int isHoliday(struct tm *tm, char **name)
|
|||
for (i=0; i<nHoliday; i++) {
|
||||
if ((Holiday[i].month==-1 && Holiday[i].day==day-easter) ||
|
||||
(Holiday[i].month==tm->tm_mon+1 && Holiday[i].day==tm->tm_mday)) {
|
||||
if(name)
|
||||
*name=Holiday[i].name;
|
||||
if(name) *name=Holiday[i].name;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -462,25 +467,21 @@ static char *staticString (char *fmt, ...)
|
|||
|
||||
int isDay(struct tm *tm, bitfield mask, char **name)
|
||||
{
|
||||
julian day;
|
||||
int holiday;
|
||||
char *holiname;
|
||||
|
||||
holiday=isHoliday(tm, &holiname);
|
||||
char *holiname;
|
||||
|
||||
if ((mask & (1<<HOLIDAY)) && holiday) {
|
||||
julian day=(date2julian(tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday)-6)%7+MONDAY;
|
||||
|
||||
if ((mask & (1<<HOLIDAY)) && isHoliday(tm, &holiname)) {
|
||||
if (name) *name=staticString("%s (%s)", Weekday[HOLIDAY], holiname);
|
||||
return HOLIDAY;
|
||||
}
|
||||
|
||||
day=(date2julian(tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday)-6)%7+MONDAY;
|
||||
|
||||
if ((mask & (1<<WEEKEND)) && (day==SATURDAY || day==SUNDAY)) {
|
||||
if (name) *name=staticString("%s (%s)", Weekday[WEEKEND], Weekday[day]);
|
||||
return WEEKEND;
|
||||
}
|
||||
|
||||
if ((mask & (1<<WORKDAY)) && day!=SATURDAY && day!=SUNDAY && !holiday) {
|
||||
if ((mask & (1<<WORKDAY)) && day!=SATURDAY && day!=SUNDAY && !isHoliday(tm, NULL)) {
|
||||
if (name) *name=staticString("%s (%s)", Weekday[WORKDAY], Weekday[day]);
|
||||
return WORKDAY;
|
||||
}
|
||||
|
@ -491,7 +492,7 @@ int isDay(struct tm *tm, bitfield mask, char **name)
|
|||
}
|
||||
|
||||
if (mask & (1<<EVERYDAY)) {
|
||||
if (name) *name=staticString("%s", Weekday[day]);
|
||||
if (name) *name=staticString("%s", Weekday[EVERYDAY]);
|
||||
return day;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: rate.c,v 1.41 1999/08/29 10:29:06 akool Exp $
|
||||
/* $Id: rate.c,v 1.42 1999/09/09 11:21:05 akool Exp $
|
||||
*
|
||||
* Tarifdatenbank
|
||||
*
|
||||
|
@ -19,6 +19,9 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: rate.c,v $
|
||||
* Revision 1.42 1999/09/09 11:21:05 akool
|
||||
* isdnlog-3.49
|
||||
*
|
||||
* Revision 1.41 1999/08/29 10:29:06 akool
|
||||
* isdnlog-3.48
|
||||
* cosmetics
|
||||
|
@ -342,7 +345,7 @@ extern const char *basename (const char *name);
|
|||
#include "country.h"
|
||||
#include "rate.h"
|
||||
|
||||
#define LENGTH 250 /* max length of lines in data file */
|
||||
#define LENGTH 512 /* max length of lines in data file */
|
||||
#define STRINGS 8 /* number of buffers for printRate() */
|
||||
#define STRINGL 64 /* length of printRate() buffer */
|
||||
#define DEFAULT_FORMAT "%.2f" /* default format for printRate() */
|
||||
|
@ -364,6 +367,7 @@ typedef struct {
|
|||
bitfield Day;
|
||||
bitfield Hour;
|
||||
int Freeze;
|
||||
double Sales;
|
||||
int nUnit;
|
||||
UNIT *Unit;
|
||||
} HOUR;
|
||||
|
@ -742,17 +746,21 @@ int initRate(char *conf, char *dat, char *dom, char **msg)
|
|||
|
||||
case 'G':
|
||||
if (ignore) continue;
|
||||
// warning (dat, "Legacy tag '%s'", s);
|
||||
warning (dat, "Legacy tag '%s'", s);
|
||||
break;
|
||||
|
||||
case 'C': /* C:Comment */
|
||||
if (ignore) continue;
|
||||
s+=2; while (isblank(*s)) s++;
|
||||
if ((c=strchr(s,':'))!=NULL) {
|
||||
*c++='\0';
|
||||
*c='\0';
|
||||
c=strip(c+1);
|
||||
for (i=0; i<Provider[prefix].nComment; i++) {
|
||||
if (strcmp (Provider[prefix].Comment[i].Key,s)==0) {
|
||||
warning (dat, "Duplicate Comment '%s'", s);
|
||||
char **value=&Provider[prefix].Comment[i].Value;
|
||||
*value=realloc(*value, strlen(*value)+strlen(c)+2);
|
||||
strcat(*value, "\n");
|
||||
strcat(*value, c);
|
||||
s=NULL;
|
||||
break;
|
||||
}
|
||||
|
@ -760,7 +768,7 @@ int initRate(char *conf, char *dat, char *dom, char **msg)
|
|||
if (s) {
|
||||
Provider[prefix].Comment=realloc(Provider[prefix].Comment, (Provider[prefix].nComment+1)*sizeof(COMMENT));
|
||||
Provider[prefix].Comment[Provider[prefix].nComment].Key=strdup(s);
|
||||
Provider[prefix].Comment[Provider[prefix].nComment].Value=strdup(strip(c));
|
||||
Provider[prefix].Comment[Provider[prefix].nComment].Value=strdup(c);
|
||||
Provider[prefix].nComment++;
|
||||
Comments++;
|
||||
}
|
||||
|
@ -1072,6 +1080,7 @@ int initRate(char *conf, char *dat, char *dom, char **msg)
|
|||
Provider[prefix].Zone[zone].Hour[t].Day=day;
|
||||
Provider[prefix].Zone[zone].Hour[t].Hour=hour;
|
||||
Provider[prefix].Zone[zone].Hour[t].Freeze=freeze;
|
||||
Provider[prefix].Zone[zone].Hour[t].Sales=0.0;
|
||||
Provider[prefix].Zone[zone].Hour[t].nUnit=0;
|
||||
Provider[prefix].Zone[zone].Hour[t].Unit=NULL;
|
||||
|
||||
|
@ -1084,6 +1093,11 @@ int initRate(char *conf, char *dat, char *dom, char **msg)
|
|||
}
|
||||
price=strtod(s,&s);
|
||||
while (isblank(*s)) s++;
|
||||
if (*s=='|') {
|
||||
Provider[prefix].Zone[zone].Hour[t].Sales=price;
|
||||
s++;
|
||||
continue;
|
||||
}
|
||||
divider=0.0;
|
||||
duration=1.0;
|
||||
if (*s=='(') {
|
||||
|
@ -1195,7 +1209,7 @@ char *getProvider (int prefix)
|
|||
char *getComment (int prefix, char *key)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
||||
if (prefix<0 || prefix>=nProvider || !Provider[prefix].used)
|
||||
return NULL;
|
||||
|
||||
|
@ -1358,10 +1372,11 @@ int getRate(RATE *Rate, char **msg)
|
|||
}
|
||||
freeze=Hour->Freeze;
|
||||
Rate->Hour=Hour->Name;
|
||||
Rate->Sales=Hour->Sales;
|
||||
Unit=Hour->Unit;
|
||||
if (now==0.0 && Unit->Duration==0.0)
|
||||
Rate->Basic=Unit->Price;
|
||||
for (i=0; i<Hour->nUnit; i++)
|
||||
for (i=0; i<Hour->nUnit; i++)
|
||||
if ((Rate->Rhythm[0]=Unit[i].Duration)!=0)
|
||||
break;
|
||||
Rate->Rhythm[1]=Unit[Hour->nUnit-1].Duration;
|
||||
|
@ -1391,6 +1406,9 @@ int getRate(RATE *Rate, char **msg)
|
|||
}
|
||||
}
|
||||
|
||||
if (Rate->Charge < Rate->Sales)
|
||||
Rate->Charge = Rate->Sales;
|
||||
|
||||
if (now>0.0)
|
||||
Rate->Rest=now-Rate->Time;
|
||||
|
||||
|
@ -1527,8 +1545,8 @@ void main (int argc, char *argv[])
|
|||
}
|
||||
|
||||
time(&Rate.start);
|
||||
Rate.now=Rate.start + LCR_DURATION;
|
||||
|
||||
Rate.now=Rate.start+153;
|
||||
|
||||
#if 0
|
||||
Rate.prefix = 2;
|
||||
for (i=0; i<10000; i++) {
|
||||
|
@ -1555,8 +1573,8 @@ void main (int argc, char *argv[])
|
|||
exit (0);
|
||||
#endif
|
||||
|
||||
|
||||
#if 1
|
||||
|
||||
#if 0
|
||||
time(&Rate.start);
|
||||
Rate.now=Rate.start + LCR_DURATION;
|
||||
|
||||
|
@ -1593,10 +1611,10 @@ void main (int argc, char *argv[])
|
|||
printf ("%02d.%02d.%04d %02d:%02d:%02d %10s (%6.3f %6.3f) %4d %4.1f %2f/%2f %4ld %4ld %s\n",
|
||||
now.tm_mday, now.tm_mon+1, now.tm_year+1900,
|
||||
now.tm_hour, now.tm_min, now.tm_sec,
|
||||
printRate (Rate.Charge),
|
||||
Rate.Basic, Rate.Price,
|
||||
Rate.Units, Rate.Duration,
|
||||
Rate.Rhythm[0], Rate.Rhythm[1],
|
||||
printRate (Rate.Charge),
|
||||
Rate.Basic, Rate.Price,
|
||||
Rate.Units, Rate.Duration,
|
||||
Rate.Rhythm[0], Rate.Rhythm[1],
|
||||
Rate.Time, Rate.Rest,
|
||||
explainRate(&Rate));
|
||||
}
|
||||
|
@ -1606,7 +1624,7 @@ void main (int argc, char *argv[])
|
|||
|
||||
#else
|
||||
|
||||
printf ("---Date--- --Time-- --Charge-- ( Basic Price) Unit Dur Time Rest\n");
|
||||
printf ("---Date--- --Time-- --Charge-- ( Sales Basic Price) Unit Dur Time Rest\n");
|
||||
|
||||
time(&Rate.start);
|
||||
time(&Rate.now);
|
||||
|
@ -1627,10 +1645,10 @@ void main (int argc, char *argv[])
|
|||
exit (1);
|
||||
}
|
||||
now=*localtime(&Rate.now);
|
||||
printf ("%02d.%02d.%04d %02d:%02d:%02d %10s (%6.3f %6.3f) %4d %4.1f %4ld %4ld\n",
|
||||
printf ("%02d.%02d.%04d %02d:%02d:%02d %10s (%6.3f %6.3f %6.3f) %4d %4.1f %4ld %4ld\n",
|
||||
now.tm_mday, now.tm_mon+1, now.tm_year+1900,
|
||||
now.tm_hour, now.tm_min, now.tm_sec,
|
||||
printRate (Rate.Charge), Rate.Basic, Rate.Price, Rate.Units, Rate.Duration, Rate.Time, Rate.Rest);
|
||||
printRate (Rate.Charge), Rate.Sales, Rate.Basic, Rate.Price, Rate.Units, Rate.Duration, Rate.Time, Rate.Rest);
|
||||
|
||||
sleep(1);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: rate.h,v 1.11 1999/08/25 17:07:18 akool Exp $
|
||||
/* $Id: rate.h,v 1.12 1999/09/09 11:21:06 akool Exp $
|
||||
*
|
||||
* Tarifdatenbank
|
||||
*
|
||||
|
@ -19,6 +19,9 @@
|
|||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Log: rate.h,v $
|
||||
* Revision 1.12 1999/09/09 11:21:06 akool
|
||||
* isdnlog-3.49
|
||||
*
|
||||
* Revision 1.11 1999/08/25 17:07:18 akool
|
||||
* isdnlog-3.46
|
||||
*
|
||||
|
@ -145,6 +148,7 @@ typedef struct {
|
|||
char *Day; /* Wochen- oder Feiertag */
|
||||
char *Hour; /* Bezeichnung des Tarifs */
|
||||
double Basic; /* Grundpreis einer Verbindung */
|
||||
double Sales; /* Mindestumsatz einer Verbindung */
|
||||
double Price; /* Preis eines Tarifimpulses */
|
||||
double Duration; /* Länge eines Tarifimpulses */
|
||||
int Units; /* verbrauchte Tarifimpulse */
|
||||
|
|
|
@ -179,6 +179,8 @@ static int _getCountrycode(char *country, char ** t) {
|
|||
print_msg(PRT_A, "Problem getCountrycode \"%s\" returned\n", country,res);
|
||||
return UNKNOWN;
|
||||
}
|
||||
if (country[1] == '1' || country[1] == '7') /* Fixme: quick hack fuer USA/GUS */
|
||||
return last;
|
||||
Strncpy(c, country, res); /* try shorter because of towns in country.dat */
|
||||
l=strlen(c);
|
||||
while(l>1) {
|
||||
|
|
24
isdnlog/tools/telrate/isdnrate-Readme → isdnlog/tools/telrate/README-telrate
Executable file → Normal file
|
@ -1,6 +1,9 @@
|
|||
Isdnrate CGI
|
||||
Telrate CGI
|
||||
------------
|
||||
|
||||
Telrate.cgi is a web interface to isdnrate for displaying tables & graphics of
|
||||
provider costs.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
|
@ -15,16 +18,17 @@ Installation
|
|||
|
||||
extract index.html,info.html,pics to /usr/local/httpd/htdocs/somedir
|
||||
(default is telrate, that's easiest)
|
||||
|
||||
# cd /usr/local/httpd/htdocs
|
||||
# tar -xzf telrate.tgz
|
||||
|
||||
make it readable for your webserver
|
||||
|
||||
|
||||
edit isdnrate:
|
||||
edit telrate.cgi:
|
||||
--------------
|
||||
location of code file ( .../tools/zone/CC/code )
|
||||
location of isdnrate (only if pipe's are used not sockets)
|
||||
location of telrate (only if pipe's are used not sockets)
|
||||
location of mktemp (should be ok)
|
||||
@prob_zones should be areacodes of villages in zone 1-3
|
||||
qw (from to to .. ) with leading '0'
|
||||
|
@ -32,7 +36,7 @@ edit isdnrate:
|
|||
location of index.html, info.html, pic, (default /telrate/ under htdocs)
|
||||
|
||||
if your /tmp ist not writable by all users, turn of $use_sockets
|
||||
or change the location of the unix socket in both isdnrate's.
|
||||
or change the location of the unix socket in both isdnrate.c and telrate.cgi.
|
||||
|
||||
make a tmp dir below htdocs
|
||||
# mkdir /usr/local/httpd/htdocs/tmp
|
||||
|
@ -69,20 +73,20 @@ PerlSendHeader On
|
|||
Options +ExecCGI
|
||||
</Location>
|
||||
|
||||
NOTE: Running under mod_perl has still some bugs, therefor extension cgi
|
||||
is used by now.
|
||||
-----------------
|
||||
End Apache config
|
||||
|
||||
|
||||
# cp isdnrate /usr/local/httpd/cgi-bin
|
||||
or
|
||||
# cp isdnrate /usr/local/httpd/cgi-bin
|
||||
# chmod 755 /usr/local/httpd/cgi-bin/isdnrate
|
||||
# cp telrate.cgi /usr/local/httpd/cgi-bin
|
||||
# chmod 755 /usr/local/httpd/cgi-bin/telrate.cgi
|
||||
# chmod 644 /etc/isdn/isdn.conf
|
||||
|
||||
edit telnum.c (if not compiled with proper -D ISDN_CC )
|
||||
first line defines TESTat or TEDTnl
|
||||
|
||||
NB: isdnrate uses the following perl modules:
|
||||
NB: telrate.cgi uses the following perl modules:
|
||||
CGI, GD, IO::Handle
|
||||
if you don't have these, point your browser to www.perl.org,
|
||||
and look for CPAN mirrors near your location.
|
||||
|
@ -99,7 +103,7 @@ IMG tags too.
|
|||
Running the Program
|
||||
-------------------
|
||||
|
||||
if $use_sockets is on, start the server instance of isdnlog/bin/isdnrate with
|
||||
if $use_sockets is on, start the server instance of isdnlog/bin/telrate with
|
||||
options -D [-v]
|
||||
as soon as you see "Setup sockets" you can point your browser to
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.2 KiB |
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 5.0::19981217::extensions to HTML 4.0//EN" "hmpro5.dtd">
|
||||
|
||||
|
||||
<HTML>
|
||||
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Telefonkosten</TITLE>
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
|
@ -19,6 +19,8 @@ gm0=pl("gm0");
|
|||
gm1=pl("gm1");
|
||||
info0=pl("info0");
|
||||
info1=pl("info1");
|
||||
list0=pl("list0");
|
||||
list1=pl("list1");
|
||||
function swap(what,on) {
|
||||
if(!ver4) return;
|
||||
var i=on?"1":"0";
|
||||
|
@ -33,46 +35,49 @@ document[what].src=eval(what+i+'.src');
|
|||
.sm {font-family:Sans Serif;font-size:9pt}
|
||||
i {color:#000080}
|
||||
//h1 {font-family:Courier New,Courier}
|
||||
h1,h2,h3,h4,p,td,th,body { font-family:Sans Serif,Arial }
|
||||
h1,p,td,th,body { font-family:Sans Serif,Arial }
|
||||
-->
|
||||
</STYLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#ffffe0">
|
||||
<H1 align="center">Telefonkosten</H1>
|
||||
<P><I>Wieviel</I> kostet ein <I>wie</I> langes Telefongespräch von <I>wo</I> <I>wohin</I> um <I>welche</I> Zeit
|
||||
mit <I>welchem</I> Telefonprovider und <I>warum</I> eigentlich? <I>Wie</I> teuer kommt mir ein bestimmter Gesprächsmix zu
|
||||
verschiedenen Zielen?</P>
|
||||
<H1 ALIGN="center">Telefonkosten</H1>
|
||||
<P><I>Wieviel</I> kostet ein <I>wie</I> langes Telefongespräch von <I>wo</I> <I>wohin</I> um <I>welche</I>Zeit mit
|
||||
<I>welchem</I> Telefonprovider und <I>warum</I> eigentlich? <I>Wie</I> teuer kommt mir ein bestimmter Gesprächsmix
|
||||
zu verschiedenen Zielen?</P>
|
||||
<P>Und vorallem: "<I>Wer</I> ist dabei der billigste?"</P>
|
||||
<P>Das und vieles mehr erfahren Sie hier übersichtlich aufbereitet in Tabellen und Grafiken.</P>
|
||||
<BLOCKQUOTE><table><tr><td>
|
||||
<P><A HREF="/cgi-bin/isdnrate" ONMOUSEOVER="swap('eg',1)"
|
||||
ONMOUSEOUT="swap('eg',0)"><b>Einzelgespräche</b></A><A HREF="/cgi-bin/isdnrate" ONMOUSEOVER="swap('eg',1)"
|
||||
ONMOUSEOUT="swap('eg',0)"><IMG SRC="eg0.jpg" ALT="Einzelgespräch" BORDER="0" WIDTH="60" HEIGHT="39" NAME="eg"
|
||||
HSPACE="10"></A></P>
|
||||
<P><A HREF="/cgi-bin/isdnrate?mix=10" ONMOUSEOUT="swap('gm',false)"
|
||||
ONMOUSEOVER="swap('gm',true)"><b>Gesprächsmix</b></A><A HREF="/cgi-bin/isdnrate?mix=10" ONMOUSEOUT="swap('gm',false)"
|
||||
ONMOUSEOVER="swap('gm',true)"><IMG SRC="gm0.jpg" ALT="Gesprächsmix" BORDER="0" WIDTH="80" HEIGHT="39"
|
||||
NAME="gm" HSPACE="10"></A></P>
|
||||
<TD><A HREF="/cgi-bin/isdnrate" ONMOUSEOVER="swap('eg',1)" ONMOUSEOUT="swap('eg',0)"><IMG SRC="graf.gif"
|
||||
BORDER="0" HSPACE=40 ALT="Grafik Einzelgesprächskosten"></A>
|
||||
</td>
|
||||
<td>
|
||||
<P><A HREF="info.html" ONMOUSEOVER="swap('info',1)"
|
||||
ONMOUSEOUT="swap('info',0)"><IMG SRC="info0.jpg" ALT="Info" BORDER="0" WIDTH="60" HEIGHT="39" NAME="info"
|
||||
HSPACE="10"></A><A HREF="info.html" ONMOUSEOVER="swap('info',1)"
|
||||
ONMOUSEOUT="swap('info',0)"><b>Info</b></A></P>
|
||||
</td>
|
||||
</tr></table>
|
||||
<BLOCKQUOTE><TABLE>
|
||||
<TR>
|
||||
<TD ALIGN="right"> <A HREF="/perl/telrate.cgi" ONMOUSEOVER="swap('eg',1)"
|
||||
ONMOUSEOUT="swap('eg',0)"><B>Einzelgespräche</B></A><A HREF="/perl/telrate.cgi"
|
||||
ONMOUSEOVER="swap('eg',1)" ONMOUSEOUT="swap('eg',0)"><IMG SRC="eg0.jpg" ALT="Einzelgespräch" BORDER="0" WIDTH="80"
|
||||
HEIGHT="40" NAME="eg" HSPACE="10"></A></TD>
|
||||
<TD ROWSPAN="2"><A HREF="/perl/telrate.cgi" ONMOUSEOVER="swap('eg',1)" ONMOUSEOUT="swap('eg',0)"><IMG SRC="graf.gif"
|
||||
BORDER="0" HSPACE="40" ALT="Grafik Einzelgesprächskosten" WIDTH="226" HEIGHT="110"></A> </TD>
|
||||
<TD ALIGN="left"> <A HREF="info.html" ONMOUSEOVER="swap('info',1)" ONMOUSEOUT="swap('info',0)"><IMG
|
||||
SRC="info0.jpg" ALT="Info" BORDER="0" WIDTH="80" HEIGHT="40" NAME="info" HSPACE="10"></A><A HREF="info.html"
|
||||
ONMOUSEOVER="swap('info',1)" ONMOUSEOUT="swap('info',0)"><B>Info / Hilfe</B></A> </TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD ALIGN="right" VALIGN="MIDDLE">
|
||||
<A HREF="/perl/telrate.cgi?mix=10" ONMOUSEOUT="swap('gm',false)"
|
||||
ONMOUSEOVER="swap('gm',true)"><B>Gesprächsmix</B></A><A HREF="/perl/telrate.cgi?mix=10" ONMOUSEOUT="swap('gm',false)"
|
||||
ONMOUSEOVER="swap('gm',true)"><IMG SRC="gm0.jpg" ALT="Gesprächsmix" BORDER="0" WIDTH="80" HEIGHT="40" NAME="gm"
|
||||
HSPACE="10"></A> </TD>
|
||||
<TD ALIGN="left"> <A HREF="/perl/telrate.cgi/list=1" ONMOUSEOVER="swap('list',1)" ONMOUSEOUT="swap('list',0)"><IMG
|
||||
SRC="list0.jpg" ALT="Providerliste" BORDER="0" WIDTH="80" HEIGHT="40" NAME="list" HSPACE="10"></A><A HREF="/perl/telrate.cgi?list=1"
|
||||
ONMOUSEOVER="swap('list',1)" ONMOUSEOUT="swap('list',0)"><B>Providerliste</B></A> </TD></TR>
|
||||
</TABLE>
|
||||
</BLOCKQUOTE>
|
||||
<P></P>
|
||||
<img src="hr.gif" width="600" height=4>
|
||||
<DIV ALIGN="RIGHT">
|
||||
<P CLASS="sm">This calculationengine is powered by <IMG SRC="tux.gif" ALT="Linux" BORDER="0">
|
||||
, created by the <A HREF="http://www.isdn4linux.de">Isdn-Crew</A>.<BR>
|
||||
HTML page and CGI program created by <A HREF="http://www.toetsch.at">Leopold Tötsch</A>,
|
||||
(c) 1999 by <A HREF="mailto:lt@toetsch.at">-lt-</A>.</P></DIV>
|
||||
<IMG SRC="hr.gif" WIDTH="600" HEIGHT="4"> <DIV ALIGN="RIGHT">
|
||||
<P CLASS="sm">This calculationengine is powered by <IMG SRC="tux.gif" ALT="Linux" BORDER="0"> , created by the
|
||||
<A HREF="http://www.isdn4linux.de">Isdn-Crew</A>.<BR>
|
||||
HTML page and CGI program created by <A HREF="http://www.toetsch.at">Leopold Tötsch</A>, (c) 1999 by
|
||||
<A HREF="mailto:lt@toetsch.at">-lt-</A>.</P>
|
||||
</DIV>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 5.0::19981217::extensions to HTML 4.0//EN" "hmpro5.dtd">
|
||||
<HTML><!-- -*-html_mode-*- -->
|
||||
|
||||
<HTML>
|
||||
<!-- -*-html_mode-*- -->
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Telefonkosten</TITLE>
|
||||
<TITLE>Telefonkosten - Info</TITLE>
|
||||
<STYLE TYPE="text/css">
|
||||
<!--
|
||||
.t {font-family:Sans Serif;font-size:10pt}
|
||||
|
@ -10,50 +13,101 @@ i {color:#000080}
|
|||
h1,h2,h3,h4,p,td,th,body { font-family:Sans Serif,Arial }
|
||||
-->
|
||||
</STYLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#ffffe0">
|
||||
<H1>Telefonkosten - Info</H1>
|
||||
|
||||
<H2>Berechnungsmethode</H2><P>
|
||||
Die Berechnung der gewünschten Verbindung erfolgt nach dem selben Takt-
|
||||
und Zonenmodell, wie es auch der jeweilige Provider verwendet. Dabei werden auch
|
||||
Taktwechsel wie z.B. um 18<SUP><font size=-1>00</font></SUP> berücksichtigt. Die Daten
|
||||
können natürlich nur so exakt sein, als die Provider
|
||||
Information zur Verfügung stellen, besonders die Zonentabellen sind
|
||||
häufig ein Geheimnis der Firmen.<p>Wenn Sie also eine Ungenauigkeit
|
||||
feststellen sollten, teilen Sie uns das bitte mit. Wir sind bemüht, die
|
||||
Daten auf dem letzten Stand zu halten.<p>
|
||||
<img src="hr.gif" width="600" height=4>
|
||||
<H2>Autoren und Pfleger der Tarifdaten</H2>
|
||||
<H1 ALIGN="center">Telefonkosten - Info</H1>
|
||||
<UL>
|
||||
<LI><A HREF="#help">Hilfe</A> </LI>
|
||||
<LI><A HREF="#calc">Berechnungsmethode</A> </LI>
|
||||
<LI><A HREF="#gloss">Glossar</A> </LI>
|
||||
<LI><A HREF="#autor">Datenpfleger</A> </LI>
|
||||
<LI><A HREF="#prog">Programmautoren</A> </LI>
|
||||
</UL>
|
||||
<H2><A NAME="help">Hilfe</A></H2>
|
||||
<P>Die Eingabemasken für Einzelgespräche und Gesprächsmix bieten eine Vielzahl von Eingabe- und
|
||||
Auswahlmöglichkeiten. Die meisten davon sind aber eher selbsterklärend. <BR>
|
||||
Tatsächlich eingeben müssen Sie nur die Vorwahl, von der aus Sie wählen und die Vorwahl des
|
||||
gewünschten Zieles, alle anderen Felder haben eine Standardeinstellung.<BR>
|
||||
Sollten Sie weitere Information benötigen, klicken Sie einfach auf das<IMG SRC="help.gif" HSPACE="4"
|
||||
ALIGN="middle" ALT="Fragezeichen" WIDTH="24" HEIGHT="24"> neben dem fraglichen Feld.</P>
|
||||
<P> Eine Übersicht über alle Eingabemöglichkeiten erhalten Sie <A
|
||||
HREF="/perl/telrate.cgi?help=3">hier</A>. <IMG SRC="hr.gif" WIDTH="600" HEIGHT="4" ALT="-----"> </P>
|
||||
<H2><A NAME="calc">Berechnungsmethode</A></H2>
|
||||
<P> Die Berechnung der gewünschten Verbindung erfolgt nach dem selben Takt- und Zonenmodell, wie es der jeweilige
|
||||
Provider verwendet. Dabei werden auch Takt- oder Gebührenwechsel wie z.B. um 18<SUP><FONT
|
||||
SIZE="-1">00</FONT></SUP> berücksichtigt. <BR>
|
||||
Bei Providern, die keinen Sekundentakt verwenden, sind die echten Geprächskosten daher oft höher als die
|
||||
theoretischen, durchschnittlichen Minutenpreise, die normalerweise genannt werden.<BR>
|
||||
Die Daten können natürlich nur so exakt sein, als die Provider Informationen zur Verfügung stellen,
|
||||
besonders die Zonentabellen sind häufig ein Geheimnis der Firmen.</P>
|
||||
<P>Wenn Sie also eine Ungenauigkeit feststellen sollten, teilen Sie <A HREF="#autor">uns</A> das bitte mit. Wir sind
|
||||
bemüht, die Daten immer auf dem letzten Stand zu halten, was nebenbei bemerkt durch die Dynamik des Marktes nicht
|
||||
ganz einfach ist.</P>
|
||||
<P> <IMG SRC="hr.gif" WIDTH="600" HEIGHT="4" ALT="-----"> </P>
|
||||
<H2><A NAME="gloss">Glossar</A></H2>
|
||||
<DL>
|
||||
<DT>Gesprächsherstellungsgebühr</DT>
|
||||
<DD>Fällt bei jedem Gespräch zusätzlich zu der Gesprächsgebühr an - unabhängig von der
|
||||
Gesprächslänge. </DD>
|
||||
<DT>Mindestgesprächsgebühr</DT>
|
||||
<DD>Sie zahlen zumindest diese Gebühr - ist Ihr Gespräch teurer fallen keine erhöhten Kosten an. </DD>
|
||||
<DT>Minutenpreis</DT>
|
||||
<DD>Vergleichswert für Gesprächskosten, ohne weitere Gebühren - stimmt bestenfalls dann mit den
|
||||
wirklichen Kosten überein, wenn 60 durch den Takt ohne Rest teilbar ist. </DD>
|
||||
<DT>Tag / Zeit</DT>
|
||||
<DD>Einige Povider verrechnen pro Tageszeit / Wochentag unterschiedliche Preise, andere haben Einheitspreise. </DD>
|
||||
<DT>Takt</DT>
|
||||
<DD>Bei jedem Taktimpuls erhöht sich der Gesprächspreis um die Gebühreneinheit. Je kürzer der Takt,
|
||||
umso genauer die Abrechnung. <BR>
|
||||
Bei einem Takt von 60 Sekunden und einer durchschnittlichen Gesprächszeit von einer Minute sind die
|
||||
Gesprächskosten im Schnitt um 50 % höher, als bei sekundengenauer Abrechnung. </DD>
|
||||
<DT>Takt 60/1</DT>
|
||||
<DD>Sie zahlen auf jeden Fall die erste Minute, auch wenn sie kürzer telefonieren, nach der ersten Minute wird
|
||||
sekundengenau abgerechnet. </DD>
|
||||
<DT>Takt <I>n</I>/<I>m</I></DT>
|
||||
<DD>Allgemein, sie zahlen zumindest <I>n</I> Sekunden, am Ende des Gesprächs ist der Takt dann <I>m</I> Sekunden.
|
||||
</DD>
|
||||
<DT>Variabler Takt</DT>
|
||||
<DD>Die Taktlänge ist nicht konstant, sondern ändert sich mit der Tageszeit. </DD>
|
||||
<DT>Zone</DT>
|
||||
<DD>Gebiet mit gleichen Gebühren, von Provider zu Provider unterschiedlich. Im Inland verzichten immer mehr
|
||||
Provider auf eine Unterteilung in Zonen. </DD>
|
||||
</DL>
|
||||
<IMG SRC="hr.gif" WIDTH="600" HEIGHT="4" ALT="-----"> <H2><A NAME="autor">Pfleger der Tarifdaten</A></H2>
|
||||
<H3>Österreich</H3>
|
||||
<UL>
|
||||
<LI><A href="mailto:reinelt@eurnet.at">Michael Reinelt</A>
|
||||
<LI><A href="mailto:lt@toetsch.at">Leopold Tötsch</A>
|
||||
<LI><A HREF="mailto:reinelt@eurnet.at">Michael Reinelt</A> </LI>
|
||||
<LI><A HREF="mailto:lt@toetsch.at">Leopold Tötsch</A> </LI>
|
||||
</UL>
|
||||
<P></P>
|
||||
<H3>Deutschland</H3>
|
||||
<UL>
|
||||
<LI><A href="mailto:joe@mbs.gtn.com">Jochen Erwied</A>
|
||||
<LI><A href="mailto:akool@isdn4linux.de">Andreas Kool</A>
|
||||
<LI><A href="mailto:awkwar@digitalprojects.de">Alexander Skwar</A>
|
||||
<LI><A HREF="mailto:joe@mbs.gtn.com">Jochen Erwied</A> </LI>
|
||||
<LI><A HREF="mailto:akool@isdn4linux.de">Andreas Kool</A> </LI>
|
||||
<LI><A HREF="mailto:awkwar@digitalprojects.de">Alexander Skwar</A> </LI>
|
||||
</UL>
|
||||
<H3>Niederlande</H3>
|
||||
<UL>
|
||||
<LI><A href="mailto:paul@isdn4linux.de">Paul Slootman</A>
|
||||
<LI><A HREF="mailto:paul@isdn4linux.de">Paul Slootman</A> </LI>
|
||||
</UL>
|
||||
|
||||
<img src="hr.gif" width="600" height=4>
|
||||
<p>
|
||||
<A HREF="/telrate/index.html">Startseite <IMG WIDTH="60" HSPACE="8" HEIGHT="39"
|
||||
BORDER="0" SRC="/telrate/start.jpg"></A>
|
||||
|
||||
<A HREF="/perl/isdnrate">Einzelgespräch <IMG WIDTH="60" HSPACE="8"
|
||||
HEIGHT="39" BORDER="0" SRC="/telrate/eg0.jpg"></A>
|
||||
|
||||
<A HREF="/perl/isdnrate?mix=10">Gesprächsmix <IMG WIDTH="80" HSPACE="8"
|
||||
HEIGHT="39" BORDER="0" SRC="/telrate/gm0.jpg"></A>
|
||||
|
||||
<H2><A NAME="prog">Programmautoren</A></H2>
|
||||
<UL>
|
||||
<LI><A HREF="mailto:akool@isdn4linux.de">Andreas Kool</A> </LI>
|
||||
<LI><A HREF="mailto:reinelt@eurnet.at">Michael Reinelt</A> </LI>
|
||||
<LI><A HREF="mailto:lt@toetsch.at">Leopold Tötsch</A> </LI>
|
||||
</UL>
|
||||
<IMG SRC="hr.gif" WIDTH="600" HEIGHT="4" ALT="-----">
|
||||
<P>
|
||||
<A HREF="/telrate/index.html">Startseite
|
||||
<IMG WIDTH="80" HSPACE="4" HEIGHT="40" BORDER="0" SRC="/telrate/start.jpg" ALT="Startseite"></A>
|
||||
<A HREF="/perl/telrate.cgi">Einzelgespräch
|
||||
<IMG WIDTH="80" HSPACE="4" HEIGHT="40" BORDER="0" SRC="/telrate/eg0.jpg" ALT="Einzelgespräch"></A>
|
||||
<A HREF="/perl/telrate.cgi?mix=10">Gesprächsmix
|
||||
<IMG WIDTH="80" HSPACE="4" HEIGHT="40" BORDER="0" SRC="/telrate/gm0.jpg" ALT="Gesprächsmix"></A>
|
||||
<A HREF="/perl/telrate.cgi?list=1">Providerliste
|
||||
<IMG WIDTH="80" HSPACE="4" HEIGHT="40" BORDER="0" SRC="/telrate/list0.jpg" ALT="Providerliste"></A> </P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -94,8 +94,8 @@ test:
|
|||
#
|
||||
zonefiles: AT DE NL
|
||||
|
||||
AT: AT-pta AT-1002 AT-1007 AT-1012 AT-1024 AT-1066
|
||||
.PHONY: AT-pta AT-1002 AT-1007 AT-1012 AT-1024 AT-1066
|
||||
AT: AT-pta AT-1002 AT-1007 AT-1012 AT-1024 AT-1066 AT-1004
|
||||
.PHONY: AT-pta AT-1002 AT-1007 AT-1012 AT-1024 AT-1066 AT-1004
|
||||
|
||||
AT-pta:
|
||||
$(BZIP2) -d at/pta/zred.pta.bz2
|
||||
|
@ -106,6 +106,10 @@ AT-1002:
|
|||
$(BZIP2) -d at/uta/zred.uta.bz2
|
||||
./$(PROGRAM) -d ../../zone-at-uta$(DBEXT) -r at/uta/zred.uta -c at/code -v
|
||||
$(BZIP2) -9 at/uta/zred.uta
|
||||
AT-1004:
|
||||
$(BZIP2) -d at/1004/zred.bz2
|
||||
./$(PROGRAM) -d ../../zone-at-1004$(DBEXT) -r at/1004/zred -c at/code -v
|
||||
$(BZIP2) -9 at/1004/zred
|
||||
AT-1007:
|
||||
$(BZIP2) -d at/1007/zred.bz2
|
||||
./$(PROGRAM) -d ../../zone-at-1007$(DBEXT) -r at/1007/zred -c at/code -v
|
||||
|
|