*** IMPORTANT NOTE ******************************************* Since 2003-07-26 all changes mentioned below and some more are available direct from cvs.isdn4linux.de. As a result there is no need for further serving the former patchfiles. Only this README will remain in order to provide a glue about the future of the accumulated patches. If you needed a former patchfile, you should send a mail. ************************************************************** This file provides information about the patchfiles isdnlog-patch-YYYY-MM-DD.gz where YYYY-MM-DD is the creation date of the patch. The patchfiles are located in the same directory as this README. This patch is intended for the most recent CVS version of isdnlog. It should be applied using `patch -p0 < isdnlog-patch-YYYY-MM-DD' within the isdnlog subdirectory of your isdn4k-utils sandbox. In order to update an already patched sandbox, the old patch should be removed using `patch -p0 -R < oldpatchfile' prior to the application of the new patchfile. Problems may also occur with modified files in the sandbox. (`cvs update' will show `M filename.') To prevent such problems, modified files which are also touched by the patch -- see list below -- should be moved away and the current version should be restored using `cvs update'. Please use in order to get in contact with the creator of this patch. Paragraphs starting with [YYYY-MM-DD] indicate the first occurence of this modification. The mark [YYYY-MM-DD] applies also for following paragraphs without another mark. The changes per file: ../lib/isdntools.c ------------------ [2003-02-11] This file is part of the library libisdn.a which provides general programming support for the isdn configuration files and other things such as a matching function for telephone numbers. The modifications remove a bug which occurs when dealing with special numbers and the callerid.conf file. Regular numbers such as +4940555 can be noted in the following way in a NUMBER line: NUMBER=+49-40-555, +49-69-555 For special numbers prior to this modifications there are strong unmentioned limitations. Only one number per NUMBER line is allowed without any of the options shown above. Allowed: NUMBER=01802555 Not allowed/not working: NUMBER=01802-555 also not working: NUMBER=0180255, 0700555 This modification brings the later two example in function. About the background of the problem: isdnlog/isdnrep and other know a sort of telephone numbers called `special numbers', which are noted with S: and N: Tags in the rate-file. These numbers are per definition only availalbe within the country. In order to emphasize this and for other more practical reasons, the normalized format for this numbers is not the usual + but the national format like 01802555. While the logged numbers in /var/log/isdn.log or so follow this convention, such entries in callerid.conf got internally converted to the normalized format (+49180255 in case of the last mentioned number) so that the comparison executed by isdnlog or isdnrep did not show the expected result. The modification activates the advanced feature in the notation of normal numbers for special numbers. IMPORTANT NOTE: As the resulting library is located outside the isdnlog subdirectory, this changes may influence other parts of the isdn4k-utils. Makefile.in ----------- [2003-02-26] Set version from 4.64 to 4.65 in order to differentiate patched programs from unpatched in the wild. The definition of VERSION in the Makefile is used in some source code files. This files should be recompiled when the Makefile changes. A additional rule without commands does this. `make install' includes the targets install-progs and install-data. install-data should be first so that install-progs restarts a running isdnlog with new datafiles. Assuming that there are no further conditions between the two targets, a changed order should achieve this goal. [2003-06-22] make ILP=1 clean now removes isdnlog/ilp/ilp.o as expected. .country-alias -------------- This file is used by pp_rate when generating rate-files. It contains alias definitions for misspelled or unoffical country names. The additional entries are necessary for the generation of the actual rate-de.dat. ([2003-06-22] Note: the rate-de.dat is generated by a rates4linux sandbox. Further information on rates4linux can be found at http://sourceforge.net/projects/rates4linux. rates4linux no longer requires an isdn4k-utils sandbox for generation of the rate-de.dat) country-de.dat *1) -------------- This is the information source about the international telephone numbering. It contains records about country codes and national cellphone area codes. This patch links the Romania cellphone entry with the country record for Romania. Further the duplicate name `Liechtenstein Mobilfunk' gets fixed. During the build of the isdnlog, this file gets included in the destination database dest.cdb. [2003-01-12] A new entry for the country of East Timor and some corrections the group of Dem. Rep. Congo, Rep. Congo and Zaire. [2003-02-26] A new entry for `Lesotho cellphone'. [2003-06-22] This file now originates for rates4linux CVS, because it is needed there for the standalone build of rate-de.dat. Updated some entries for european countries and the changed the primary name for Yugoslavia to Serbia and Montenegro. rate-de.dat ----------- This brings the german telephone rate-file up to date or at least up to proceeding of rates4linux. [2003-01-12] Updates to V:3.04, released as rate-de-eur 3.04 at SourceForge. [2003-05-01] Includes the first rates for using call-by-call for local calls. This ability was introduced in the german fixed telephone network at 2003-04-24. samples/rate.conf.de -------------------- This is the according sample provider selection configuration for rate-de.dat. tools/dest/Makefile.in ---------------------- [2003-02-26] Add source depedencies for the destination database dest.cdb. This does not work with configured databases other than CDB whose should nowadays rather uncommon. The targets data and alldata are affected. There are further changes in order to build the dest.cdb only when source files have changed, no longer in any cases. As a result for a current dest.cdb no manual invocations of make in tools/dest are necessary and note *1) in this README do not apply any more. Third, it is now possible to generate a dest.gdbm by issuing a `make dest.gdbm' when CDB is the default database format. This might be needed for older programs which have no support for the CDB format. tools/dest/makedest ------------------- This scripts builds the destination database dest.cdb. The unpatched version contains a bug, which blocks the capability of including so called `global files' into the database using the -g command line switch. In fact, the old version reads the countryfile in any case, so that cities.dat doesn't get into the dest.cdb. Furthermore the patched version tries to use the perl module i4lconf.pm (see later) for locating the countryfile instead of relying on a hardcoded pathname. If the new file i4lconf.pm is absent, the old behaviour will be used. [2003-02-26] Do not use CDB as database target format when there is an environment variable DBEXT and it is set to something other than `.cdb'. This is necessary for the ability to build a dest.gdbm. tools/dest/pp_rate ------------------ This is the ratefile preprocessor script, which converts cleartext country names like `Japan' from source ratefile into the internally used codes like 'JP'. Like makedest this script needs the countryfile country-de.dat or country.dat and is therefore modified to make use of i4lconf.pm. [2003-01-12] Introducing a new alternative for the interactive prompt which occurs with unknown country names: `i' will skip the current country name. No care is taken in prevention of generating empty A: lines. tools/dest/cities.dat *1) --------------------- The reactivation of the globalfile option within makedest reveals an error concercing the entry of `Frankfurt am Main' in this file with mainly international airport cities. tools/zone/de/code *1) ------------------ This file lists the german area codes, with can be included in the destination database, too. The modifications cover a new pseudo carrier select prefix, cleared or moved geograhic area codes and the new premium rate numbers starting with +49-(0)900. tools/tools.h ------------- [2003-05-01] Uwe Furchheim discovered another bug and posted it on the rates4linux-users mailinglist. Alias-names as defined in callerid.conf and more than 32 chars long are not correctly handled by isdnlog within the call processing. Jochen Erwied reviewed the source and posted a patch that extends the maximum length for aliases from 32 to 127 chars and takes care of a correctly terminated string even with alias definitions longer than 127 chars. [2003-06-22] Added a new global variable dualfix in order to make the workarounds for dualmode and some setups in isdnlog/processor.c selectable by commandline or parameterfile. See isdnlog/processor.c for more. tools/tools.c ------------- [2003-05-01] See tools/tools.h. isdnrep/isdnrep.c ----------------- [2003-01-16] Uwe Furchheim discovered a bug in isdnrep and posted it on the rates4linux-users mailinglist. Calls via providers with a provider number greater or equal the count of providers defined in rate-de.dat are treated as done via the default (preselected) provider. Provider number stands here for the 2 or 3 digit identifier which is used in rate.conf for example. After the modification only calls via unknown providers should default to the preselected provider. [2003-02-26] Introducing a fundamental change at the zone summary of isdnrep. Up to now the zones of the reported otugoing calls where group by internal count indices for the actual zone in matching provider section of the ratefile. Now the zone numbers as noted in the Z: tags of the rate-file are used for grouping. When possible for domestic zones (number 1 to 4 in Germany) the more precise result from the zone file is used. Existing zone entries written by isdnlog are used with priority. This change do not resolve a principal problem: Different providers have different zone names and/or zone numbers for the same destination. Since 1999 this make the zone summary ambivalent. For a best possible result additional informationen about the source of zone names is collected and each zone name in the summary may be displayed with one of the chars ~, + or * in front of it indicating less or more uncertainy. With at least one -v option, the meaning of this chars is explained. isdnrep/rep_main.c ------------------ [2003-03-19] Thomas Richter reported the misfunction of isdnrep's -pmx option at the isdn4linux mailinglist. x should list only calls from or to the xth MSN as defined in the config files (callerid.conf). This did not work due to a wrong order of config file reading and MSN list building at isdnrep startup. This correction enables the use of -pmx as described in the manpage. isdnlog/processor.c ------------------- [2003-02-15] Thomas Richter had problems with the correct logging of calls via 01900xx call by call providers, see the thread `nochmal 01900xx Provider' at the isdn4linux Mailinglist started 2003-01-22 (in german). Closer inquiries revealed a truncation of the dialed number in incoming COLP messages from the public switch. As a workaround the processing of such information elements have to be disabled by the command line switch -U1 or ignoreCOLP=1 in the parameterfile of isdnlog. In order to track this pecularites an -U2 or ignoreCOLP=2 still ignores this messages but prints out their contents as it is done with processed COLP messages. The function of -U1 is included in the regular isdnlog. Only -U2 needs this modification. [2003-02-26] For years isdnlog did not write the zone of an outgoing call in the last field of the log file entry but places the dummy value -1 with the meaning of unknown there. This behaviour is not a bug but more a result of evolution from fixed coded zone numbers for certain destinations to the destination database and A: tag in the rate-file sometimes in 1999. But there is no reason for a forced loss of information. Because of this the zone number from the matching Z: section of the rate-file or the result from the query of the zone file for domestic calls is stored in the log entry. The author of this patchfiles faced a more or less specific problem with isdnlog in dual mode where the originating number of outgoing calls was not recorded due to an uncommon or unespected order of messages between terminal adapter and public switch. The resolution is a more diverse handling of the decoding of SETUP messages which work for the author. Care have been taken for continued proper operation at other installations which do not need this modification. Due to limited access to other hardware, this effort is not tested so long. [2003-03-10] Probably related to the previous paragraph, another problem arises after an unanswered incomming call. In this case the allocated channel for this call is not released because at the time of the RELEASE message there might be a further on ringing device and a CONNECT remains possible. Allocated channel applies to the internal final state machine or so of isdnlog. The modification allows SETUP_ACKNOWLEDGE messages to use an allocated channel in case of it contains suitable state information of an unanswered incomming call. The source code comments for the handling of the above mentioned probably missing SETUP messages need at least partly some cleanup. At the decoding of D-channel messages, now there is a check, whether the input line (HEX: ...) contains enough data bytes in order to prevent decoding of truncated information elements. If the information elements claims a contents length greater than the rest of D-channel message or frame, the decoding is aborted. The startup message `(x driver detected)' now end with a newline. [2003-06-22] The workarounds for D channel message processing introduced 2003-02-26 and 2003-03-10 are now disabled by default. They get enabled by additional values for the -2 commandline switch or the dual= line in the parameterfile. The numbers for dual mode (1 or 2) and the following workarounds have to be added like the values for the selection of message output. The less restrictive use of still allocated channels (2003-03-10) is enabled with the number 0x100. This workaround have also been rewritten, as its old prerequisites turned out to be to strict. The more diverse decoding of SETUP messages (2003-02-26) for keeping the information about the source number (your own MSN) is enabled with the number 0x200. isdnlog/isdnlog.c ----------------- [2003-06-22] The parsing of the commandline and the parameterfile was extented for explicit selection of the workarounds in isdnlog/processor.c as described above. isdnlog/isdnlog.8.in -------------------- [2003-06-22] This is the sourcefile for the isdnlog (8) manpage. The new values regarding COLP and dual mode are now described. If your system's manpage was not updated after a `make install', you should issue `./config.status isdnlog/isdnlog.8' before in the directory ~/isdn4k-utils/isdnlog. tools/dest/i4lconf.pm --------------------- This new file implements location of the countryfile at runtime for pp_rate and makedest. NOTES ----- *1) Changes of this files do not automatically trigger the rebuild of the destination database. Issue a `make dataclean; make data' in ~/isdn4k-utils/isdnlog/tools/dest followed by 'make install-data' in ~/isdn4k-utils/isdnlog in order to build and install an updated version of the destination database dest.cdb. [2003-02-26] As long as CDB is used as database, the rebuild of the destination database is now automatically triggered. This README intentionally ends here.