isdnlog-4.12

- ABC_LCR enhanced
 - country-de.dat more aliases
 - new rates
 - isdnlog/Makefile.in ... defined NATION
 - isdnlog/isdnlog/processor.c ... msn patch for NL
 - isdnlog/tools/isdnconf.c ... default config
This commit is contained in:
akool 2000-02-20 19:03:07 +00:00
parent 44a696aa73
commit 7fc316b547
6 changed files with 6232 additions and 278 deletions

View File

@ -1,4 +1,4 @@
## $Id: Makefile.in,v 1.149 2000/02/12 23:50:12 keil Exp $ ## $Id: Makefile.in,v 1.150 2000/02/20 19:03:07 akool Exp $
## ##
## ISDN accounting for isdn4linux. ## ISDN accounting for isdn4linux.
## ##
@ -19,6 +19,15 @@
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
## ##
## $Log: Makefile.in,v $ ## $Log: Makefile.in,v $
## Revision 1.150 2000/02/20 19:03:07 akool
## isdnlog-4.12
## - ABC_LCR enhanced
## - country-de.dat more aliases
## - new rates
## - isdnlog/Makefile.in ... defined NATION
## - isdnlog/isdnlog/processor.c ... msn patch for NL
## - isdnlog/tools/isdnconf.c ... default config
##
## Revision 1.149 2000/02/12 23:50:12 keil ## Revision 1.149 2000/02/12 23:50:12 keil
## Fix some syntax error in install ## Fix some syntax error in install
## ##
@ -1086,7 +1095,7 @@ SERVICEFILE = /etc/services
# DON'T EDIT BELOW THIS LINE # DON'T EDIT BELOW THIS LINE
###################################################################### ######################################################################
VERSION = 4.11 VERSION = 4.12
MANPAGES = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \ MANPAGES = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \
isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \ isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \
@ -1134,6 +1143,7 @@ DEFS += \
-DVERSION=\"$(VERSION)\" \ -DVERSION=\"$(VERSION)\" \
-DI4LVERSION=\"$(I4LVERSION)\" \ -DI4LVERSION=\"$(I4LVERSION)\" \
-D@NATION_MACRO@=1 \ -D@NATION_MACRO@=1 \
-DNATION=\"$(NATION)\" \
-DBIG_PHONE_NUMBERS=1 \ -DBIG_PHONE_NUMBERS=1 \
$(INCLUDE) $(INCLUDE)

View File

