The Care and Feeding of ISDN4BSD | ||
---|---|---|
6.1 The isdnd.rc Configuration | 6.1 The isdnd.rc Configuration | 6.1.2 The Controller Configuration |
6.1.1 The System Configuration Section
This section is used to customize the behavior of the isdnd daemon itself. One thing to configure is whether accounting information is produced, how it is produced and where:
Another area of configuration tells the daemon if remote monitoring with the isdnmonitor program is allowed and which remote machine may monitor what:
- [useacctfile](on/off) If this parameter is set to on, accounting information will be written to a file specified with the keyword acctfile.
- [acctfile](string, default ``/var/log/isdnd.acct'') This keyword may be used to specify a filename into which accounting information is written to at runtime.
- [acctall](on/off) Setting the value to on causes accounting information for connections the local site is not charged for to be written in to the accounting file.
For accounting and short-hold-mode purposes, isdnd is capable of reading in a database of charging unit lengths per daytime, the location of this database may be specified by the keyword
- [monitor-allowed](on/off) Setting the value for this keyword to on enables monitoring with isdnmonitor by another (or the local) machine.
- [monitor-port](integer) this configures the TCP port the isdnd will listen at for isdnmonitor monitoring requests. The default value is 451.
- [monitor](pathname) specifies (in case the monitor client is run only on the local host) a local UNIX-domain socket name, for example ``/var/run/isdn-monitor''. The name must start with a ``/''!
- [monitor](dotted-quad host specification) specifies an IP address for a host which may connect to the isdnd on the local machine (example: 192.168.1.2). The IP address optionally may have a netmask appended to grant several machines access to the local isdnd (example: 192.168.1.0/24).
- [monitor](resolvable hostname) specifies a hostname for a host which may connect to the isdnd on the local machine (example: localhost). The hostname optionally may have a netmask appended to grant several machines access to the local isdnd (example: up-vision-net/24).
- [monitor-access](fullcmd, channelstate, logevents, callin, callout) the value for this keyword is one or more comma separated access-right-strings to grant the host specified in a previous monitor keyword access to the specified resources.
Another thing possible with isdnd is its capability to scan its logfile output for patterns matching a previously specified expression and in case a match occurs, run a program to do something. A common use for this is for example that every time a connection is made to your provider for whatever reason, all previously batched mail can be delivered to the outside world. For a complete discussion of regular expressions see [14]. Two keywords are used to configure this:
The following keywords enable the alias mechanism to replace telephone numbers with more meaningful texts in the log and full screen outputs of isdnd:
- [regexpr](regular expression) This keyword can be specified more than once up to a compile time dependent value (currently set to 5 by the MAX_RE definition in the source). All specified regular expressions are compared to the log strings at runtime and if a match is found, a program is run with the log text as a parameter (see also the keyword regprog below). For an explanation how regular expressions are specified, please have a look at the manual pages for re_format(7) and regex(3). The extended regular expression syntax is supported here. Hint: it might be necessary to properly quote the expression to avoid improper interpretation by the configuration file parser.
- [regprog](program name) This keyword is used to specify the name of a program which is run in case a corresponding regular expression is matched by a logging string. Isdnd expects to find the program below the path /etc/isdn which is prepended to the string specified as a parameter to this keyword.
Two keywords support the notification of a system administrator in case of fatal program exits of the isdnd daemon by mail:
- [aliasing](on/off) If this parameter is set to on, alias processing of telephone-number to name is enabled. The default is off.
- [aliasfile](path/filename) Specifies the name of the telephone number-to-name alias database file shared with the isdntel(1) utility when alias processing is enabled via the aliasing keyword. (optional)
The parameters following don't belong to a special group, so they are explained in the order of appearance:
- [mailer](path/name) Specify a mail program, which which is able to use the "-s" flag to specify a subject on its command line. In case of a fatal error exit of isdnd.rc this program is used to send mail to an administrator specified by the keyword mailto. (optional)
- [mailto](emailaddress) Specifies the the email address of someone to notify in case of a fatal error exit of isdnd (see also keyword mailer ). (optional)
An example of a system section would be:
- [rtprio](integer) On some operating systems (i.e. FreeBSD) a process my set its scheduling priority to certain values causing it to be treated differently by the scheduler than other processes. This keyword may be used to specify the realtime priority isdnd runs at as an integer value in the range 0...31 with 0 being the highest priority. This keyword is optional; if not specified, the process priority of isdnd is not touched in any way. ( See also rtprio(1) ). This keyword is only available if isdnd.rc was compiled with -DUSE_RTPRIO.
- [isdntime](on/off) If this parameter is set to on, date/time information transmitted on the ISDN D-channel from the exchange (if provided) is written to the logfile. The default is off. (optional)
- [beepconnect](on/off) Setting this to on in full screen mode sounds an audible beep every time a connection is made or shut down.
- [extcallattr](on/off) If this parameter is set to on, the ISDN extended caller attributes "screening indicator" and "presentation indicator" are written to the logfile. The default is off.
- [rotatesuffix](on/off) Specifies a suffix for renaming the log- and the accountingfilename. In case rotatesuffix is used and a USR1 signal is sent to isdnd, the logfile and the accounting file is not only closed and reopened but the old logfile is also renamed to the former file name with the rotatesuffix string appended. If this keyword is omitted, the logfiles are just closed and reopened; this is also the default behaviour.
- system
acctall = on
acctfile = /var/log/isdnd.acct
useacctfile = yes
monitor-allowed = yes
monitor-port = 451
monitor = "/var/run/isdn-monitor"
monitor-access = fullcmd
monitor-access = channelstate, logevents
monitor-access = callin, callout
monitor = "192.168.1.0/24"
monitor-access = restrictedcmd, channelstate, callin
monitor = "rumolt"
monitor-access = restrictedcmd, channelstate, callin
monitor = "up-vision-net/24"
monitor-access = restrictedcmd, channelstate, callout
ratesfile = /etc/isdn/isdnd.rates
regexpr = "connected.*KTS"
regprog = connectKTS
rtprio = 25