1 .\" $NetBSD: isdnd.rc.5,v 1.17 2003/09/25 09:37:32 wiz Exp $
3 .\" Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" $Id: isdnd.rc.5,v 1.18 2009/04/09 02:30:51 joerg Exp $
30 .\" last edit-date: [Mon Oct 9 13:12:29 2000]
32 .Dd September 25, 2003
37 .Nd isdn4bsd ISDN connection management daemon config file format
40 .Pa /etc/isdn/isdnd.rc
41 contains (if not otherwise specified on the command line) the runtime
44 ISDN connection management daemon which is part of the isdn4bsd package.
46 The configuration file consists of keywords which start in column 1 followed by
47 one or more spaces or tabs, an equal sign, one or more spaces or tabs
48 and a keyword dependent parameter value.
50 A line beginning with '#' is treated as a comment line.
52 For keywords requiring the specification of a boolean value, the truth
57 while the false value can be either
62 The configuration file consists of one
64 section, one or more optional
66 sections and one or more
71 section parameters regarding the daemon operation or parameters
72 not associated with a single remote connection can be set.
75 section parameters regarding a particular controller can be set.
78 section(s) parameters directly associated with a single remote
79 connection can be set.
81 The following keywords are recognized by
84 .Bl -tag -width system -compact
86 This keyword starts the system configuration section.
87 It must not have a parameter and may be used only once.
88 The keyword is mandatory.
89 The following keywords are valid in the system configuration section:
90 .Bl -tag -width useacctfile -compact
92 If this parameter is set to
94 accounting information is written even if the local site was not charged
95 or no charging information is available or is not subscribed.
98 Specifies the name of the accounting file which is used when the keyword
100 (see below) is set to
102 See also system keyword
104 If this keyword is omitted the system default is used.
107 If this parameter is set to
109 alias processing of telephone-number to name is enabled (see also the
115 Specifies the name of the telephone number-to-name alias database file shared
118 utility when alias processing is enabled via the
123 In full-screen mode, if this parameter is set to
125 ring the bell when connecting or disconnecting a call.
127 If this parameter is set to
129 the extended caller attributes "screening indicator" and "presentation
130 indicator" are written to the log-file.
134 Specifies the name of the holiday file containing the dates of holidays.
135 This file is used in conjunction with the
137 keyword to lookup the dates of holidays.
140 If this parameter is set to
142 date/time information from the exchange (if provided) is written to the
147 This keyword is used to specify the path/name of a mail program which
148 which is able to use the "-s" flag to specify a subject on its
150 In case of a fatal error exit of
152 this program is used to send mail to an administrator specified by
157 This keyword is used to specify the email address of someone to notify
158 in case of a fatal error exit of
163 .It Li monitor-allowed
164 If this parameter is set to
168 monitoring via a local or remote machine is enabled.
169 This parameter is optional and is set to
173 sets the TCP port number for remote monitoring.
174 This integer parameter is optional and is set to port 451 by default.
176 This keyword specifies a local socket name or a host or network for remote
180 specification may either be:
182 .Bl -tag -width Ds -compact
183 .It Ar the name of a local (UNIX-domain) socket
184 this MUST start with a "/", example: /var/run/isdn-monitor
185 .It Ar a dotted-quad host specification
187 .It Ar a dotted-quad network address with netmask
188 example: 192.168.1.0/24
189 .It Ar a resolvable host name
191 .It Ar a resolvable network name with netmask
192 example: up-vision-net/24
194 .It Li monitor-access
195 This keyword specifies the access rights for a previously used
198 The supported access rights are:
200 .Bl -tag -width Ds -compact
209 Specifies the name of the ratesfile.
210 If this keyword is omitted the system default is used.
213 This keyword is used to specify regular expressions.
215 more than once up to a compile time dependent value (currently set to 5 by
216 the MAX_RE definition in the source).
218 All specified regular expressions are compared to the log strings at runtime
219 and if a match is found, a program is run with the log text as a parameter
220 (see also the keyword
224 For an explanation how regular expressions are specified, please have a
231 regular expression syntax is supported here.
233 Hint: it might be necessary to properly quote the expression to avoid
234 improper interpretation by the configuration file parser.
237 This keyword is used to specify the name of a program which is run in
238 case a corresponding regular expression is matched by a logging string.
240 expects to find the program below the path
242 which is prepended to the string specified as a parameter to this keyword.
245 Specifies a suffix for renaming the log- and the accounting-filename.
247 rotatesuffix is used and a USR1 signal is sent to isdnd, the log-file and the
248 accounting file is not only closed and reopened but the old log-file is also
249 renamed to the former filename with the rotatesuffix string appended.
250 If this keyword is omitted, the log-files are just closed and reopened; this
251 is also the default behavior.
254 .\" Specifies the real-time priority
256 .\" runs at as an integer value in the range 0...31 with 0 being the highest
258 .\" This keyword is optional; if not specified the process priority of
260 .\" is not touched in any way.
264 .\" This keyword is only available if.
266 .\" was compiled with -DUSE_RTPRIO.
269 If this parameter is set to
271 charging (if available) and accounting information is written to the
276 This keyword starts the controller configuration section.
277 It must not have a parameter and may be used once for every controller.
278 The keyword is optional.
279 The following keywords are valid in a controller configuration section:
280 .Bl -tag -width useacctfile -compact
282 This keyword is used to specify the path of the firmware file that
283 will be loaded to the card once
286 This keyword is useful with active ISDN cards.
288 This keyword is used to set the D-channel protocol for the S0-bus a
289 controller is connected to.
290 The following parameters are currently supported:
292 .Bl -tag -width calledback -compact -offset xxxx
294 The DSS1 or so-called "Euro-ISDN" D-channel protocol according to
295 ITU Recommendations Q.921 and Q.931.
297 An ISDN leased line with a single B-channel (called D64S in Germany).
301 This keyword starts one configuration entry.
302 It must not have a parameter.
303 This keyword must be used at least once.
304 The following keywords are valid in an entry section:
305 .Bl -tag -width downtime
307 This keyword is used to specify the name of a program which is run in
308 case an incoming telephone connection specified
310 in its configuration entry.
314 expects to find this program beneath the path
316 which is prepended to the string specified as a parameter to this keyword.
319 is used to specify a time in seconds to wait before accepting a call.
321 keyword is only usable for incoming telephone calls (dialin-reaction = answer).
322 It is used to have a chance to accept an incoming call on the phone before
323 the answering machine starts to run.
324 The minimum value for the alert parameter
325 is 5 seconds and the maximum parameter allowed is 180 seconds.
328 For network interfaces using ISDN as a transport medium it does not make
329 sense to mark the interfaces UP before running
331 Typically these interfaces are configured, but marked down, in the respective
336 recognizes these interfaces (configured with some address, marked down, and
337 having a matching config entry) and marks them up.
340 marks all interfaces changed at startup DOWN again.
342 In rare circumstances you might not want this automatic handling.
345 line to the config file entry.
347 The B channel layer 1 protocol used for this connection.
348 The keyword is mandatory.
349 The currently configurable values are:
351 .Bl -tag -width Ds -compact
355 No framing at all (used for telephony).
357 .It Li budget-calloutperiod
358 is used to specify a time period in seconds.
359 Within this period, the number of calls specified by
360 .Em budget-calloutncalls
361 are allowed to succeed, any further attempt to call out will be blocked for the rest
362 of the time left in the time period.
364 .It Li budget-calloutncalls
365 The number of outgoing calls allowed within the time period specified by
366 .Em budget-calloutperiod .
368 .It Li budget-calloutsfile
369 A path/filename to which the number of successful callouts are written.
370 The contents of the file is preserved when it exists during startup of isdnd.
371 The format of this file is: start time, last update time, number of calls.
373 .It Li budget-calloutsfile-rotate
376 rotate budget-calloutsfile every night when an attempt is made to update
377 the file on a new day.
378 The statistics for the previous day are written to
379 a file with the filename specified by budget-calloutsfile to which a hyphen
380 and the new day's (!) day of month number is appended.
382 .It Li budget-callbackperiod
383 .It Li budget-callbackncalls
384 .It Li budget-callbacksfile
385 .It Li budget-calloutsfile-rotate
387 .Em budget-calloutperiod ,
388 .Em budget-calloutncalls and
389 .Em budget-calloutsfile
390 .Em budget-calloutsfile-rotate
392 These are used to specify the budgets for calling back a remote site.
394 The time in seconds to wait between hanging up the call from a remote site
395 and calling back the remote site.
397 .It Li calledbackwait
398 The time in seconds to wait for a remote site calling back the local site
399 after a call from the local site to the remote site has been made.
402 specifies a program run every time after a connection is established and
403 address negotiation is complete (i.e.: the connection is usable).
405 expects to find the program below the path
407 which is prepended to the string specified as a parameter to this keyword.
408 The programs specified by connect and disconnect will get the following
409 command line arguments: -d (device) -f (flag) [ -a (addr) ] where
411 is the name of device, e.g. "ippp0",
413 will be "up" if connection just got up, or "down" if interface changed to down
416 the address that got assigned to the interface as a dotted-quad IP address
417 (optional, only if it can be figured out by isdnd).
419 .It Li dialin-reaction
420 Used to specify what to do when an incoming connection request is received.
421 The keyword is mandatory.
422 The currently supported parameters are:
424 .Bl -tag -width calledback -compact -offset xxxx
426 Accept an incoming call.
428 Reject an incoming call.
430 Ignore an incoming call.
432 Start telephone answering for an incoming voice call.
434 When a remote site calls, hang up and call back the remote site.
437 This keyword is used to configure what type of dialout mode is used.
438 The keyword is mandatory.
439 The currently supported parameters are:
441 .Bl -tag -width Ds -compact
443 Normal behavior, call the remote site which is supposed to accept the call.
445 Callback behavior, call the remote side which rejects the call and calls
449 When dialing or re-dialing and this parameter is set to
451 the dial retry time is added with a random value (currently 0...3 seconds)
452 to minimize the chance of two sites dialing synchronously so each gets a busy
453 each time it dials because the other side is also dialing.
455 The number of dialing retries before giving up.
458 gives an unlimited number of retries! (optional)
460 This keyword is used to configure if incoming and outgoing, incoming-only or
461 outgoing only connections are possible.
462 The keyword is optional, the default is
465 The currently supported parameters are:
467 .Bl -tag -width Ds -compact
469 Normal behavior, connection establishment is possible from remote and local.
471 Only incoming connections are possible.
473 Only outgoing connections are possible.
475 .It Li disconnectprog
476 specifies a program run every time after a connection was shut down.
478 expects to find the program below the path
480 which is prepended to the string specified as a parameter to this keyword.
483 is used to configure the number of unsuccessful tries (= retry cycles!) before
484 the interface is disabled (for
487 (see also the keyword
490 This keyword is optional.
492 is used to configure the time in seconds an interface is disabled
493 after the configured number of
495 (see also the keyword
498 This keyword is optional and is set to 60 seconds by default.
500 A (safety) time in seconds which specifies the time to hang up before an
501 expected next charging unit will occur.
503 .It Li idle-algorithm-outgoing
504 The algorithm used to determine when to hang up an outgoing call when the
506 The current algorithms are:
508 .Bl -tag -width calledback -compact -offset xxxx
510 idle algorithm which assumes fixed sized changing units during the whole call.
512 idle algorithm which assumes that the charging is time based after the first
513 units time has expired.
515 .It Li idletime-outgoing
516 The time in seconds an outgoing connection must be idle before hanging up.
517 An idle timeout of zero disables this functionality.
519 .It Li idletime-incoming
520 The time in seconds an incoming connection must be idle before hanging up.
521 An idle timeout of zero disables this functionality.
523 .It Li isdncontroller
524 The ISDN controller number to be used for connections for this entry.
527 The ISDN controller channel number to be used for connections for this entry.
528 In case a channel is explicitly selected here, the SETUP message will request
529 this channel but mark the request as
531 (the indicated channel is preferred) instead of exclusive (only the indicated
532 channel is acceptable).
533 Thus the exchange is still free to select another
534 than the requested channel!
536 .It Li isdntxdel-incoming
537 How long to delay the transmission of the first packet after a
538 successful connection is made for
541 The specification unit is 1/100 second.
542 A zero (0) disables this feature and is the default value.
543 This feature is implemented (and makes
546 IP over raw HDLC ISDN driver.
548 .It Li isdntxdel-outgoing
549 How long to delay the transmission of the first packet after a
550 successful connection is made for
553 The specification unit is 1/100 second.
554 A zero (0) disables this feature and is the default value.
555 This feature is implemented (and makes sense only) for the
557 IP over raw HDLC ISDN driver.
559 .It Li local-phone-dialout
560 The local telephone number used when the local site dials out.
562 out to a remote site, the number specified here is put into the
563 .Em "Calling Party Number Information Element" .
565 This keyword is mandatory for the
567 user-land interfaces.
568 .It Li local-phone-incoming
569 The local telephone number used for verifying the destination of incoming
571 When a remote site dials in, this number is used to verify that it
572 is the local site which the remote site wants to connect to.
575 .Em "Called Party Number Information Element"
576 got from the telephone exchange.
578 This keyword is mandatory for the
582 Defines a symbolic name for this configuration entry.
584 use this name in the full-screen display for easy identification of a link
585 to a remote site and for accounting purposes.
587 .It Li ppp-auth-paranoid
590 the remote site is not required to prove its authenticity for connections
591 that are initiated by the local site.
594 and requires the remote site to always authenticate.
596 This keyword is only used if
598 has been set to pap or chap for an
602 .It Li ppp-auth-rechallenge
605 if the other side does not support re-challenging for chap.
608 which causes verification of the remote site's authenticity once in a while.
610 This keyword is only used if
612 has been set to chap for an
616 .It Li ppp-expect-auth
617 The local site expects the authenticity of the remote site to be proved by
618 the specified method.
619 The supported methods are:
621 .Bl -tag -width Ds -compact
623 Do not require the other side to authenticate.
624 Typical uses are dial-out to an ISP
625 (many ISPs do not authenticate themselves to clients)
626 or offering anonymous dial-in at the local site.
628 The preferred authentication method, which does not require a password to be sent
631 The unprotected authentication method, which allows anybody watching the wire
632 to grab name and password.
636 .Em ppp-auth-paranoid
641 outgoing connections will not require the remote site to authenticate itself.
643 This keyword is only used for the
647 .It Li ppp-expect-name
648 The name that has to be provided by the remote site to prove its authenticity.
650 This keyword is only used if
652 has been set to pap or chap for an
656 .It Li ppp-expect-password
657 The secret that has to be provided by the remote site to prove its authenticity.
659 This keyword is only used if
661 has been set to pap or chap for an
666 The authentication method required by the remote site.
667 The currently supported parameters are:
669 .Bl -tag -width Ds -compact
671 The remote site does not expect or support authentication.
673 The preferred authentication method, which does not require a password to be sent
676 The unprotected authentication method, which allows anybody watching the wire
677 to grab name and password.
680 This keyword is only used for the
685 The authentication name sent to the remote site.
687 This keyword is only used if
689 has been set to pap or chap for an
693 .It Li ppp-send-password
694 The secret used to prove the local site's authenticity to the remote site.
696 This keyword is only used if
698 has been set to pap or chap for an
703 The rate entry used from the rates file.
706 For example, ratetype=0 selects lines beginning "ra0" in /etc/isdn/isdnd.rates;
707 (typically ra0 lines are a set of tables for local call rates on different
708 days of the week \*[Am] times per day).
710 The time in seconds to wait between dial retries.
712 .It Li remdial-handling
713 is used to specify the dialout behavior in case more than one outgoing
715 The currently supported parameters are:
717 .Bl -tag -width Ds -compact
719 For every new (non-retry) call setup, start with the first number.
721 For every new (non-retry) call setup, start with the last number with
722 which a successful connection was made.
724 For every new (non-retry) call setup, start with the next number which
725 follows the last one used.
727 .It Li remote-phone-dialout
728 The remote telephone number used when the local site dials out.
730 out to a remote site, the number specified here is put into the
731 .Em "Called Party Number Information Element" .
733 This keyword is mandatory for the
736 It may be specified more than once to try to dial to several
737 numbers until one succeeds.
738 .It Li remote-phone-incoming
739 The remote telephone number used to verify an incoming call.
741 dials in, this number is used to verify that it is the correct remote site
742 which is herewith authorized to connect into the local system.
744 is compared against the
745 .Em "Calling Party Number Information Element"
746 got from the telephone exchange.
748 This keyword is mandatory for the irip interfaces.
750 This keyword may have a wildcard parameter '*' to permit anyone dialing in.
752 The length of a charging unit in seconds.
753 This is used in conjunction with
754 the idletime to decide when to hang up a connection.
757 This keyword is used to specify from which source
759 takes the unitlength for short-hold mode.
760 The currently configurable values are:
762 .Bl -tag -width Ds -compact
764 Then unitlength is not specified anywhere.
766 Use the unitlength specified on the command line.
768 Use the unitlength specified in the configuration file with the keyword
771 Use the unitlength from the ratesfile specified in the configuration
772 file with the keyword
775 Use a dynamically calculated unitlength in case AOCD is subscribed on
777 (AOCD is an acronym for ``Advice Of Charge During the call''
778 which is a service provided by the telecommunications (ie phone) provider,
779 to indicate billable units).
782 Specifies the user-land interface which is used for interfacing ISDN B channel
783 data to the user-land.
784 The keyword is mandatory.
785 This keyword accepts the following parameters:
787 .Bl -tag -width Ds -compact
789 This parameter configures a raw HDLC IP over ISDN interface.
791 This parameter configures a synchronous PPP over ISDN interface.
793 This specifies a Raw B Channel access interface.
797 configures a ISDN B-channel to NetGraph interface.
800 Specifies the unit number for the device which is specified with
803 is used to enable the use of the keywords
807 in the entries section(s).
810 daemon to dynamically enable and disable the IP interfaces to avoid excessive
811 dialing activities in case of transient failures (such as busy lines).
812 This parameter is optional and is set to
817 this feature is considered experimental!
818 The parameter to this keyword is a string specifying a time range within
819 which this entry is valid.
820 The time specification consists of a list of weekdays and/or a holiday
821 indicator ( see also the
823 keyword in the system section ) separated by commas followed by an optional
824 daytime range specification in the form hh:mm-hh:mm.
825 The weekdays are specified as numbers from 0 to 6 and the number 7 for
828 .Bl -tag -width Ds -compact
847 The following examples describe the "T-ISDN xxl" tariff of the german Telekom:
848 .Bl -tag -width Ds -compact
849 .It Ar 1,2,3,4,5,6,09:00-18:00
850 Monday through Saturday, daytime 9:00 to 18:00
851 .It Ar 1,2,3,4,5,6,18:00-9:00
852 Monday through Saturday, nighttime 18:00 to 9:00
854 Sunday and on holidays, all 24 hours
857 The use of this keyword is optional.
860 .Sh IDLETIME CALCULATION AND SHORT-HOLD MODE
861 .Bl -tag -width indent -compact
862 .It Li incoming calls
863 It is assumed that the calling side knows most about charging structures and
864 such and as a consequence only the keyword
865 .Em idletime-incoming
866 has a function for incoming calls.
868 For incoming calls the line is constantly monitored, and in case there was
869 not traffic taking place for the time in seconds specified by
870 .Em idletime-incoming
874 .Em idletime-incoming
875 is used as a last resort and is therefore set much higher than a charging
876 unit time: typical values are one to five minutes.
877 .It Li outgoing calls
878 Outgoing call disconnect time can be set up in one of three ways:
879 .Bl -tag -width indent -compact
882 .Em idle-algorithm-outgoing
888 .Em idletime-outgoing
891 The outgoing traffic is constantly monitored, and in case there was
892 not traffic taking place for the time in seconds specified by
893 .Em idletime-outgoing
896 Typical values in simple mode are 10 to 30 seconds.
897 .It Li shorthold mode for fixed unit charging
898 For shorthold mode, the
899 .Em idle-algorithm-outgoing
905 .Em idletime-outgoing
906 must be greater than 0 (zero);
908 must be \*[Ge] 0 (zero).
910 |\*[Lt]unchecked-window\*[Gt]|\*[Lt]checkwindow\*[Gt]|\*[Lt]safetywindow\*[Gt]|
912 +------------------+-------------+--------------+
914 | |\*[Lt]-idle-time-\*[Gt]|\*[Lt]earlyhangup-\*[Gt]|
915 |\*[Lt]--------------unitlength---------------------\*[Gt]|
918 During the unchecked window which is (unitlength - (idle-time+earlyhangup))
919 in length, no idle check is done.
920 After the unchecked window has ended,
921 the line is checked for idle-time length if no traffic takes place.
923 there was traffic detected in the check-window, the same procedure is restarted
924 at the beginning of the next unit.
925 In case no traffic was detected during
926 the check-window, the line is closed at the end of the check window.
930 must (!) be greater than the sum of
931 .Em idletime-outgoing
934 .It Li shorthold mode for variable unit charging
935 For shorthold mode, the
936 .Em idle-algorithm-outgoing
942 .Em idletime-outgoing
943 must be greater than 0 (zero);
945 This shorthold mode is suitable when your calls are billed on
946 the elapse time of the call plus a fixed connection charge.
947 For example British Telecom bill this way.
949 Each call is divided into two periods, the first is the
951 period and the second is the
955 period starts 1 second before the first units time expires.
959 period if there is no traffic for
961 seconds the call is disconnected.
964 |\*[Lt]---unchecked------------------\*[Gt]|\*[Lt]------checked------\*[Gt]
965 +------------------+-------------+
966 | |\*[Lt]-idle-time-\*[Gt]|
967 |\*[Lt]--------------unitlength-------\*[Gt]|
970 Experience shows that useful values for idle-time are from 15 to 30 seconds.
972 If idle-time is too short an application that is not yet finished with the
973 network will cause a new call to be placed.
978 .Bl -tag -width /etc/isdn/isdnd.rc -compact
979 .It Pa /etc/isdn/isdnd.rc
980 The default configuration file for the
992 daemon and this manual page were written by
993 .An Hellmuth Michaelis Aq hm@kts.org .
995 Additions to this manual page by
996 .An Barry Scott Aq barry@scottb.demon.co.uk .