/etc/isdn/callerid.conf - config file for isdnlog numbers and scripts
FORMAT
This file has the format described in isdnformat(5). It must be owned by
root, and only root may have write access. Every user can create his
private telephone book as ~/.isdn with the same file format.
VARIABLES SECTION
Like in isdn.conf, this file has an optional [VARIABLES] section. All
variable names must be uppercase. Warning: variables in callerid.conf
will override variables in isdn.conf, and variables in ~/.isdn will
override variables in both files. First all variables are read, then they
are substituted, so a variable defined in ~/.isdn can be used in isdn.conf.
This might be a security hole. However, if programs are to be run as root,
these files (and the program) cannot be writeable for non-root users.
Using variables: if a reference to a non existing variable is used,
isdnrep and isdnlog will give warning messages, and use the variable
name (e.g if $FRED isn't set, isdnlog will use "$FRED"). The dollar sign
can be backslashed if a real dollar sign is needed instead of variable
substitution (e.g. \$PATH will be "$PATH").
NUMBER and MSN
In [NUMBER] sections, you can supply information for the outer world,
in [MSN] sections; you can supply information about your msns. The
format is the same:
NUMBER=xxxx
Set the telephone number. This should be your msn or the telephone
number with area code (with or without areprefix, countrycode and
countryprefix)
SI=x
Service indicator. Isdnlog knows these service indicators:
1 speech (telephone, fax g3, modem etc.)
2 restricted digital information
3 unrestricted digital information with tones/announcements
4 video
7 unrestricted digital information (hdlc, x.75 etc.)
Alias=xxxx
Supply a name as alias (e.g. ALIAS=Fred's Number)
ZONE=xxx
Only useful with remote numbers: billing zone for connections to this
number:
0 internal connection in your s0 bus (no charge)
1 city area
2 region 50
3 region 200
4 far region
5 the same as 1
INTERFACE=xxx
Isdn network interface. This information is required with the
"-hx" / hangup="value" option.
START
You can define a subsection here. The whole section is ignored unless you
gave the "-S" / start=yes option. Each subsection should have the name
[FLAG]. It may hold these values:
FLAGS=x|y|z
Combine these flags (with or without the pipe "|" char; with is preferred)
to get the combination you want:
Part 1: Incoming and Outgoing
I
Incoming call
O
Outgoing call
Part 2: Signals from isdn system
C
Connect (can be used with interval, see below)
B
Busy
E
Error
R
Ring (can be used with interval, see below)
A
AOCD (advice of charge signal)
H
Hangup
Part 3: Modifiers
L
Start the program again and again every time it terminates.
U
Start the program only once within a interval. Without this, several
instances of a program can run in parallel. (Interval required.)
K
Kill program at the end of the interval.
USER=xxx
Isdnlog will not run programs as root, and will switch to a different
user id for security. You must give the name or uid of the user isdnlog
has to use here.
GROUP=xxx
Isdnlog will not run programs as group root, and will switch to a
different group id for security. You must give the name or gid of the
groups isdnlog has to use here.
TIME=xx
Restrict this flag to a special time. Pleas read isdntime(5).
INTERVAL=xx
With connect (C) or ring (R) flag you can specify an interval, so
isdnlog will start the program after every interval. The interval is in
seconds and should be at least 2 seconds. If the flags do not include C
or R, this option is ignored.
PROGRAM=xxx
The program you want to start, with the required arguments. You may use the
following special tokens:
\$1
flags that caused execution, e.g. "IR", "OC". There are always
exactly
two characters.
\$2
Caller number (complete with area code).
\$3
Called number (complete with area code).
\$4
Time the connection started. Example:
"Wed May 28 23:07:44 1997".
Contains "?" if there is no connection yet (e.g. still at RING phase).
\$5
Duration of connection up to now (in seconds).
\$6
Time the connection ended. Same format as \$4.
\$7
Number of input bytes.
\$8
Number of output bytes.
\$9
Input bytes per second.
\$10
Output bytes per second.
\$11
Service indicator.
\$12
Charges.
\$13
Caller country code.
\$14
Called country code.
\$15
Caller area code.
\$16
Called area code.
\$17
Caller town (derived from area code).
\$18
Called town
\$19
Caller alias.
\$20
Called alias.
Note: within a string you must use \${1} \${2} ...