New entries "CALLFILE" and "CALLFMT" documented
     Small Correction from Markus Werner <mw@empire.wolfsburg.de>
     cosmetics

 - isdnrep.c
     Bugfix (Thanks to Arnd Bergmann <arnd@uni.de>)

 - processor.c
     Patch from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
       Makes CHARGEMAX work without AOC-D

     Patch from Stefan Gruendel <sgruendel@adulo.de>
       gcc 2.7.2.1 Optimizer-Bug workaround
This commit is contained in:
akool 1998-10-04 12:03:54 +00:00
parent 26eb0de911
commit f5fb28b660
3 changed files with 88 additions and 10 deletions

View File

@ -1,9 +1,9 @@
ISDNLOG - Version pre3.0 - 07-Jun-98 21:40
ISDNLOG - Version pre3.0 - 04-Oct-98 12:33
isdnlog ist ein Utility zur Auswertung des D-Kanal eines ISDN-BRI Anschlusses.
isdnlog-3.0 wurde ausgiebig mit Linux-2.0.33 / isdn4kernel-2.0.30
isdnlog-3.0 wurde ausgiebig mit Linux-2.0.35 / isdn4kernel-2.0.30
getestet.
@ -12,7 +12,7 @@ Fuer alle, die es nun ueberhaupt nicht mehr abwarten koennen, hier das
Quick-Installation-Guide
------------------------
1. Linux-2.0.33 + isdn4kernel-2.0.30 verwenden:
1. Linux-2.0.35 + isdn4kernel-2.0.30 verwenden:
CONFIG_ISDN=m
CONFIG_ISDN_DRV_HISAX=m
@ -824,6 +824,16 @@ Die Syntax ist unter "Info-Args" der Dateien "callerid.conf" und"~/.isdn"
zu finden.
Sobald die Calling party number ueber die Leitung kommt, wird diese in eine
spezielle Datei geschrieben. Dieses Feature wird ueber zwei
Konfigurationseinstellungen (CALLFILE und CALLFMT) in der isdn.conf aktiviert.
Beispiel:
CALLFILE = /var/log/caller.log
CALLFMT = %b %e %T %N7 %N3 %N4 %N5 %N6
4.2 Die Dateien "callerid.conf" und "~/.isdn"
---------------------------------------------
@ -3323,7 +3333,7 @@ Generell spricht nichts dagegen, ChargeInt einzukompilieren. Der Patch
ist "abwaertskompatibel", d.h., wer nicht explizit per Hand oder Programm
ein
isdnctrl device chargeint Takt
isdnctrl chargeint device Takt
gibt, wird keinerlei Aenderungen feststellen. Zudem enthaelt der Patch
fuer isdnctrl die nette Moeglichkeit, mit einem einzigen isdnctrl-Befehl

View File