@ -1,4 +1,4 @@
V:0.92 Int based on 1.03-Germany [07-Feb-2000 12:19:00] V:1.04 Int [16-Feb-2000 10:11:00]
# ISO 3166 Countrycodes ( ftp://sunsite.unc.edu/pub/Linux/apps/misc/ # ISO 3166 Countrycodes ( ftp://sunsite.unc.edu/pub/Linux/apps/misc/
# countrycodes.1.0.2.tar.gz # countrycodes.1.0.2.tar.gz
# Airportcodes: http://www.TravelDesk.com/airports.html # Airportcodes: http://www.TravelDesk.com/airports.html
@ -291,7 +291,7 @@ R:CN
T:_CNMF T:_CNMF
N:China N:China
A:China (Volksrepublik), China (People's Republic),V.R. China A:China (Volksrepublik), China (People's Republic),V.R. China, China VR
C:+86 C:+86
T:CN T:CN
@ -469,7 +469,7 @@ C:+685
T:WS T:WS
N:Amerikanisch-Samoa N:Amerikanisch-Samoa
A:Samoa (Ost), Samoa (US), Samoa O. A:Samoa (Ost), Samoa (US), Samoa O., Amerikanisches Samoa
E:American Samoa E:American Samoa
C:+684 C:+684
T:AS T:AS
@ -550,7 +550,7 @@ T:NF
N:Kokosinseln N:Kokosinseln
A:Kokosinseln (Australien), Cocos Island, Cocos Island (Antarctica) A:Kokosinseln (Australien), Cocos Island, Cocos Island (Antarctica)
A:Cocos Inseln A:Cocos Inseln, Kokos-InselnKeeling-Inseln
E:Cocos Islands E:Cocos Islands
A:Cocos (Keeling) Islands,Keeling Islands A:Cocos (Keeling) Islands,Keeling Islands
C:+6722, +6189162 C:+6722, +6189162
@ -789,7 +789,7 @@ T:HT
N:St. Pierre und Miquelon N:St. Pierre und Miquelon
A:Saint Pierre und Miquelon, St. Pierre and Miquelon, Saint Pierre et Miquelon A:Saint Pierre und Miquelon, St. Pierre and Miquelon, Saint Pierre et Miquelon
A:St. Pierre & Miquelon,St. Pierre A:St. Pierre & Miquelon,St. Pierre, St. Pierre & Miquel.
E:Saint Pierre and Miquelon E:Saint Pierre and Miquelon
C:+508 C:+508
R:FR R:FR
@ -1185,7 +1185,7 @@ T:HR
N:Jugoslawien N:Jugoslawien
A:Jugoslawien (Serbien/Montenegro), Serbien, Montenegro, Yugoslavia (Servia & Montenegro) A:Jugoslawien (Serbien/Montenegro), Serbien, Montenegro, Yugoslavia (Servia & Montenegro)
A:Jugoslawien Montenegro, Jugoslawien Serbien und Montenegro A:Jugoslawien Montenegro, Jugoslawien Serbien und Montenegro, Jugoslawien-Serbien
E:Yugoslavia E:Yugoslavia
C:+381 C:+381
T:YU T:YU
@ -1854,6 +1854,7 @@ T:JM
N:St. Kitts und Nevis N:St. Kitts und Nevis
A:St. Kitts & Nevis, Saint Kitts and Nevis, St Kitts, Nevis Islands A:St. Kitts & Nevis, Saint Kitts and Nevis, St Kitts, Nevis Islands
A:Nevis/St.Kitts
A:Nevis,Nevis Is. A:Nevis,Nevis Is.
E:Saint Kitts und Nevis E:Saint Kitts und Nevis
C:+1869 C:+1869
@ -1878,14 +1879,14 @@ T:DO
N:Turks- und Caicosinseln N:Turks- und Caicosinseln
E:Turks and Caicos Islands E:Turks and Caicos Islands
A:Turks & Caicos Islands A:Turks & Caicos Islands, Turks- & Caicosins.
A:Turks und Caicos,Turks and Caicos Inseln A:Turks und Caicos,Turks and Caicos Inseln
C:+1809946, +1809941, +1649 C:+1809946, +1809941, +1649
T:TC T:TC
N:Amerikanische Jungferninseln N:Amerikanische Jungferninseln
A:Jungferninseln (USA), Amerikan. Jungferninseln, American Virgin Isles A:Jungferninseln (USA), Amerikan. Jungferninseln, American Virgin Isles
A:US Jungferninseln A:US Jungferninseln, Amer. Jungferninseln
E:Virgin Islands (US) E:Virgin Islands (US)
C:+180977, +1809719, +1809715, +1809714, +1809713, +1809712, +1809693, +1809692, +1809690, +1809611, +1809513, +1340 C:+180977, +1809719, +1809715, +1809714, +1809713, +1809712, +1809693, +1809692, +1809690, +1809611, +1809513, +1340
T:VI T:VI

View File

