home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 3
/
Meeting_Pearls_III.iso
/
Pearls
/
comm
/
Misc
/
Phonebill
/
Documentation
/
Phonebill.doc
next >
Wrap
Text File
|
1995-08-10
|
57KB
|
1,645 lines
`Phonebill'
***********
Welcome to the `phonebill' 3.3c documentation. Before going ahead
with the program, please read the following sections first.
Legal issues
************
License
=======
This license applies to the product called `phonebill', a program
for the Amiga computer, published by Raymond Penners under the concepts
of ShareWare, and the accompanying documentation, example files and
anything else that comes with the original distribution. The terms
`Program' and `phonebill' below, refer to this product. The licensee
is addressed as `you'.
* You may copy and distribute verbatim copies of the program's
executable code and documentation as you receive it, in any
medium, provided that you conspicuously and appropriately publish
only the original, unmodified program, with all copyright notices
and disclaimers of warranty intact and including all the
accompanying documentation, example files and anything else that
came with the original.
* You may not copy and/or distribute this program without the
accompanying documentation and other additional files that came
with the original. You may not copy and/or distribute modified
versions of this program.
* You may not copy, modify, sublicense, distribute or transfer the
program except as expressly provided under this license. Any
attempt otherwise to copy, modify, sublicense, distribute or
transfer the program is void, and will automatically terminate
your rights to use the program under this license. However,
parties who have received copies, or rights to use copies, from
you under this license will not have their licenses terminated so
long as such parties remain in full compliance.
* By copying, distributing and/or using the program you indicate your
acceptance of this license to do so, and all its terms and
conditions.
* Each time you redistribute the program, the recipient automatically
receives a license from the original licensor to copy, distribute
and/or use the program subject to these terms and conditions. You
may not impose any further restrictions on the recipients'
exercise of the rights granted herein.
* You may not disassemble, decompile, re-source or otherwise reverse
engineer the program.
* You may use the programs for a period of up to 3 weeks for
evaluation. After that, you have to register or quit using the
program.
* If you wish to incorporate parts of the programs into other
programs, write to the author to ask for permission.
* You agree to cease distributing the program and data involved if
requested to do so by the author.
* You may charge a fee to recover distribution costs. The fee for
diskette distribution may not be more than the cost to obtain a
public domain diskette from Fred Fish.
No warranty
===========
THERE IS NO WARRANTY FOR THE PROGRAMS, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAMS "AS IS" WITHOUT
WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE PROGRAMS IS WITH YOU. SHOULD THE PROGRAMS PROVE DEFECTIVE, YOU
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
REDISTRIBUTE THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAMS
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
THE PROGRAMS TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Disclaimer
==========
No warranty, either express or implied, is made with respect to the
fitness or merchantability of `phonebill'.
Raymond Penners (referred to as `the author'), reserves the right to
not develop any future versions of `phonebill'.
The author will try to make a good faith attempt at correcting any
problems if any are discovered, but is in no way required, nor bound to
correct them.
The author neither assumes nor accepts any responsibility for the
use or misuse of these programs. He will also not be held liable for
damages or any compensation beyond the original registration fee due to
loss of profit or any other damages arising out of the use, or
inability to use this program.
The author will not be liable for any damage arising from the
failure of this program to perform as described, or any destruction of
other programs or data residing on a system attempting to run the
programs. The user of this program uses it at his or her own risk.
Introduction
************
`phonebill' is, simply said, a log file analyzer. What it basically
does is scan log file(s) generated by a terminal program or a mailer,
extract all information about calls you have made by using your modem,
and store this in its own (short) format. After extracting the calls
`phonebill' can generate various reports in which you can find
information on duration and costs of the calls.
Here is a small list of the main features:
* Very flexible user-configurable rates, supporting exceptions for
certain days and dates.
* User-configurable log scanners: `phonebill' by default supports
various log files, but for any log file that is not supported the
user is able to create a scanner. The following is a list of log
files that are already supported:
* AmiTel
* AutoPilot
* CyberPager
* DreamTerm
* GMS
* GPFax
* ISDN Master Telephone log
* JamMail
* JrComm
* MagiCall
* MicroDot
* Multifax (both v2.0 and Multifax professional)
* NComm
* Off-line Amiga
* Plink
* PPP
* Term action log and Term call log
* Terminus
* TheAnswer
* TKR-BTX
* Trapdoor
* Trapfax
* UUCP TimeLog
* XenoLink
* ZeeTerm
* Log files can be automatically truncated if their size exceeds the
maximum size.
* Generates miscellaneous reports: statistics, total costs, ....
* Context-sensitive online help.
* Supports new 3.0 features (new look menus, ...).
* Nice `Amiga User Interface Style Guide' conformant user interface.
* Supports `traplist.library'.
Installation
************
There are two ways to install `phonebill': the hard way and the easy
way. If you choose the latter, just double click the `Install
phonebill' icon to execute the Commodore installer. This installer can
be found on the `Install2.1' or `Install3.0' disk from Commodore. If
you don't have it then you'll have to install the program manually,
which really is not that hard. Just drag the `phonebill' drawer over
the drawer where you like to copy it to. If you haven't used any
previous version of `phonebill' then this is all you have to do. If you
already have a version older than 3.0 installed then you'll have to
follow these steps:
* Convert the configuration files so that they can be used with this
release. This can be done by running the supplied program called
`ConvertConfig' from the shell:
1> ConvertConfig
* After running the converter, the new configuration files can be
found in `T:'. You should copy these files to the
`Phonebill/Config' directory, e.g.:
1> copy T:#?.config Phonebill/Config
* If you wish, delete the `phonebill' configuration files found in
`ENV:' and `ENVARC:'.
1> delete ENV:Phonebill all
1> delete ENVARC:Phonebill all
Workbench and Shell
*******************
The program can be started from both the shell and the workbench.
When started from the shell, the program accepts commandline arguments.
To view all known arguments, supply a "?" as the only argument to the
program, for example:
1.SPHINX-O-HD:Comm/Phonebill> Phonebill ?
The following keywords/switches are supported:
`PROC=PROCESS/S'
Supplying this switch will cause the program to process the log
files and return control to the shell when done.
`LIST=LISTCALLS/K,BILL/K,STATS=STATISTICS/K,BILL/K'
Generates the specified report and outputs it to a file.
`FROM/K,TO/K'
Use these to specify the scanrange. If you don't supply these
arguments the range specified in the configuration will be used.
`QUIET/S'
Supplying this argument disables output produced when processing
the logs.
`CONFIG/S'
Specify the location of the configuration directory.
The following command will cause the program to quietly process the
log files and then save two reports. The former will be displayed in
the console, the latter will be saved to `t:bill.txt':
1> phonebill proc list=* bill=t:bill.txt quiet
Menus
*****
The following text is to describe the menu items available in the
`phonebill' main panel.
Project
=======
`Process logs'
Scans and/or truncates all listed log files, See Log files panel.
If new calls were found, they will be added to the binary log file.
`Rescan logs'
Same as `Process logs', except that this operation extracts all
calls from the log files if they were already found by a previous
scan operation. Please note that a rescan can cause calls
previously removed or modified using maintenance to reappear.
`Iconify'
Closes the window and drops an icon labeled `phonebill' on the
Workbench window. Double-clicking this icon will cause the program
to wake up and to return the state it was in before it was
iconified.
`About `phonebill'...'
Shows some additional information on the program.
`Quit'
Terminates the program. If the configuration has been changed, you
will be prompted to confirm your decision.
Settings
========
`Miscellaneous...'
See Miscellaneous settings panel.
`Host...'
See Hosts panel.
`Log...'
See Log files panel.
`Rates...'
See Rates panel.
`Group...'
See Group settings panel.
`Report presets...'
See Report presets panel.
`Save settings'
Saves all the configuration files to disk.
Groups
======
Note: this menu is only available if groups have been defined. See
Group settings panel.
If the `Default' item is checked, all hosts will be taken into
account when generating reports. However, if `Default' is not checked,
only hosts that are member of the checked groups will appear in the
reports.
Presets
=======
Note: this menu is only available if presets have been defined. See
Report presets panel.
Using this menu you can use the settings of the selected preset.
Control panels
**************
Main panel
==========
Here it all begins. This panel provides gadgets and Menus which give
you control over the main functions of the program.
`Process logs'
Scans and/or truncates all listed log files, See Log files panel.
If new calls were found, they will be added to the binary log file.
`Settings'
See Miscellaneous settings panel.
`About'
Shows some additional information on the program.
`From, To'
The dates entered here specify the period over which a report is
to be made. Besides entering dates it is also possible to enter a
number that specifies a number of days in the future starting from
the current date. For example: the period from "-6" to "today"
specifies the last 7 days.
`Statistics, Bill, List calls'
Selecting one of these will cause a report to be generated. If the
program encounters calls to a host that is not known, you will be
prompted to either add the host, skip it, or cancel the report
generation. When the report was generated succesfully, it will be
shown to you using a text viewer.
`Maintenance'
See Maintenance panel.
Miscellaneous settings panel
============================
In the miscellaneous panel you can configure general program options.
`Binary log file'
The file name of the binary log file used for storing calls.
`Nodelist path'
Set this to the directory where you keep your nodelist files. This
is only useful if `traplist' is installed, leave this blank
otherwise.
`Carrier detect time'
It always takes some time before your modem has detected a
carrier. The connect time in the log files generated by your
terminal program are therefore incorrect, because the modem has
been online trying to get a carrier for a couple of seconds. For
example, it takes my modem approximately 15 seconds to connect.
`Public screen'
The name of the public screen to be used.
`Save dates on exit'
If this option is checked, the <from> and <to> date will be saved
automatically when you exit the program.
`Close only hides'
Specifies the behaviour of the main window close gadget: if this
option is checked the program will be hidden when closed instead of
exited.
`Use icon when hidden'
Specifies whether or not to put an icon on the workbench when the
program is in hidden state.
`Process logs on startup'
Specifies whether or not to process the log files automatically
when the program is started.
`Text viewer'
The text viewer to be used for displaying reports.
`Report file'
The file name of the report to be generated.
`Bill sort method'
The order in which the hosts from the bill report are to be sorted.
`Delete report after viewing'
If this option is checked, the report will be deleted after it has
been viewed.
`Save'
Saves current settings, and closes the panel. The from- and to
dates from the main panel are also saved.
`Use'
Closes the panel, without saving the settings.
Log files panel
===============
In the log files panel you can add, remove log files and edit their
options for use with the program.
`Log files'
The list of log files to be processed by the program.
`Add'
Adds a new log file to the list.
`Edit'
Lets you edit the settings of the selected log file, See Log
settings panel. Log files can also be editted by double clicking
the entry in the list.
`Remove'
Removes the selected log file.
`Save'
Saves current log files settings, and closes the panel.
`Use'
Closes the panel, without saving the log files settings.
Log settings panel
==================
This is where you edit the options of a log file.
`File name'
The file name of the log file.
`Truncate log file'
If this option is enabled log files will be truncated. See `Max.
size'.
`Max. size, Truncate %'
The maximum size in kilo-bytes of the log file. If the files' size
exceeds this value, the file will be truncated to the percentage
specified in `Truncate %' of the original size. This only works if
the `truncate' option is activated.
`Preserve blocks'
If this option is enabled the log file will be truncated at the
position of an empty line seperator.
`Scan log file'
If this option is enabled, the log file will be scanned for calls
using the scanner selected in the list of `Scanners'.
`Check archivebit'
If enabled, the files' archivebit will be set after processing. If
a log file with the archivebit set is encountered, it will be
regarded as not changed since the last time it was scanned.
Selecting this option increases processing of the log files
significantly.
`Sign log file'
If enabled (recommended), the program adds a signature to the end
of the log file to keep track of what calls have already been
processed. If this option is disabled all calls found in the log
file will be regarded as new, which might result in the
reappearance of calls previously deleted/modified using
maintenance.
`Scanners'
A list of several types of log files the program is able to scan.
Select the appropriate entry that belongs to the current log file
if you wish to scan the log for calls.
Hosts panel
===========
In the hosts panel you see a list of all `known' hosts. You can add,
remove and edit hosts.
`Hosts'
The list of hosts known to the program.
`Add'
Adds a new hosts to the list.
`Edit'
Lets you edit the settings of the selected host, See Host settings
panel. Hosts can also be editted by double clicking the entry in
the list.
`Remove'
Removes the selected host.
`Save, Use'
Save and/or use the current settings.
Host settings panel
===================
In the host panel you can specify information about the host, like
carrier detect time, rates, and telephone number.
`Name, Telephone number'
The name and/or telephone number of the host. You must at least
fill in one of these. If a host has more than one node, you can
enter the telephone numbers seperated by a vertical bar `|'
character, e.g.: "12345|6789".
`Use default, Carrier detect time'
If the carrier detect time is not the same for each host, you can
choose here whether you want to use the default carrier detect
time as specified in the Miscellaneous settings panel or use the
`Carrier detect time' specified for this host.
`Rate'
The rate set for this host.
`Groups'
Check all groups you wish the host to be a member of. See Group
settings panel.
`Use,Cancel'
Use or drop the current host settings.
Rates panel
===========
In the rates panel you can create new rates, or modify existing
rates.
`Rates'
This list contains all installed rates.
`Add'
Adds a new rate to the list.
`Copy'
The selected rate will be duplicated.
`Edit'
Lets you edit the selected rate, See Rate settings panel.
`Remove'
Removes the selected rate.
`Save,Use'
Save and/or use the current settings.
Rate settings panel
===================
The information to be specified in this control panel will be used
to calculate the amount of money to be paid for a call.
`Name'
Specifies the name of the rate.
`Area codes pattern'
If an unlisted host is encountered `phonebill' will try to match
the hosts' phonenumber to the area codes pattern of all rates. If
a match is found the rate is accordingly set and you are not
prompted to do so manually. For arguments sake, let's say
phonenumbers starting with 12 and 23 belong to rate A, others
belong to rate B. If you set the area codes pattern of rate A and
B to "(12#?|23#?)" resp. "~(12#?|23#?)" you will never be prompted
to add hosts manually.
`Groups'
The group settings of a host that is added automatically using the
area codes pattern will be set to the group settings selected here.
`List of periods'
The phone companies have the bad tendency to increase the costs
you have to pay each couple of years. This will cause calls in a
certain time period to be accounted different than calls in
another time period. You can specify a different rate for each
period, for example: from 1-jan-90 to 1-jan-92 there is rate A,
but from 1-jan-92 up to now is rate B. You'll find all different
periods in the list of periods
`Add, Copy, Edit, Remove'
Use these to add, copy, edit and remove certain rate periods.
Rate period settings panel
==========================
The information to be specified in this control panel will be used
to calculate the amount of money to be paid for a call, specifically
for a certain time period.
`From, To'
The period in which the rate settings specified in this panel are
active. If you don't want to set a date, then just enter nothing.
`Days and dates'
This list contains the standard settings and exceptions for certain
dates and days of the week. When calculating the costs for a call,
`phonebill' first checks if the date on which the call was made is
listed in one of the exceptions. If this is the case, then the
settings for that exception will be used. If this isn't the case,
the day of the call will be compared with the days listed in all
`day' exceptions. If no exception is found, the standard settings
will be used.
`Add date(s)'
Will invoke a control panel to create a new rate entry to be used
on specific date(s). Multiple dates should be seperated by by a
vertical bar `|' character, e.g.: "25-Dec|1-Jan".
`Add day(s)'
Will create a new rate entry referring to one or more days of the
week. Use the buttons of the control panel to select the days the
current settings will be valid for.
`Time'
For each entry in the `Days and dates' list there is at least one
associated starting time available which defines when the
associated rate settings are to be used. You will find the time
settings in the list titled `Time'. To add a new time use the `Add'
button, to edit an existing entry, use the `Edit' button. To
remove an entry, press the `Remove' button.
`Units'
For each entry in the `Time' list there is at least on associated
unit available which defines how much you have to pay per set
amount of seconds starting at that time. Normally, only one entry
will be listed. If the first unit should be accounted differently
than the second, you can enter two different units in the `Units'
list. This can be applied to as much units as you like.
Furthermore you can specify the costs you have to pay in
`Connection costs', and the minimal amount of costs in `Minimal
costs'.
Maintenance panel
=================
In the maintenance panel you can modify the binary log file. Only
calls that fall within the specified scan range from the main panel
will be shown in the list.
`Add'
Adds a new call to the list.
`Edit'
Lets you edit the selected call. Calls can also be editted by
double clicking the entry in the list.
`Remove'
Removes the selected call from the list.
`Remove all'
Removes all calls from the list.
`Save'
Saves the binary log file.
`Cancel'
Closes the maintenance panel without saving any changes.
Group settings panel
====================
Hosts can be divided into several groups, for example hosts where
you `poll' your mail belong to the group "Mail". In the group panel you
control the groups.
`Groups'
This list contains all installed groups.
`Add'
Add a new group to the list.
`Remove'
Removes the selected group from the list.
`Save,Use'
Save and/or use the current settings.
Report presets panel
====================
You are most likely interested in more than one specific report
period. Instead of having to change the from/to dates and other report
settings manually over and over again it is possible to store these
settings in a preset. After doing this you only need to select the
preset from the `Presets' menu and all report settings will be set to
the desired settings. The report presets panel is where you define the
presets.
`Presets'
This list contains all installed presets.
`Add'
Add a new preset to the list.
`Edit'
Edit current preset.
`Remove'
Removes the selected preset from the list.
`Save,Use'
Save and/or use the current settings.
User interface notes
********************
To operate a gadget, press the key corresponding to the letter
highlighted in the gadget label. Suppose a slider is labeled `Minutes'
with the letter `M' underlined; in order to increase the slider value
one has to hit the key labeled `M', to decrease the value one is to
hold down either `Shift' key while pressing the key `M'.
Windows in which only a single scrolling list is present cursor keys
may be used to scroll the contents.
The `Return' and `Escape' keys are respected by most windows. A
button surrounded by a recessed box represents the default choice in a
requester, pressing the `Return' key will select it. The `Escape' key
mostly selects the most negative response (e.g. `Cancel'), whereas the
`Return' key selects the most positive respone (e.g.`Use'). Most
windows to feature a close gadget in the upper left corner can be
closed by pressing the `Escape' key.
Numeric entry fields accept input several notations, namely
hexadecimal (`$..' and `0x..'), octal (`&..') and binary (`%..').
The user interface support library tries to make all control panel
windows fit on the screen. If the first attempt fails a different font
is used. If this did not help either a new screen will be opened for
the window.
Configuration
*************
This section describes briefly how to configure `phonebill' manually
by editting the configuration files. All configuration files are plain
ASCII text files, which are parsed at startup of the program. For each
configuration file there are several keywords which let you control the
certain variables. The following list describes all keyword types:
`string'
A keyword of type `string' is of the following form:
(<NAME> <STRING>)
where `<STRING>' is a valid c-style string.
`stringlist'
Keywords of type `stringlist' are of the following form:
(<NAME> <STRING1> <STRING2> ... <STRINGn>)
`integer'
Keywords of this type are used to assign a integer value to a
variable:
(<NAME> n)
where `n' is a valid integer number.
`boolean'
A keyword of type `boolean' can only have the value 1 (which
stands for `true') or 0 (which stands for `false').
`block'
Keywords of this type are used to enter a block in which a new set
of keywords is valid.
(<NAME>
; Block keywords
)
Most configuration files can be controlled by editting the settings
using the the program. The description of these configuration files
will therefore be ommited.
Scanner configuration (Scanner.config)
======================================
The "Scanner.config" file is used for defining the log file scanners.
Before listing the format of this configuration file you'll have to
learn about the way `phonebill' scans a log file.
Log files are scanned line by line. Each line is searched for certain
information concerning calls. If enough information is found to make up
the date, time, duration and destination of the call, the call is insert
in the list of new calls. The information needed can be divided into
different types, for example: day of the month in which the call took
place, telephone number, etc. Each line of the log file is compared to
a format string which contains so called `cookies' on certain places in
which information is to be expected.
Cookie Description Type Range
------- ----------------------------------- ----------- -----
%n host name STRING
%a phone number STRING
%A phone number (char restriction) STRING
%f Fido-style address INT:INT/INT(.INT)
%h hour (connection) INT 0..23
%m minutes (connection) INT 0..59
%s seconds (connection) INT 0..59
%y year (connection) INT 1970..
%e year, short (connection) INT 0..99
%o month (connection) INT 1..12
%t month, string (connection) STRING
%d day of month (connection) INT 1..31
%p AM or PM (connection) STRING (AM|PM|A|P| )
%l localized date (connection)
%H hour (end of connection) INT 0..23
%M minutes (end of connection) INT 0..59
%S seconds (end of connection) INT 0..59
%Y year (end of connection) INT 1970..
%E year, short (end of connection) INT 0..99
%O month (end of connection) INT 1..12
%T month, string (end of connection) STRING
%D day of month (end of connection) INT 1..31
%P AM or PM (end of connection) STRING (AM|PM|A|P| )
%L localized date (end of connection)
%U hours (connection length) INT
%I minutes (connection length) INT
%X seconds (connection length) INT
%# dummy number INT
%$ dummy string STRING # >= 1
%c dummy character CHAR
Now, let's take a look at the following log file:
01-Jul-94 18:04:04 Connected to "BBS" (911)
01-Jul-94 18:06:33 Disconnected
The following are scanstrings used for comparing with lines of this
log file:
"%d-%t-%e %h:%m:%s Connected to \"%n\" (%a)"
"%D-%T-%E %H:%M:%S Disconnected"
Such scanstrings are listed in keyword "scanstring.default" of type
`stringlist'. Now take a look at the following part of the log file:
01-Jul-94 18:07:01 Calling 911
01-Jul-94 18:07:16 BUSY
...
01-Jul-94 18:14:01 Connected to "BBS"
01-Jul-94 18:23:21 Disconnected
The line that contains "BUSY" has to be taken special care of: all
information found up to that line needs to be disposed. This can be
done using the keyword "scanstring.reset" of type `stringlist':
scanstring.reset = "%#-%3$-%# %#:%#:%# BUSY"
If a string is encountered that matches the above string, all
information found so far gets disposed. There are however cases in
which not all information may be disposed. Take a look at this log file:
-------- 10 Aug 94
13:33:30 Connected to "BBS"
13:41:22 Disconnected
13:42:10 Connected to "Other BBS"
13:52:56 Disconnected
-------- 11 Aug 94
16:42:64 Start of session
This time it's not that easy to create a log scanner because the
date is only listed once. When the first `Disconnected' is encountered,
the call will be inserted in the list of new calls, and every
information gets disposed. The second call won't have a date, which is
required for the call to be recognized. To resolve this problem, use
the following two scanstrings: "scanstring.sticky" and
"scanstring.hardreset", both of type `stringlist'. Every information
detected by a sticky scanstring will only be lost by a hardreset, not
by a reset. This all results in the following log scanner for the above
log:
(scanner
(name "foobar")
(scanstring.reset "%#:%#:%# BUSY")
(scanstring.hardreset "")
(scanstring.sticky "-------- %d-%o-%e")
(scanstring.default "%h:%m:%s Connected to \"%n\""
"%H:%M:%S Disconnected")
)
Now you have seen some examples, a more formal description is given.
Valid keywords in "Scanner.config" are:
`scanner (`block')'
Using this keyword a new scanner can be defined. The following
keywords are valid within a `scanner' block:
`name (`string')'
Defines the name of the scanner.
`scanstring.reset, .hardreset, .sticky, .default (`stringlist')'
Explained above.
`noyear (`boolean')'
Set this to true (e.g. "(noyear 1)") if the year in which the
calls are made is not logged. The program will try to fill
in the year itself.
`signature (`string')'
To keep track of what calls have already been processed, it
is possible to add a signature to the end of the log file.
All calls that appear before this signature are regarded as
`previously scanned'.
As you can see, creating your own log file scanner is not that easy.
If you have a log file that is currently not supported then please
don't hesitate to mail it to me (uuencoded please) and I'll create the
scanner for you. See Author Info for my address.
Supported log files
*******************
This section contains a couple of notes on some log files:
``GPFax' log'
The log produced by `GPFax' is a binary log file. As it is
currently not possible to define a scanner for binary log files,
the scanner for this file format is built-in. I didn't have any
information about the structure of this log, so the built-in
scanner is a bit of a hack. Therefore it is currently not
possible to truncate this kind of log file.
``term' action log'
The call information placed in the action log files was never
intended for postprocessing with call-log analyzers. There is no
fixed defined file structure and localization of `term' can
introduce a lot of trouble. Therefore it is recommended to use the
`term' call log instead.
``term' call log'
The file format of this log file is compatible to that of `NComm'.
``terminus' log'
`terminus' has an option to select the format of the logged date.
You can choose "dd-mm-yy", "dd/mm/yy" and "mm/dd/yy". It isn't
always possible to decide what format is being used, for example:
is "05/01/94" of type "dd/mm/yy" or "mm/dd/yy"? Therefore only the
first date format is supported, no calls will be found in a log
file using the other two date formats.
``trapdoor' log'
If the `trapdoor' scanner doesn't work with your log file, you
probably have insufficient loglevel settings. You should put the
following settings in the `trapdoor' configuration file:
LOGLEVEL 0:2 ; debugger
LOGLEVEL 1:2 ; link
LOGLEVEL 2:2 ; transfer
LOGLEVEL 3:2 ; system
LOGLEVEL 4:2 ; modem
LOGLEVEL 5:2 ; session
LOGLEVEL 6:7 ; security
LOGLEVEL 7:2 ; outside
LOGLEVEL 8:7 ; information
LOGLEVEL 9:2 ; scheduler
Program updates
***************
Whenever a new release of `phonebill' becomes available it will be
uploaded to:
Grafix Attack (SysOp: Kees Huizer)
+31-(0)10-4745816 (28K8)
+31-(0)10-4741062 (19k2 ZyXEL)
+31-(0)10-4744682 (28K8)
FidoNet: 2:286/407.0
AmigaNet: 39:153/201.0
NLA: 14:101/200.0
Decades BBS (Sysop: Thomas Andersson)
+46-54-831561 (USR 28.8 V.Everything)
FidoNet: 2:203/625.0
AmigaNet: 39:160/105.0
For those of you who have access to the aminet, the latest version
can be found in directory comm/misc, filename pbill??.lha (where ??
stands for the version/revision number).
How to register
***************
As with the previous versions of the program, `phonebill' v2.0 and
higher are shareware. There is one difference: starting from version 2.0
`phonebill' has been crippled, not all features are available in the
unregistered version:
* Binary log file maintenance and report presets are disabled.
* `phonebill' only calculates the fees with up to two decimals (e.g.
$0,15). In the registered version nine decimals are supported,
which provides a better accuracy.
Many people hate crippled software, including myself. But it just
seems that uncrippled software isn't `appreciated' anymore, because very
few people registered. That is why I decided to cripple the program.
*Important information:* The registration fee for the uncrippled
version was $5 US, but I had to raise the price because starting from
version 2.0 I will have to send users that register a disk containing a
keyfile. Now, starting from 27 September 1993, the registration fee will
be $10 US. If I receive any registrations containing $5 US after this
date, they will be regarded as a registration for the `old' (pre 2.0)
version of the program. So, if you registered with $5 US after this date
you will not receive a keyfile: you'll have to send another $5 US. I
would to thank all people that have registered the uncrippled version
of the program before this date by sending them a keyfile without
having to pay extra.
*Registration procedure:* Complete the details in one of the
supplied registration forms found in the "Documentation" directory, and
follow the instructions given there. If for some reason you don't have
the registration form, then do the following:
1. Write a note with your complete name and mailing address, and
state clearly that you want to register the Amiga version of
`phonebill'. If you have access to e-mail (e.g. internet, fidonet,
etc.) please specify your e-mail address too. If you want your key
to arrive fast I can send it by e-mail, but for security measures
you will have to send me your PGP (Pretty Good Privacy) public key
first.
2. The registration fee is $10 US, DM 15,-, FL 15,-, AUD $15, or the
equivalent of $10 US in any other currency.
Decide how to transfer the money, e.g.:
* cash (at your own risk).
* a postal money order.
* a EuroCheque (only in FL!), foreign cheques are *NOT*
accepted!
3. Send this to:
Raymond Penners
Berkenlaan 4
NL-6241 AZ Bunde (The Netherlands)
4. Wait for your keyfile to arrive. You should receive your key
within 10 days after the arrival of your registration fee. Please
allow up to four weeks, due to unforseen circumstances.
5. Copy the keyfile to the directory where you keep `phonebill' in or
to the `L:' directory. Thanks for registering!
Acknowledgements
****************
I would like to thank the following people for support, suggestions,
help and assistance: Richard Schiffelers, Maurice Lahaye, Matthias
Scheler, Philippe Duchein, Eric Delord, Johan Billing, Henrik Gelius,
Jan van den Baard, Michael Holloway, Lars Hanke, Sven Kuenzler, Jos
Swolfs, Kenneth Fribert, Finn Kettner, Stephan Grochowina, Richard
Galezowski, Peter C. Lowish, Thomas Andersson, Andreas Baum, Francesco
Dipietromaria, Cedric Souchon ...
Special thanks go to Olaf `Olsen' Barthel, for releasing the
sourcecode of `term' and creating `gtlayout.library'. Great work!
Some quick greetings to: Erwin Penders, Mel Nijsten, Maurice
Penners, Walter Konrad, Frans Bouma (Not at ericson anymore? What's
your e-mail adr.?), Robert Udo, Bart Cremers, Arnaud Gouder de
Beauregard, Walter Dees, Rino Roufs, Rex (the ONE and ONLY
SPHINX-O-Dog), Marcel Meuldijk, Edwin Boesten, Ephrem Bollen, Marcel
Franquinet ...
Furthermore I would like to say hello to all `dudes' on IRC : Ikke,
Bilbo1, Savage, Dense, Milano, Pjotr, ALFred, Mnemo, Xed, SteveVai,
Zop, Janne, Outland, Mjoelnir, Juggi, Goldrnr, Lundman, Shocker, Mag,
VAG, Herb, _ho_ and everyone I know but forgot to mention here!
These are all listed in chaotic order! I am sorry if I forgot
someone (which I'm sure I have) ...
Revision history
****************
Please select the version of which you you want to see the changes:
Version 1.0
===========
Version 1.0 was released 6-Jun-1993:
* First public release.
Version 1.07
============
Version 1.07 was released 14-Jul-1993:
* Compiled on A4000 :-)
* All configuration files now use the IFF format, and are stored in
ENV: and ENVARC:.
* The documentation is now in guide format.
* Improved preferences: more options.
* Added requester that warns you on exit if the configuration has
been modified.
* Keyboard shortcuts for most of the gadgets.
* Requester warning if <from> date is 'above' <to> date.
* At the beginning of the report you'll now see the time period.
* If no calls were found during scanning the report will state an
error message. (In V1.00 an empty textfile would be displayed)
* Included built-in rates: German, French, Dutch, Swedish rates.
* Added commandline arguments. Try "Phonebill ?".
* Added menus to the main window.
* Added support for MagiCall log file.
* In the report produced by "List Calls" sometimes only the
phonenumber would be displayed, although a name was provided in
the hostmanager.
* If Phonebill was running under a localized workbench, the default
from-date ("Yesterday") and to-date ("Today") weren't accepted
anymore.
* Fixed some V39 problems: the busy pointer now appears in the same
resolution as the normal mouse pointer, and some problem
concerning V39 listviews is fixed too.
* If you were using a bigger system font the rate exception editor
would mess up. Also, if you de-zoomed the editor window you
wouldn't see the exception anymore.
Version 1.08
============
Version 1.08 was released 1-Aug-1993:
* Added Terminus support.
* Severe bugs were found in Term, Magicall and NComm scanning (thanks
to Benno Zuure, Henrik Gelius and Frank Petzold). I've rewritten
all log scanning routines to avoid software failures when unknown
log messages were encountered.
* The saved configuration files had the wrong version/revision tag.
Also, Phonebill would disregard this tag and load any
configuration file. So if the configuration files need to be
changed in the future, the old version of the program would load
the new config files which would probably result in a software
failure.
* Under some circumstances phonebill refused to remove a rate,
although it wasn't in use.
Version 1.1
===========
Version 1.1 was released 16-Aug-1993:
* The host and log lists now show some additional information.
* Added support for Amiga UUCP timelog.
* The pre-defined rate "Sverige: Riks 1" was wrong. The exception
"Monday-Friday 18:00-22:00 0.29 per 52 secs" was missing.
Version 2.0
===========
Version 2.0 was released 27-Sep-1993:
* GUI facelift: windows backfilled, listview doubleclick, changes in
the menus.
* Brand new rate editor
* Improved "Do you really want to quit?" requester.
* <From> and <To> date are now saved as strings.
* Iconification.
* Crippled.
* Added JrComm support.
* Binary log file maintenance.
* Context-sensitive online help, by pressing `help'.
* New improved documentation, including ASCII and DVI formats.
* Improved keyboard control: `Escape' will function as a cancel/use
action, and `return' as an ok/save action.
* `Skip' in the `Unlisted host found'-requester now really skips the
host, and not just for once.
* Now `phonebill' is able to scan a `Terminus 2.0b' log file
correctly (it has some strange `LF' before its connection string).
Version 2.1
===========
Version 2.1 was released 19-Oct-1993:
* Fixed bug in `trapdoor' scanner: you don't have to pay for
incoming calls anymore.
* Fixed bug in `AmigaUUCP' scanner: calls of length greater then 99
minutes in the UUCP log are misaligned. This caused `phonebill' to
skip such calls.
* Now you can add and edit calls from within the binary log file
editor.
* Time units extended with upto 4 decimals (e.g. $1,2345 per 12,3456
seconds).
* Bugfix: If the textviewer name contained spaces `phonebill'
couldn't find the viewer.
Version 2.2
===========
Version 2.2 was released 7-Dec-1993:
* Under most circumstances the updating of the binary log file is
much faster and efficient compared to previous versions.
* Added MultiFax proffesional support.
Version 2.3
===========
Version 2.3 was released 6-Feb-1994:
* New callrate feature: least costs.
* The statistics have been improved and new statistics have been
added (hourly activity).
* Bugfix: the calls in the binary log file weren't always sorted
chronologically.
* Added MicroDot support.
* Added TrapFax support.
* Due to the use of the quotes when running the textviewer you
couldn't specify any commandline arguments (e.g. "WatchIt -i").
This has been fixed.
Version 2.4
===========
Version 2.4 was released 13-Mar-1994:
* Added TKR-BTX support.
* Added AutoPilot support.
* Fixed a problem with the MicroDot log file: A call ending with
"NETCALL abgebrochen" was not recognized as a valid call, and
therefore skipped.
* Any trailing spaces entered at the end of the from/to-date strings
are ignored now.
* The `LogScan' signature from the term log file did not have the
appropriate dateformat. Therefore, it could happen that the
signature wasn't recognized during some months, which might have
resulted in `fake' (duplicate) new calls.
* Generating report now is approx twice as fast due to the use of
asynchronous I/O.
* More commandline arguments are supported.
* Added a "Save"-button in the "Settings not saved" requester.
* Added `dupe'-detection: duplicate calls are automatically removed.
So now there is no harm done when a log file is accidently scanned
twice. I recommend that you re-save your binary log file by
pressing `Save' in the maintenance panel, so that dupes from
previous versions are removed (if there were any).
Version 2.5
===========
Version 2.5 was released 6-Apr-1994:
* When adding calls using the maintenance panel the date is
automatically set to the current date instead of 01-jan-78.
* Added GPFax support.
* Bugfix: dupe-detection failed sometimes.
* AutoPilot problem fixed: only sessions ending with "End of
Session" were recognized.
Version 3.0
===========
Version 3.0 was releaded 25-Aug-1994.
* The program can now be localized by translating the supplied
catalog description file.
* The configuration files have changed from IFF to plain ASCII text
files which are parsed on startup. Files in ENV:Phonebill are no
longer needed, which saves memory.
* Moved from built-in scanners to user-configurable scanners. The
only built-in scanner left is `GPFax' (which is binary log file).
* Improved the rates: extended the limit of 4 decimals for units and
seconds to 9, support for different rates in different time
periods, you can enter more than one date in a date exception by
seperating them using a `|' character, first and second unit have
made place for a listview in which you can configure as much units
as you wish.
* Replaced the ugly CON: window by a nice intuition window.
* You can set a different carrier detect time for each host, or use
the default carrier detect time as desired.
* Support for hosts with more than one phone number by seperating
the numbers using a `|' character.
* Cleaned up the statistics report a bit. It's also possible to
define the sort order in which the host listed in the bill report
are sorted.
* Added support for `CyberPager', `TheAnswer', `JamMail' and
`Multifax 2.0'.
* New user-interface featuring `gtlayout.library' by Olaf `Olsen'
Barthel. I found this the best compromise between a plain and fast
gui like the old `phonebill', and a slow but very configurable gui
like `MUI'.
* Re-arranged the menus. I noticed that the `Project' menu was called
`Projects', which looks very ugly. Why didn't anyone report this?
:)
* Cleaned up the code: large parts have been re-written.
* Installation is now done by using the Commodore Installer (or
should that be Samsung Installer, or Philips Installer? :-)
Version 3.1
===========
Version 3.1 was releaded 4-Oct-1994.
* Changed: the program now also looks for the keyfile in the
directory specified by the KEYPATH variable, if it exists.
* Changed: The cookie %a only accepted certain phonenumbers, which
caused a lot of problems. Now %a accepts any string. So now,
"Calling %n (%a)" and "Calling BBS (123-AMI)" match. "A BBS 123"
and "%n %a" match too: name="A" nr="BBS 123", to resolve this "%n
%A" should be used.
* Bug fix: Updating the binary log files on MC68000-amigas could
crash because of reading from an odd address.
* Changed: when adding hosts the last selected rate will be used as
default for a new unlisted host.
* Added an option called `connection costs' to the rates.
* Changed: if "ENV:AmigaGuide/Path" is set-up correctly, you can
put the "Phonebill.guide" whereever you want.
* Added some average costs/calls/online per day to the stats. Also,
if the <to date> is set somewhere in the future, `phonebill' will
estimate the total costs on that date (bill report).
* Changed: hosts with multiple phonenumbers did not work the way it
was supposed to be. For example, now you can group a host "Line A"
(9111) and host "Line B" (9112) to "Lines" (9111|9112).
* New: Hosts can be assigned to groups, over which reports can be
generated seperately, for example: create a group called "Poll"
and assign all hosts you poll for mail to this group. Then you
can view reports concerning these hosts only...
* Bug fix: the `minimal costs' weren't saved.
* By pressing `Cancel' in the host settings panel the changes to the
host were dropped, but changes to the rates weren't. Now, you can
only pick a rate from within the host settings panel. Editting
rates is done by using the rate editor.
* The format of the configuration files has changed again. For
example: "scanner ... endscanner" is now "(scanner ...)" The new
format is more compact, and the parser should be a bit faster
compared to the old parser.
* Added German and Swedish catalogs, updated Swedish rates.
* And last but not least: my fido e-mail addresses have changed. :)
Version 3.1a
============
Version 3.1a was released 14-Oct-1994.
* The unregistered version could crash when you were presented with
the shareware requester, but only if the localized strings were
larger than the original strings.
* Fixed possible software failures in the routines responsible for
adding hosts manually.
* Removed a spelling mistake. :-)
* An italian catalog has been added.
Version 3.2
===========
Version 3.2 was released 24-Dec-1994.
* Added NewIcons and MagicWB icons to the distribution.
* The program no longer requires both %I and %X or %U and %I to be
present to determine the length of the call. An occurence of %X
only suffices.
* Re-added writing signatures to the GPFax log file. If you don't
like this, turn it off in the log settings.
* Added scanners for AmiTel, Off-line Amiga, DreamTerm,
ISDN-Master-Telephone-Log.
* Added a new cookie for fido-style addresses to the scanner. If
you have `traplist' installed the address found will be used to
find the real name and phonenumber of the host. You'll need to
configure the "Nodelist path" (see miscellaneous settings).
* Phonebill has become a commodity: a hotkey can be defined in the
tooltypes (CX_POPKEY, defaults to "ctrl alt b") to (de)iconify the
program.
* Added: if you want to rescan the log files you won't have to go
through the trouble of removing the signatures with a text editor,
just use the new `Rescan logs' menu item.
* New: option for disabling writing signatures to the log file
* Changed: a signature will only be added if new calls were found.
* Added new date format: an integer can be used to specify the
number of days after today (e.g. scanning from "-6" up to "today"
results in a report of the last seven days.
* New: report presets (for the scan range and groups).
* New hosts can be automatically added by supplying the rate(s) with
a pattern to match certain area codes.
* Fixed a problem in call appending.
Version 3.3
===========
* Added a new `cookie' for scanning a localized date (e.g. newer
versions of autopilot started logging localized dates). Help, I
am running out of cookies! :-)
* Accidently mapped the month string "maa" (dutch for March) to may.
Also, "mär" was unknown.
* Added support for Plink.
* A linefeed at the end of the bill report was missing.
* Added AutoPilot scanner for v1.75 or higher.
* The program can be opened on a public screen.
* Added option to process log files on startup.
* Bug fix: somewhere in the log panel information from memory was
read after it had been freed already, causing enforcer hits. Oops!
* Added commandline switch "CONFIG/S" to specify the location of the
configuration directory.
* Fixed bugs in the terminus scanner.
* Added a scanner for ZeeTerm.
* When pressing `enter' in the from/to gadgets of the rate period
settings panel the date(s) or day(s) settings panel could popup
with no particular reason. This has been fixed.
* Cosmetical changes: menu checkmarks and Amiga keys are now scaled
according to the current screen display ratio, added a zoom gadget
to all windows.
* Added a new truncating option called "Preserve blocks". If this
option is enabled the log file will be truncated at the position
of an empty line seperator.
* Monetary values are now displayed according to the current locale
settings.
* Removed my name and address from .cd file.
Version 3.3a
============
Version 3.3a was released 11-Apr-1995.
* The executable from the previous release was mangled: AmigaDOS
2.04 wasn't able to execute it, but for some reason AmigaDOS 3.0+
didn't have any problems with it. Needless to say that it has been
fixed...
Version 3.3b
============
Version 3.3b was released 17-Jun-1995.
* A French translation is now available, thanks to Cedric Souchon.
* Important note: Continental Drift (the Australian registration
site) is closing down, meaning that they no longer accept
registrations. Ofcourse, it is always possible for Australian
people to get registered by me directly.
* A switch is now available to make sure that the reports contain
ASCII characters only (Miscellaneous settings).
* "Off-line Amiga" scanner modified to recognize sessions other than
"girotel" (e.g. Rabobank).
* Added GMS scanner.
Version 3.3c
============
Version 3.3c was released 10-Aug-1995.
* Scanner.config: Added PPP scanner.
* Scanner.config: term's action log scanner now reads localized
dates as written by term. However, this is only of any use when you
are using a non-localized term on a localized workbench since
otherwise phonebill wouldn't understand term's localized log file
anyway. Btw, the best thing would be to use the call log anyway.
* Finally the install script has been localized as well.
* Bug fix: The last line of a log file was ignored if and only if it
didn't contain a line feed. As far as I know, the only log file
format that doesn't end it's lines with an apropriate linefeed is
TKR-BTX.
* Added UK rates.
* Bug fix, 2.04 only: if you didn't specify a date in the rate
period settings panel it would be interpreted as "31-Dec-99".
This wasn't really my fault :), kick 2.04 seems to accept "-" as a
valid date (try running "date -" in a shell).
* Scanner.config: modified trapdoor scanner to recognize calls were
the modem could not be hung up.
* Scanner.config: modified the trapdoor scanner to recognize calls
that were breaked by the user ("[..]User break[..]").
* Scanner.config: GMS scanner has been modified to process 5D
addresses correctly.
Author Info
***********
Send bug reports, log files, suggestions, comments, postcards,
flames, contributions, etc. to:
* Snail-Mail:
Raymond Penners
Berkenlaan 4
NL-6241 AZ Bunde (the Netherlands)
* Internet: raymondp@stack.urc.tue.nl
* You may also find me (nickname "Sphinx") on IRC in the #amiga
channel.
Below you will find my public key.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.3a
mQCNAixCIEEAAAEEAMYJLUgyMWTJHOzMaiL1k50GXN86f2Ym2R7sHt6To3XluXhN
UYtkL+G2FYlGI+FzVL4oRBUCnzkqkvvIQHYbanxuVEX3XJ/w0tHWMc6+nj0/XniQ
4N9sUk4a0CiQWlo6CH6O6l+JvUoEamLpOmHeNKbOsjzh3Ekg2WxCH+ITWUepAAUR
tCtSYXltb25kIFBlbm5lcnMgPHJheW1vbmRwQHN0YWNrLnVyYy50dWUubmw+
=CMBu
-----END PGP PUBLIC KEY BLOCK-----