NAME
isdnd.rc —
isdn4bsd ISDN connection
management daemon config file format
DESCRIPTION
The file
/etc/isdn/isdnd.rc contains (if not otherwise
specified on the command line) the runtime configuration for the
isdnd(8) ISDN connection
management daemon which is part of the isdn4bsd package.
The configuration file consists of keywords which start in column 1 followed by
one or more spaces or tabs, an equal sign, one or more spaces or tabs and a
keyword dependent parameter value.
A line beginning with '#' is treated as a comment line.
For keywords requiring the specification of a boolean value, the truth value can
be either
yes or
on while the false value
can be either
no or
off.
The configuration file consists of one
system section, one or
more optional
controller sections and one or more
entry sections. In the
system section
parameters regarding the daemon operation or parameters not associated with a
single remote connection can be set. In the
controller
section parameters regarding a particular controller can be set. In the
entry section(s) parameters directly associated with a
single remote connection can be set.
The following keywords are recognized by
isdnd:
system
- This keyword starts the system configuration section. It
must not have a parameter and may be used only once. The keyword is
mandatory. The following keywords are valid in the system configuration
section:
acctall
- If this parameter is set to on,
accounting information is written even if the local site was not
charged or no charging information is available or is not subscribed.
(optional)
acctfile
- Specifies the name of the accounting file which is used
when the keyword useacctfile (see below) is set to
on. See also system keyword
rotatesuffix. If this keyword is omitted the system
default is used. (optional)
aliasing
- If this parameter is set to on, alias
processing of telephone-number to name is enabled (see also the
aliasfile keyword below). The default is off.
(optional)
aliasfile
- Specifies the name of the telephone number-to-name
alias database file shared with the
isdntel(8) utility when
alias processing is enabled via the aliasing
keyword. (optional)
beepconnect
- In full-screen mode, if this parameter is set to
on, ring the bell when connecting or disconnecting a
call.
extcallattr
- If this parameter is set to on, the
extended caller attributes "screening indicator" and
"presentation indicator" are written to the log-file. The
default is off. (optional)
holidayfile
- Specifies the name of the holiday file containing the
dates of holidays. This file is used in conjunction with the
valid keyword to lookup the dates of holidays.
(optional)
isdntime
- If this parameter is set to on,
date/time information from the exchange (if provided) is written to
the log-file. The default is off. (optional)
mailer
- This keyword is used to specify the path/name of 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
- This keyword is used to specify the email address of
someone to notify in case of a fatal error exit of
isdnd.rc. (See also keyword
mailer). (optional)
monitor-allowed
- If this parameter is set to on or
yes, monitoring via a local or remote machine is
enabled. This parameter is optional and is set to
off by default.
monitor-port
- sets the TCP port number for remote monitoring. This
integer parameter is optional and is set to port 451 by default.
monitor
- This keyword specifies a local socket name or a host or
network for remote monitoring. The monitor
specification may either be:
- the
name of a local (UNIX-domain) socket
- this MUST start with a "/", example:
/var/run/isdn-monitor
- a
dotted-quad host specification
- example: 192.168.1.2
- a
dotted-quad network address with netmask
- example: 192.168.1.0/24
- a
resolvable host name
- example: localhost
- a
resolvable network name with netmask
- example: up-vision-net/24
monitor-access
- This keyword specifies the access rights for a
previously used monitor keyword. The supported
access rights are:
- fullcmd
-
- restrictedcmd
-
- channelstate
-
- logevents
-
- callin
-
- callout
-
ratesfile
- Specifies the name of the ratesfile. If this keyword is
omitted the system default is used. (optional)
regexpr
- This keyword is used to specify regular expressions. It
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 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.
(optional)
regprog
- 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. (optional)
rotatesuffix
- Specifies a suffix for renaming the log- and the
accounting-filename. In case rotatesuffix is used and a USR1 signal is
sent to isdnd, the log-file and the accounting file is not only closed
and reopened but the old log-file is also renamed to the former
filename with the rotatesuffix string appended. If this keyword is
omitted, the log-files are just closed and reopened; this is also the
default behavior. (optional)
useacctfile
- If this parameter is set to on
charging (if available) and accounting information is written to the
accounting file. (optional)
controller
- This keyword starts the controller configuration section.
It must not have a parameter and may be used once for every controller.
The keyword is optional. The following keywords are valid in a controller
configuration section:
firmware
- This keyword is used to specify the path of the
firmware file that will be loaded to the card once
isdnd is started. This keyword is useful with active
ISDN cards.
protocol
- This keyword is used to set the D-channel protocol for
the S0-bus a controller is connected to. The following parameters are
currently supported:
- dss1
- The DSS1 or so-called "Euro-ISDN"
D-channel protocol according to ITU Recommendations Q.921 and
Q.931.
- d64s
- An ISDN leased line with a single B-channel (called
D64S in Germany).
entry
- This keyword starts one configuration entry. It must not
have a parameter. This keyword must be used at least once. The following
keywords are valid in an entry section:
-
-
answerprog
- This keyword is used to specify the name of a program
which is run in case an incoming telephone connection specified
answer in its configuration entry. The default name
is answer. Isdnd expects to find
this program beneath the path /etc/isdn which is
prepended to the string specified as a parameter to this keyword.
(optional)
-
-
alert
- is used to specify a time in seconds to wait before
accepting a call. This keyword is only usable for incoming telephone
calls (dialin-reaction = answer). It is used to have a chance to
accept an incoming call on the phone before the answering machine
starts to run. The minimum value for the alert parameter is 5 seconds
and the maximum parameter allowed is 180 seconds. (optional)
-
-
autoupdown
- For network interfaces using ISDN as a transport medium
it does not make sense to mark the interfaces UP before running
isdnd. Typically these interfaces are configured,
but marked down, in the respective ifconfig.* file.
When starting, isdnd recognizes these interfaces
(configured with some address, marked down, and having a matching
config entry) and marks them up. On shutdown, isdnd
marks all interfaces changed at startup DOWN again.
In rare circumstances you might not want this automatic handling. In
this cases add an autoupdown=no line to the config
file entry.
-
-
b1protocol
- The B channel layer 1 protocol used for this
connection. The keyword is mandatory. The currently configurable
values are:
- hdlc
- HDLC framing.
- raw
- No framing at all (used for telephony).
-
-
budget-calloutperiod
- is used to specify a time period in seconds. Within
this period, the number of calls specified by
budget-calloutncalls are allowed to succeed, any
further attempt to call out will be blocked for the rest of the time
left in the time period. (optional)
-
-
budget-calloutncalls
- The number of outgoing calls allowed within the time
period specified by budget-calloutperiod.
(optional)
-
-
budget-calloutsfile
- A path/filename to which the number of successful
callouts are written. The contents of the file is preserved when it
exists during startup of isdnd. The format of this file is: start
time, last update time, number of calls. (optional)
-
-
budget-calloutsfile-rotate
- If set to on rotate
budget-calloutsfile every night when an attempt is made to update the
file on a new day. The statistics for the previous day are written to
a file with the filename specified by budget-calloutsfile to which a
hyphen and the new day's (!) day of month number is appended.
(optional)
-
-
budget-callbackperiod
-
budget-callbackncalls
-
budget-callbacksfile
-
budget-calloutsfile-rotate
- See budget-calloutperiod,
budget-calloutncalls and
budget-calloutsfile
budget-calloutsfile-rotate above. These are used to
specify the budgets for calling back a remote site.
-
-
callbackwait
- The time in seconds to wait between hanging up the call
from a remote site and calling back the remote site. (optional)
-
-
calledbackwait
- The time in seconds to wait for a remote site calling
back the local site after a call from the local site to the remote
site has been made. (optional)
-
-
connectprog
- specifies a program run every time after a connection
is established and address negotiation is complete (i.e.: the
connection is usable). Isdnd expects to find the
program below the path /etc/isdn which is prepended
to the string specified as a parameter to this keyword. The programs
specified by connect and disconnect will get the following command
line arguments: -d (device) -f (flag) [ -a (addr) ] where
device is the name of device, e.g.
"ippp0", flag will be "up" if
connection just got up, or "down" if interface changed to
down state and addr the address that got assigned to
the interface as a dotted-quad IP address (optional, only if it can be
figured out by isdnd). (optional)
-
-
dialin-reaction
- Used to specify what to do when an incoming connection
request is received. The keyword is mandatory. The currently supported
parameters are:
- accept
- Accept an incoming call.
- reject
- Reject an incoming call.
- ignore
- Ignore an incoming call.
- answer
- Start telephone answering for an incoming voice
call.
- callback
- When a remote site calls, hang up and call back the
remote site.
-
-
dialout-type
- This keyword is used to configure what type of dialout
mode is used. The keyword is mandatory. The currently supported
parameters are:
- normal
- Normal behavior, call the remote site which is
supposed to accept the call.
- calledback
- Callback behavior, call the remote side which
rejects the call and calls us back.
-
-
dialrandincr
- When dialing or re-dialing and this parameter is set to
on, the dial retry time is added with a random value
(currently 0...3 seconds) to minimize the chance of two sites dialing
synchronously so each gets a busy each time it dials because the other
side is also dialing.
-
-
dialretries
- The number of dialing retries before giving up. Setting
this to -1 gives an unlimited number of retries!
(optional)
-
-
direction
- This keyword is used to configure if incoming and
outgoing, incoming-only or outgoing only connections are possible. The
keyword is optional, the default is inout.
The currently supported parameters are:
- inout
- Normal behavior, connection establishment is
possible from remote and local.
- in
- Only incoming connections are possible.
- out
- Only outgoing connections are possible.
-
-
disconnectprog
- specifies a program run every time after a connection
was shut down. Isdnd expects to find the program
below the path /etc/isdn which is prepended to the
string specified as a parameter to this keyword. (optional)
-
-
downtries
- is used to configure the number of unsuccessful tries
(= retry cycles!) before the interface is disabled (for
downtime seconds). (see also the keyword
usedown further up). This keyword is optional.
-
-
downtime
- is used to configure the time in seconds an interface
is disabled after the configured number of
downtries. (see also the keyword
usedown further up). This keyword is optional and is
set to 60 seconds by default.
-
-
earlyhangup
- A (safety) time in seconds which specifies the time to
hang up before an expected next charging unit will occur.
(optional)
-
-
idle-algorithm-outgoing
- The algorithm used to determine when to hang up an
outgoing call when the line becomes idle. The current algorithms are:
- fix-unit-size
- idle algorithm which assumes fixed sized changing
units during the whole call.
- var-unit-size
- idle algorithm which assumes that the charging is
time based after the first units time has expired.
-
-
idletime-outgoing
- The time in seconds an outgoing connection must be idle
before hanging up. An idle timeout of zero disables this
functionality. (optional)
-
-
idletime-incoming
- The time in seconds an incoming connection must be idle
before hanging up. An idle timeout of zero disables this
functionality. (optional)
-
-
isdncontroller
- The ISDN controller number to be used for connections
for this entry. (mandatory)
-
-
isdnchannel
- The ISDN controller channel number to be used for
connections for this entry. In case a channel is explicitly selected
here, the SETUP message will request this channel but mark the request
as preferred (the indicated channel is preferred)
instead of exclusive (only the indicated channel is acceptable). Thus
the exchange is still free to select another than the requested
channel! (mandatory)
-
-
isdntxdel-incoming
- How long to delay the transmission of the first packet
after a successful connection is made for incoming
ISDN connections. The specification unit is 1/100 second. A zero (0)
disables this feature and is the default value. This feature is
implemented (and makes sense only) for the
irip(4) IP over raw HDLC
ISDN driver. (optional)
-
-
isdntxdel-outgoing
- How long to delay the transmission of the first packet
after a successful connection is made for outgoing
ISDN connections. The specification unit is 1/100 second. A zero (0)
disables this feature and is the default value. This feature is
implemented (and makes sense only) for the
irip(4) IP over raw HDLC
ISDN driver. (optional)
-
-
local-phone-dialout
- The local telephone number used when the local site
dials out. When dialing out to a remote site, the number specified
here is put into the Calling Party Number Information
Element.
This keyword is mandatory for the irip user-land
interfaces.
-
-
local-phone-incoming
- The local telephone number used for verifying the
destination of incoming calls. When a remote site dials in, this
number is used to verify that it is the local site which the remote
site wants to connect to. It is compared with the Called
Party Number Information Element got from the telephone exchange.
This keyword is mandatory for the irip
interfaces.
-
-
name
- Defines a symbolic name for this configuration entry.
Its purpose is to use this name in the full-screen display for easy
identification of a link to a remote site and for accounting purposes.
(mandatory)
-
-
ppp-auth-paranoid
- If set to no, the remote site is not
required to prove its authenticity for connections that are initiated
by the local site. The default is yes and requires
the remote site to always authenticate.
This keyword is only used if ppp-send-auth has been
set to pap or chap for an ippp PPP interface.
(optional)
-
-
ppp-auth-rechallenge
- Set to no, if the other side does not
support re-challenging for chap. The default is yes,
which causes verification of the remote site's authenticity once in a
while.
This keyword is only used if ppp-expect-auth has been
set to chap for an ippp PPP interface.
(optional)
-
-
ppp-expect-auth
- The local site expects the authenticity of the remote
site to be proved by the specified method. The supported methods are:
- none
- Do not require the other side to authenticate.
Typical uses are dial-out to an ISP (many ISPs do not authenticate
themselves to clients) or offering anonymous dial-in at the local
site.
- chap
- The preferred authentication method, which does not
require a password to be sent in the clear.
- pap
- The unprotected authentication method, which allows
anybody watching the wire to grab name and password.
If ppp-auth-paranoid is set to no
(the default is yes) outgoing connections will not
require the remote site to authenticate itself.
This keyword is only used for the ippp PPP interfaces.
(optional)
-
-
ppp-expect-name
- The name that has to be provided by the remote site to
prove its authenticity.
This keyword is only used if ppp-expect-auth has been
set to pap or chap for an ippp PPP interface.
(optional)
-
-
ppp-expect-password
- The secret that has to be provided by the remote site
to prove its authenticity.
This keyword is only used if ppp-expect-auth has been
set to pap or chap for an ippp PPP interface.
(optional)
-
-
ppp-send-auth
- The authentication method required by the remote site.
The currently supported parameters are:
- none
- The remote site does not expect or support
authentication.
- chap
- The preferred authentication method, which does not
require a password to be sent in the clear.
- pap
- The unprotected authentication method, which allows
anybody watching the wire to grab name and password.
This keyword is only used for the ippp PPP interfaces.
(optional)
-
-
ppp-send-name
- The authentication name sent to the remote site.
This keyword is only used if ppp-send-auth has been
set to pap or chap for an ippp PPP interface.
(optional)
-
-
ppp-send-password
- The secret used to prove the local site's authenticity
to the remote site.
This keyword is only used if ppp-send-auth has been
set to pap or chap for an ippp PPP interface.
(optional)
-
-
ratetype
- The rate entry used from the rates file. (optional)
For example, ratetype=0 selects lines beginning "ra0" in
/etc/isdn/isdnd.rates; (typically ra0 lines are a set of tables for
local call rates on different days of the week & times per
day).
-
-
recoverytime
- The time in seconds to wait between dial retries.
(optional)
-
-
remdial-handling
- is used to specify the dialout behavior in case more
than one outgoing number is specified. The currently supported
parameters are:
- first
- For every new (non-retry) call setup, start with
the first number.
- last
- For every new (non-retry) call setup, start with
the last number with which a successful connection was made.
- next
- For every new (non-retry) call setup, start with
the next number which follows the last one used.
-
-
remote-phone-dialout
- The remote telephone number used when the local site
dials out. When dialing out to a remote site, the number specified
here is put into the Called Party Number Information
Element.
This keyword is mandatory for the irip interfaces. It
may be specified more than once to try to dial to several numbers
until one succeeds.
-
-
remote-phone-incoming
- The remote telephone number used to verify an incoming
call. When a remote site dials in, this number is used to verify that
it is the correct remote site which is herewith authorized to connect
into the local system. This parameter is compared against the
Calling Party Number Information Element got from
the telephone exchange.
This keyword is mandatory for the irip interfaces.
This keyword may have a wildcard parameter '*' to permit anyone dialing
in.
-
-
unitlength
- The length of a charging unit in seconds. This is used
in conjunction with the idletime to decide when to hang up a
connection. (optional)
-
-
unitlengthsrc
- This keyword is used to specify from which source
isdnd(8) takes the
unitlength for short-hold mode. The currently configurable values are:
- none
- Then unitlength is not specified anywhere.
- cmdl
- Use the unitlength specified on the command
line.
- conf
- Use the unitlength specified in the configuration
file with the keyword unitlength.
- rate
- Use the unitlength from the ratesfile specified in
the configuration file with the keyword
ratetype.
- aocd
- Use a dynamically calculated unitlength in case
AOCD is subscribed on the ISDN line. (AOCD is an acronym for
``Advice Of Charge During the call'' which is a service provided
by the telecommunications (ie phone) provider, to indicate
billable units).
-
-
usrdevicename
- Specifies the user-land interface which is used for
interfacing ISDN B channel data to the user-land. The keyword is
mandatory. This keyword accepts the following parameters:
- irip
- This parameter configures a raw HDLC IP over ISDN
interface.
- ippp
- This parameter configures a synchronous PPP over
ISDN interface.
- rbch
- This specifies a Raw B Channel access
interface.
- isdntel
- ISDN telephony.
- ing
- configures a ISDN B-channel to NetGraph
interface.
-
-
usrdeviceunit
- Specifies the unit number for the device which is
specified with usrdevicename.
-
-
usedown
- is used to enable the use of the keywords
downtries and downtime in the
entries section(s). It is used in the isdnd daemon
to dynamically enable and disable the IP interfaces to avoid excessive
dialing activities in case of transient failures (such as busy lines).
This parameter is optional and is set to off by
default.
-
-
valid
- Note: this feature is considered
experimental! The parameter to this keyword is a string specifying a
time range within which this entry is valid. The time specification
consists of a list of weekdays and/or a holiday indicator ( see also
the holidayfile keyword in the system section )
separated by commas followed by an optional daytime range
specification in the form hh:mm-hh:mm. The weekdays are specified as
numbers from 0 to 6 and the number 7 for holidays:
- 0
- Sunday
- 1
- Monday
- 2
- Tuesday
- 3
- Wednesday
- 4
- Thursday
- 5
- Friday
- 6
- Saturday
- 7
- a Holiday
The following examples describe the "T-ISDN xxl" tariff of the
german Telekom:
- 1,2,3,4,5,6,09:00-18:00
- Monday through Saturday, daytime 9:00 to 18:00
- 1,2,3,4,5,6,18:00-9:00
- Monday through Saturday, nighttime 18:00 to
9:00
- 0,7
- Sunday and on holidays, all 24 hours
The use of this keyword is optional.
IDLETIME
CALCULATION AND SHORT-HOLD MODE
incoming
calls
- It is assumed that the calling side knows most about
charging structures and such and as a consequence only the keyword
idletime-incoming has a function for incoming calls.
For incoming calls the line is constantly monitored, and in case there was
not traffic taking place for the time in seconds specified by
idletime-incoming the call is closed.
Typically, idletime-incoming is used as a last resort and
is therefore set much higher than a charging unit time: typical values are
one to five minutes.
outgoing
calls
- Outgoing call disconnect time can be set up in one of three
ways:
simple
mode
- For simple mode, the
idle-algorithm-outgoing must be
fix-unit-size and the selected
unitlength must be 0 (zero) and
idletime-outgoing greater zero.
The outgoing traffic is constantly monitored, and in case there was not
traffic taking place for the time in seconds specified by
idletime-outgoing the call is closed.
Typical values in simple mode are 10 to 30 seconds.
shorthold
mode for fixed unit charging
- For shorthold mode, the
idle-algorithm-outgoing
must be fix-unit-size
and the selected unitlength and
idletime-outgoing must be greater than 0 (zero);
earlyhangup must be ≥ 0 (zero).
|<unchecked-window>|<checkwindow>|<safetywindow>|
| | | |
+------------------+-------------+--------------+
| | | |
| |<-idle-time->|<earlyhangup->|
|<--------------unitlength--------------------->|
During the unchecked window which is (unitlength -
(idle-time+earlyhangup)) in length, no idle check is done. After the
unchecked window has ended, the line is checked for idle-time length
if no traffic takes place. In case there was traffic detected in the
check-window, the same procedure is restarted at the beginning of the
next unit. In case no traffic was detected during the check-window,
the line is closed at the end of the check window.
Notice: unitlength must (!) be greater than the sum of
idletime-outgoing and
earlyhangup!
shorthold
mode for variable unit charging
- For shorthold mode, the
idle-algorithm-outgoing must be
var-unit-size and the selected
unitlength and idletime-outgoing
must be greater than 0 (zero);
This shorthold mode is suitable when your calls are billed on the elapse
time of the call plus a fixed connection charge. For example British
Telecom bill this way.
Each call is divided into two periods, the first is the
unchecked period and the second is the
checked. The checked period starts
1 second before the first units time expires.
During the checked period if there is no traffic for
idle-time seconds the call is disconnected.
|<---unchecked------------------>|<------checked------>
+------------------+-------------+
| |<-idle-time->|
|<--------------unitlength------->|
Experience shows that useful values for idle-time are from 15 to 30
seconds.
If idle-time is too short an application that is not yet finished with
the network will cause a new call to be placed.
FILES
- /etc/isdn/isdnd.rc
- The default configuration file for the
isdnd ISDN daemon.
SEE ALSO
regex(3),
re_format(7),
isdnd(8),
isdnmonitor(8)
AUTHORS
The
isdnd(8) daemon and this manual
page were written by
Hellmuth Michaelis
<
hm@kts.org>.
Additions to this manual page by
Barry Scott
<
barry@scottb.demon.co.uk>.