@ -1,4 +1,4 @@
/* $Id: processor.c,v 1.27 1998/10/03 18:05:55 akool Exp $
/* $Id: processor.c,v 1.28 1998/10/04 12:04:05 akool Exp $
*
* ISDN accounting for isdn4linux. (log-module)
*
@ -19,6 +19,22 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: processor.c,v $
* Revision 1.28 1998/10/04 12:04:05 akool
* - README
* New entries "CALLFILE" and "CALLFMT" documented
* Small Correction from Markus Werner <mw@empire.wolfsburg.de>
* cosmetics
*
* - isdnrep.c
* Bugfix (Thanks to Arnd Bergmann <arnd@uni.de>)
*
* - processor.c
* Patch from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
* Makes CHARGEMAX work without AOC-D
*
* Patch from Stefan Gruendel <sgruendel@adulo.de>
* gcc 2.7.2.1 Optimizer-Bug workaround
*
* Revision 1.27 1998/10/03 18:05:55 akool
* - processor.c, takt_at.c : Patch from Michael Reinelt <reinelt@eunet.at>
* try to guess the zone of the calling/called party
@ -1416,6 +1432,14 @@ static int facility(int type, int l)
} /* facility */
/* gcc 2.7.2.1 Optimizer-Bug workaround from Stefan Gruendel <sgruendel@adulo.de> */
static int facility_start(char *p, int type, int l)
{
asnp = p;
return(facility(type, l));
} /* facility_start */
static int AOC_1TR6(int l, char *p)
{
auto int EH = 0;
@ -1909,8 +1933,7 @@ static void decode(int chan, register char *p, int type, int version)
#if defined(ISDN_NL) || defined(ISDN_CH)
n = AOC_1TR6(l, p);
#else
asnp = p;
n = facility(AOC_INITIAL, 0);
n = facility_start(p, AOC_INITIAL, 0);
#endif
if (n == AOC_OTHER)
@ -2147,6 +2170,35 @@ static void decode(int chan, register char *p, int type, int version)
if ((c = call[chan].confentry[OTHER]) > -1) {
known[c]->charge -= known[c]->rcharge;
known[c]->charge += pay;
if (chargemax != 0.0) { /* only used here if no AOC-D */
if (day != known[c]->day) {
sprintf(s, "CHARGEMAX resetting %s's charge (day %d->%d)",
known[c]->who, (known[c]->day == -1) ? 0 : known[c]->day, day);
info(chan, PRT_SHOWCHARGEMAX, STATE_AOCD, s);
known[c]->scharge += known[c]->charge;
known[c]->charge = 0.0;
known[c]->day = day;
} /* if */
} /* if */
if (connectmax != 0.0) { /* only used here if no AOC-D */
if (month != known[c]->month) {
sprintf(s, "CONNECTMAX resetting %s's online (month %d->%d)",
known[c]->who, (known[c]->month == -1) ? 0 : known[c]->month, month);
info(chan, PRT_SHOWCHARGEMAX, STATE_AOCD, s);
known[c]->sonline += known[c]->online;
known[c]->online = 0.0;
known[c]->month = month;
known[c]->sbytes += known[c]->bytes;
known[c]->bytes = 0.0;
} /* if */
} /* if */
} /* if */
} /* else */
} /* if */

View File

@ -1,4 +1,4 @@
/* $Id: isdnrep.c,v 1.45 1998/10/03 18:06:35 akool Exp $
/* $Id: isdnrep.c,v 1.46 1998/10/04 12:04:21 akool Exp $
*
* ISDN accounting for isdn4linux. (Report-module)
*
@ -24,6 +24,22 @@
*
*
* $Log: isdnrep.c,v $
* Revision 1.46 1998/10/04 12:04:21 akool
* - README
* New entries "CALLFILE" and "CALLFMT" documented
* Small Correction from Markus Werner <mw@empire.wolfsburg.de>
* cosmetics
*
* - isdnrep.c
* Bugfix (Thanks to Arnd Bergmann <arnd@uni.de>)
*
* - processor.c
* Patch from Oliver Lauer <Oliver.Lauer@coburg.baynet.de>
* Makes CHARGEMAX work without AOC-D
*
* Patch from Stefan Gruendel <sgruendel@adulo.de>
* gcc 2.7.2.1 Optimizer-Bug workaround
*
* Revision 1.45 1998/10/03 18:06:35 akool
* - processor.c, takt_at.c : Patch from Michael Reinelt <reinelt@eunet.at>
* try to guess the zone of the calling/called party
@ -839,7 +855,7 @@ int read_logfile(char *myname)
get_time_value(0,NULL,GET_YEAR));
} /* if */
if (!currency_factor)
if (!cur_call.currency_factor)
#ifdef ISDN_NL
einheit = 0.0011; /* cost of one second local tariff during office hours */
#elif defined(ISDN_CH)
@ -850,7 +866,7 @@ int read_logfile(char *myname)
einheit = Tarif96 ? 0.121 : 0.23;
#endif
else
einheit = currency_factor;
einheit = cur_call.currency_factor;
print_entries(&cur_call,einheit,nx,myname);