@ -1,4 +1,4 @@
/* $Id: processor.c,v 1.101 2000/02/12 16:40:22 akool Exp $ /* $Id: processor.c,v 1.102 2000/02/20 19:03:07 akool Exp $
* *
* ISDN accounting for isdn4linux. (log-module) * ISDN accounting for isdn4linux. (log-module)
* *
@ -19,6 +19,15 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *
* $Log: processor.c,v $ * $Log: processor.c,v $
* Revision 1.102 2000/02/20 19:03:07 akool
* isdnlog-4.12
* - ABC_LCR enhanced
* - country-de.dat more aliases
* - new rates
* - isdnlog/Makefile.in ... defined NATION
* - isdnlog/isdnlog/processor.c ... msn patch for NL
* - isdnlog/tools/isdnconf.c ... default config
*
* Revision 1.101 2000/02/12 16:40:22 akool * Revision 1.101 2000/02/12 16:40:22 akool
* isdnlog-4.11 * isdnlog-4.11
* - isdnlog/Makefile.in ... sep install-targets, installs samples, no isdnconf * - isdnlog/Makefile.in ... sep install-targets, installs samples, no isdnconf
@ -1215,7 +1224,12 @@ void buildnumber(char *num, int oc3, int oc3a, char *result, int version,
switch (oc3 & 0x70) { /* Calling party number Information element, Octet 3 - Table 4-11/Q.931 */ switch (oc3 & 0x70) { /* Calling party number Information element, Octet 3 - Table 4-11/Q.931 */
case 0x00 : if (*num) { /* 000 Unknown */ case 0x00 : if (*num) { /* 000 Unknown */
if (*num != '0') { if (*num != '0') {
strcpy(result, mynum); /* in NL the MSN contains myarea w/o leading zero
so myarea get's prepended again */
if (memcmp(myarea, num, strlen(myarea)) == 0)
strcpy(result, mycountry);
else
strcpy(result, mynum);
*local = 1; *local = 1;
} }
else { else {
@ -4933,12 +4947,6 @@ static void processlcr(char *p)
sprintf(s, "ABC_LCR: Request for number %s = %s", dst + trimo, formatNumber("%l via %p", &destnum)); sprintf(s, "ABC_LCR: Request for number %s = %s", dst + trimo, formatNumber("%l via %p", &destnum));
info(chan, PRT_SHOWNUMBERS, STATE_RING, s); info(chan, PRT_SHOWNUMBERS, STATE_RING, s);
if (!abclcr) {
sprintf(s, "ABC_LCR: *Disabled* -- no action --");
abort = 1;
goto action;
} /* if */
if (!*destnum.msn /* && ((abclcr & 1) == 1) */) { /* Future expansion, Sonderrufnummer? */ if (!*destnum.msn /* && ((abclcr & 1) == 1) */) { /* Future expansion, Sonderrufnummer? */
sprintf(s, "ABC_LCR: \"%s\" is a Sonderrufnummer -- no action --", destnum.area); sprintf(s, "ABC_LCR: \"%s\" is a Sonderrufnummer -- no action --", destnum.area);
abort = 1; abort = 1;
@ -4987,7 +4995,7 @@ static void processlcr(char *p)
#ifdef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT #ifdef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT
if (strlen(res) < sizeof(i.lcr_ioctl_nr)) { if (strlen(res) < sizeof(i.lcr_ioctl_nr)) {
sprintf(s, "ABC_LCR: New number \"%s\" (via %s:%s)\n", sprintf(s, "ABC_LCR: New number \"%s\" (via %s:%s)",
res, prov, getProvider(prefix)); res, prov, getProvider(prefix));
} }
else { else {
@ -5011,6 +5019,11 @@ action:
i.lcr_ioctl_sizeof = sizeof(i); i.lcr_ioctl_sizeof = sizeof(i);
i.lcr_ioctl_callid = atol(cid); i.lcr_ioctl_callid = atol(cid);
if (!abclcr) {
strcat(s, " (ABC_LCR *disabled*, no action)");
abort = 1;
} /* if */
if (abort) { /* tell ABC_LCR to dial the *original* number (and _dont_ wait 3 seconds) */ if (abort) { /* tell ABC_LCR to dial the *original* number (and _dont_ wait 3 seconds) */
i.lcr_ioctl_flags = 0; i.lcr_ioctl_flags = 0;

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ use wld;
use strict; use strict;
$|=1; $|=1;
use vars qw( %names $COUNTRY %myalias ); use vars qw( %names $COUNTRY %myalias );
$COUNTRY = '/usr/src/isdn4k-utils/isdnlog/tools/country'; $COUNTRY = '~/isdn4k-utils/isdnlog/tools/country';
&get_country; &get_country;
&get_alias; &get_alias;
@ -21,7 +21,7 @@ sub get_country {
foreach $a (@all) { foreach $a (@all) {
$na++; $na++;
$names{lc $a}=$key; $names{lc $a}=$key;
} }
} }
my $co_dat = '/usr/lib/isdn/country-de.dat'; my $co_dat = '/usr/lib/isdn/country-de.dat';
open(IN,$co_dat) || die("Cant read $co_dat"); open(IN,$co_dat) || die("Cant read $co_dat");
@ -33,18 +33,18 @@ sub get_country {
&add1; &add1;
$alias=''; $alias='';
$name=$1; $name=$1;
} }
elsif (/^[AE]:(.*)/) { elsif (/^[AE]:(.*)/) {
$alias = $alias ne '' ? "$alias,$1" : $1; $alias = $alias ne '' ? "$alias,$1" : $1;
} }
elsif (/^T:(.*)/) { elsif (/^T:(.*)/) {
$key=$1; $key=$1;
} }
} }
&add1; &add1;
close IN; close IN;
print "$nn Countrys $na Aliases loaded\n"; print "$nn Countrys $na Aliases loaded\n";
} }
sub get_alias { sub get_alias {
`cp ~/.country-alias .country-alias`; `cp ~/.country-alias .country-alias`;
@ -53,7 +53,7 @@ sub get_alias {
chomp; chomp;
my($c,$a) = split(/\t/); my($c,$a) = split(/\t/);
$myalias{$c}=$a; $myalias{$c}=$a;
} }
close(IN); close(IN);
} }
@ -76,19 +76,19 @@ sub prep_rate {
foreach $c (@a) { foreach $c (@a) {
next if ($c eq ''); next if ($c eq '');
$c = lc $c; $c = lc $c;
ok: ok:
if ($c =~ /^\+?\d+/ || $c eq '+') { if ($c =~ /^\+?\d+/ || $c eq '+') {
push(@keys,$c); push(@keys,$c);
} }
elsif ($d=$names{$c}) { elsif ($d=$names{$c}) {
push(@keys,$d); push(@keys,$d);
} }
elsif ($d=$names{$myalias{$c}}) { elsif ($d=$names{$myalias{$c}}) {
push(@keys,$d); push(@keys,$d);
} }
else { else {
$oc = $c; $oc = $c;
again: again:
print "'$c'"; print "'$c'";
$m=99; $tf=''; $m=99; $tf='';
if ($COUNTRY) { if ($COUNTRY) {
@ -96,15 +96,15 @@ again:
($tf, $m) = $cc =~ /<.*?>=<(.*?)>\sd=(\d+)/; ($tf, $m) = $cc =~ /<.*?>=<(.*?)>\sd=(\d+)/;
$m=99 if ($cc =~/unknown/); $m=99 if ($cc =~/unknown/);
$tf = lc $tf; $tf = lc $tf;
} }
else { else {
foreach $name (keys(%names)) { foreach $name (keys(%names)) {
if (($r=wld($name,$c)) < $m) { if (($r=wld($name,$c)) < $m) {
$m=$r; $tf=$name; $m=$r; $tf=$name;
last if($m==0); last if($m==0);
} }
} }
} }
if ($tf && $m<=1) { if ($tf && $m<=1) {
push(@keys,$names{$tf}); push(@keys,$names{$tf});
$names{$oc}=$names{$tf}; $names{$oc}=$names{$tf};
@ -119,17 +119,17 @@ again:
if ($x =~ /^=(.*)/) { if ($x =~ /^=(.*)/) {
$c = $1 if($1 ne ''); $c = $1 if($1 ne '');
goto again; goto again;
} }
elsif ($x =~ /^\+(.*)/) { elsif ($x =~ /^\+(.*)/) {
$c = $oc . $1; $c = $oc . $1;
goto again; goto again;
} }
elsif ($x =~ /^\/(.*)/) { elsif ($x =~ /^\/(.*)/) {
print `grep -3 -i $1 /usr/lib/isdn/country-de.dat`; print `grep -3 -i $1 /usr/lib/isdn/country-de.dat`;
goto again; goto again;
} }
if ($x eq 'j') { if ($x eq 'j') {
$c = $tf; $c = $tf;
$myalias{$oc}=$tf; $myalias{$oc}=$tf;
$names{$oc}=$names{$tf}; $names{$oc}=$names{$tf};
goto ok; goto ok;
@ -144,18 +144,18 @@ again:
print "xx => xx ausprobieren"; print "xx => xx ausprobieren";
goto again; goto again;
} }
else { else {
$c = $x; $c = $x;
} }
goto again; goto again;
} }
} # else found } # else found
} # foreach } # foreach
print OUT "A:", join(',',@keys),"\n"; print OUT "A:", join(',',@keys),"\n";
} # if A } # if A
else { else {
print OUT $_; print OUT $_;
} }
} # while IN } # while IN
close(IN); close(IN);
close(OUT); close(OUT);
@ -163,7 +163,7 @@ again:
foreach my $c (sort(keys(%myalias))) { foreach my $c (sort(keys(%myalias))) {
print OUT "$c\t",$myalias{$c},"\n"; print OUT "$c\t",$myalias{$c},"\n";
} }
close(OUT); close(OUT);
`mv .country-alias ~/.country-alias`; `mv .country-alias ~/.country-alias`;
print "\nOk.\n"; print "\nOk.\n";
} # prep_rate } # prep_rate

View File

@ -1,4 +1,4 @@
/* $Id: isdnconf.c,v 1.31 1999/12/31 13:57:19 akool Exp $ /* $Id: isdnconf.c,v 1.32 2000/02/20 19:03:08 akool Exp $
* *
* ISDN accounting for isdn4linux. (Utilities) * ISDN accounting for isdn4linux. (Utilities)
* *
@ -20,6 +20,15 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *
* $Log: isdnconf.c,v $ * $Log: isdnconf.c,v $
* Revision 1.32 2000/02/20 19:03:08 akool
* isdnlog-4.12
* - ABC_LCR enhanced
* - country-de.dat more aliases
* - new rates
* - isdnlog/Makefile.in ... defined NATION
* - isdnlog/isdnlog/processor.c ... msn patch for NL
* - isdnlog/tools/isdnconf.c ... default config
*
* Revision 1.31 1999/12/31 13:57:19 akool * Revision 1.31 1999/12/31 13:57:19 akool
* isdnlog-4.00 (Millenium-Edition) * isdnlog-4.00 (Millenium-Edition)
* - Oracle support added by Jan Bolt (Jan.Bolt@t-online.de) * - Oracle support added by Jan Bolt (Jan.Bolt@t-online.de)
@ -741,7 +750,7 @@ static section* writeglobal(section *SPtr)
} }
} }
#if 0 /* Fixme: remove */ #if 0 /* Fixme: remove */
if (CityWeekend != 0) if (CityWeekend != 0)
{ {
strcpy(s, CONF_ENT_CW); strcpy(s, CONF_ENT_CW);
@ -1075,9 +1084,9 @@ static int _readconfig(char *_myname)
mycountry = ""; mycountry = "";
myarea = ""; myarea = "";
currency = NULL; currency = NULL;
#if 0 /* Fixme: remove */ #if 0 /* Fixme: remove */
CityWeekend = 0; CityWeekend = 0;
#endif #endif
chargemax = 0.0; chargemax = 0.0;
connectmax = 0; connectmax = 0;
connectmaxmode = 0; connectmaxmode = 0;
@ -1091,10 +1100,12 @@ static int _readconfig(char *_myname)
logfile = LOGFILE; logfile = LOGFILE;
callfile = NULL; callfile = NULL;
callfmt = NULL; callfmt = NULL;
holifile = NULL; holifile = CONFIG_DATADIR"/holiday-"NATION".dat";
countryfile = NULL; countryfile = CONFIG_DATADIR"/country-de.dat";
rateconf = NULL; rateconf = CONFIG_I4LCONFDIR"/rate.conf";
ratefile = NULL; ratefile = CONFIG_DATADIR"/rate-"NATION".dat";
zonefile = CONFIG_DATADIR"/zone-"NATION"-%s.gdbm";
destfile = CONFIG_DATADIR"/dest.gdbm";
lcdfile = NULL; lcdfile = NULL;
start_procs.infoargs = NULL; start_procs.infoargs = NULL;
start_procs.flags = 0; start_procs.flags = 0;
@ -1264,7 +1275,7 @@ static int Set_Globals(section *SPtr)
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_LCDFILE)) != NULL) if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_LCDFILE)) != NULL)
lcdfile = CEPtr->value; lcdfile = CEPtr->value;
#if 0 /* Fixme: remove */ #if 0 /* Fixme: remove */
if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_CW)) != NULL) if ((CEPtr = Get_Entry(Ptr->entries,CONF_ENT_CW)) != NULL)
CityWeekend = toupper(*(CEPtr->value)) == 'Y'?1:0; CityWeekend = toupper(*(CEPtr->value)) == 'Y'?1:0;
#endif #endif