binutils/ld: Don't add /usr/lib to the library search path twice.
[dragonfly.git] / usr.sbin / i4b / isdnd / isdnd.rc.5
1 .\"
2 .\" Copyright (c) 1997, 2001 Hellmuth Michaelis. All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.11.2.5 2001/08/10 23:17:32 obrien Exp $
26 .\" $DragonFly: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.11 2008/05/02 02:05:07 swildner Exp $
27 .\"
28 .\"     last edit-date: [Sat Jul 21 13:27:41 2001]
29 .\"
30 .Dd July 21, 2001
31 .Dt ISDND.RC 5
32 .Os
33 .Sh NAME
34 .Nm isdnd.rc
35 .Nd isdn4bsd ISDN connection management daemon config file format
36 .Sh DESCRIPTION
37 The file
38 .Pa /etc/isdn/isdnd.rc
39 contains (if not otherwise specified on the command line) the runtime
40 configuration for the
41 .Xr isdnd 8
42 ISDN connection management daemon which is part of the isdn4bsd package.
43 .Pp
44 The configuration file consists of keywords which start in column 1 followed by
45 one or more spaces or tabs, an equal sign, one or more spaces or tabs
46 and a keyword dependent parameter value.
47 .Pp
48 A line beginning with '#' is treated as a comment line.
49 .Pp
50 For keywords requiring the specification of a boolean value, the truth
51 value can be either
52 .Em yes
53 or
54 .Em on
55 while the false value can be either
56 .Em no
57 or
58 .Em off .
59 .Pp
60 The configuration file consists of one
61 .Em system
62 section, one or more optional
63 .Em controller
64 sections and one or more
65 .Em entry
66 sections.
67 In the
68 .Em system
69 section parameters regarding the daemon operation or parameters
70 not associated with a single remote connection can be set.
71 In the
72 .Em controller
73 section parameters regarding a particular controller can be set.
74 In the
75 .Em entry
76 section(s) parameters directly associated with a single remote
77 connection can be set.
78 .Pp
79 The following keywords are recognized by
80 .Nm isdnd :
81 .Bl -tag -width system
82 .It Li system
83 This keyword starts the system configuration section.
84 It must not
85 have a parameter and may be used only once.
86 The keyword is mandatory.
87 The following keywords are valid in the system configuration section:
88 .Bl -tag -width useacctfile
89 .It Li acctall
90 If this parameter is set to
91 .Em on ,
92 accounting information is written even if the local site was not charged
93 or no charging information is available or is not subscribed.
94 (optional)
95 .It Li acctfile
96 Specifies the name of the accounting file which is used when the keyword
97 .Em useacctfile
98 (see below) is set to
99 .Em on .
100 See also system keyword
101 .Em rotatesuffix .
102 If this keyword is omitted the system default is used.
103 (optional)
104 .It Li aliasing
105 If this parameter is set to
106 .Em on ,
107 alias processing of telephone-number to name is enabled (see also the
108 .Em aliasfile
109 keyword below).
110 The default is off.
111 (optional)
112 .It Li aliasfile
113 Specifies the name of the telephone number-to-name alias database file shared
114 with the
115 .Xr isdntel 8
116 utility when alias processing is enabled via the
117 .Em aliasing
118 keyword.
119 (optional)
120 .It Li beepconnect
121 In full-screen mode, if this parameter is set to
122 .Em on ,
123 ring the bell when connecting or disconnecting a call.
124 .It Li extcallattr
125 If this parameter is set to
126 .Em on ,
127 the extended caller attributes "screening indicator" and "presentation
128 indicator" are written to the log-file.
129 The default is off.
130 (optional)
131 .It Li holidayfile
132 Specifies the name of the holiday file containing the dates of holidays.
133 This file is used in conjunction with the
134 .Em valid
135 keyword to lookup the dates of holidays.
136 (optional)
137 .It Li isdntime
138 If this parameter is set to
139 .Em on ,
140 date/time information from the exchange (if provided) is written to the
141 log-file.
142 The default is off.
143 (optional)
144 .It Li mailer
145 This keyword is used to specify the path/name of a mail program which
146 which is able to use the "-s" flag to specify a subject on its
147 command line.
148 In case of a fatal error exit of
149 .Nm
150 this program is used to send mail to an administrator specified by
151 the keyword
152 .Em mailto .
153 (optional)
154 .It Li mailto
155 This keyword is used to specify the email address of someone to notify
156 in case of a fatal error exit of
157 .Nm .
158 (See also keyword
159 .Em mailer ) .
160 (optional)
161 .It Li monitor-allowed
162 If this parameter is set to
163 .Em on
164 or
165 .Em yes ,
166 monitoring via a local or remote machine is enabled.
167 This parameter is optional and is set to
168 .Em off
169 by default.
170 .It Li monitor-port
171 sets the TCP port number for remote monitoring.
172 This integer parameter is optional and is set to port 451 by default.
173 .It Li monitor
174 This keyword specifies a local socket name or a host or network for remote
175 monitoring.
176 The
177 .Em monitor
178 specification may either be:
179 .Pp
180 .Bl -tag -width Ds -compact
181 .It Ar the name of a local (UNIX-domain) socket
182 this MUST start with a "/", example: /var/run/isdn-monitor
183 .It Ar a dotted-quad host specification
184 example: 192.168.1.2
185 .It Ar a dotted-quad network address with netmask
186 example: 192.168.1.0/24
187 .It Ar a resolvable host name
188 example: localhost
189 .It Ar a resolvable network name with netmask
190 example: up-vision-net/24
191 .El
192 .It Li monitor-access
193 This keyword specifies the access rights for a previously used
194 .Em monitor
195 keyword.
196 The supported access rights are:
197 .Pp
198 .Bl -tag -width Ds -compact
199 .It Ar fullcmd
200 .It Ar restrictedcmd
201 .It Ar channelstate
202 .It Ar logevents
203 .It Ar callin
204 .It Ar callout
205 .El
206 .It Li ratesfile
207 Specifies the name of the ratesfile.
208 If this keyword is omitted the system
209 default is used.
210 (optional)
211 .It Li regexpr
212 This keyword is used to specify regular expressions.
213 It can be specified
214 more than once up to a compile time dependent value (currently set to 5 by
215 the MAX_RE definition in the source).
216 .Pp
217 All specified regular expressions are compared to the log strings at runtime
218 and if a match is found, a program is run with the log text as a parameter
219 (see also the keyword
220 .Em regprog
221 below).
222 .Pp
223 For an explanation how regular expressions are specified, please have a
224 look at
225 .Xr re_format 7
226 and
227 .Xr regex 3 .
228 The
229 .Em extended
230 regular expression syntax is supported here.
231 .Pp
232 Hint: it might be necessary to properly quote the expression to avoid
233 improper interpretation by the configuration file parser.
234 (optional)
235 .It Li regprog
236 This keyword is used to specify the name of a program which is run in
237 case a corresponding regular expression is matched by a logging string.
238 .Nm Isdnd
239 expects to find the program below the path
240 .Pa /etc/isdn
241 which is prepended to the string specified as a parameter to this keyword.
242 (optional)
243 .It Li rotatesuffix
244 Specifies a suffix for renaming the log- and the accounting-filename.
245 In case
246 rotatesuffix is used and a USR1 signal is sent to isdnd, the log-file and the
247 accounting file is not only closed and reopened but the old log-file is also
248 renamed to the former filename with the rotatesuffix string appended.
249 If this keyword is omitted, the log-files are just closed and reopened; this
250 is also the default behavior.
251 (optional)
252 .It Li rtprio
253 Specifies the real-time priority
254 .Nm isdnd
255 runs at as an integer value in the range 0...31 with 0 being the highest
256 priority.
257 This keyword is optional; if not specified the process priority of
258 .Nm isdnd
259 is not touched in any way.
260 ( See also
261 .Xr rtprio 1 ) .
262 This keyword is only available if
263 .Nm
264 was compiled with -DUSE_RTPRIO.
265 .It Li useacctfile
266 If this parameter is set to
267 .Em on
268 charging (if available) and accounting information is written to the
269 accounting file.
270 (optional)
271 .El
272 .It Li controller
273 This keyword starts the controller configuration section.
274 It must not
275 have a parameter and may be used once for every controller.
276 The keyword
277 is optional.
278 The following keywords are valid in a controller
279 configuration section:
280 .Bl -tag -width useacctfile
281 .It Li protocol
282 This keyword is used to set the D-channel protocol for the S0-bus a
283 controller is connected to.
284 The following parameters are currently
285 supported:
286 .Pp
287 .Bl -tag -width calledback -compact
288 .It Ar dss1
289 The DSS1 or so-called "Euro-ISDN" D-channel protocol according to
290 ITU Recommendations Q.921 and Q.931.
291 .It Ar d64s
292 An ISDN leased line with a single B-channel (called D64S in Germany).
293 .El
294 .It Li firmware
295 This keyword is used like
296 .Li firmware Ns = Ns Ar /path/to/file
297 to download the
298 firmware to active controllers supported by the
299 .Em iavc
300 driver (AVM B1, T1).
301 This keyword is supported for all controller types,
302 and causes
303 .Dv I4B_CTRL_DOWNLOAD
304 ioctl to be invoked with the specified file
305 as an argument.
306 In systems equipped with both active and passive adapters,
307 and the passive cards being detected first, dummy
308 .Ql controller
309 entries
310 are required for the passive cards to get the correct firmwares to
311 correct adapters.
312 .El
313 .It Li entry
314 This keyword starts one configuration entry.
315 It must not have a parameter.
316 This keyword must be used at least once.
317 The following keywords are valid in an entry section:
318 .Bl -tag -width unitlengthsrc
319 .It Li answerprog
320 This keyword is used to specify the name of a program which is run in
321 case an incoming telephone connection specified
322 .Em answer
323 in its configuration entry.
324 The default name is
325 .Em answer .
326 .Nm Isdnd
327 expects to find this program beneath the path
328 .Pa /etc/isdn
329 which is prepended to the string specified as a parameter to this keyword.
330 (optional)
331 .It Li alert
332 is used to specify a time in seconds to wait before accepting a call.
333 This
334 keyword is only usable for incoming telephone calls (dialin-reaction = answer).
335 It is used to have a chance to accept an incoming call on the phone before
336 the answering machine starts to run.
337 The minimum value for the alert parameter
338 is 5 seconds and the maximum parameter allowed is 180 seconds.
339 (optional)
340 .It Li b1protocol
341 The B channel layer 1 protocol used for this connection.
342 The keyword is mandatory.
343 The currently configurable values are:
344 .Pp
345 .Bl -tag -width Ds -compact
346 .It Ar hdlc
347 HDLC framing.
348 .It Ar raw
349 No framing at all (used for telephony).
350 .El
351 .It Li budget-calloutperiod
352 is used to specify a time period in seconds.
353 Within this period, the number of calls
354 specified by
355 .Em budget-calloutncalls
356 are allowed to succeed, any further attempt to call out will be blocked for the rest
357 of the time left in the time period.
358 (optional)
359 .It Li budget-calloutncalls
360 The number of outgoing calls allowed within the time period specified by
361 .Em budget-calloutperiod .
362 (optional)
363 .It Li budget-calloutsfile
364 A path/filename to which the number of successful callouts are written.
365 The contents of the file is preserved when it exists during startup of isdnd.
366 The format of this file is: start time, last update time, number of calls.
367 (optional)
368 .It Li budget-calloutsfile-rotate
369 If set to
370 .Em on
371 rotate budget-calloutsfile every night when an attempt is made to update
372 the file on a new day.
373 The statistics for the previous day are written to
374 a file with the filename specified by budget-calloutsfile to which a hyphen
375 and the new day's (!) day of month number is appended.
376 (optional)
377 .It Li budget-callbackperiod
378 .It Li budget-callbackncalls
379 .It Li budget-callbacksfile
380 .It Li budget-calloutsfile-rotate
381 See
382 .Em budget-calloutperiod ,
383 .Em budget-calloutncalls ,
384 .Em budget-calloutsfile ,
385 and
386 .Em budget-calloutsfile-rotate
387 above.
388 These are used to specify the budgets for calling back a remote site.
389 .It Li callbackwait
390 The time in seconds to wait between hanging up the call from a remote site
391 and calling back the remote site.
392 (optional)
393 .It Li calledbackwait
394 The time in seconds to wait for a remote site calling back the local site
395 after a call from the local site to the remote site has been made.
396 (optional)
397 .It Li clone
398 This causes the contents of the specified entry to be copied from the
399 existing named entry to the current one.
400 When using this feature at least a new entry specific
401 .Ql name
402 and
403 .Ql usrdeviceunit
404 value should be specified for the current entry.
405 .It Li connectprog
406 specifies a program run every time after a connection is established and
407 address negotiation is complete (i.e.: the connection is usable).
408 .Nm Isdnd
409 expects to find the program below the path
410 .Pa /etc/isdn
411 which is prepended to the string specified as a parameter to this keyword.
412 The programs specified by connect and disconnect will get the following
413 command line arguments: -d (device) -f (flag) [ -a (addr) ] where
414 .Em device
415 is the name of device, e.g. "isp0",
416 .Em flag
417 will be "up" if connection just got up, or "down" if interface changed to down
418 state and
419 .Em addr
420 the address that got assigned to the interface as a dotted-quad ip address
421 (optional, only if it can be figured out by isdnd).
422 (optional)
423 .It Li dialin-reaction
424 Used to specify what to do when an incoming connection request is received.
425 The keyword is mandatory.
426 The currently supported parameters are:
427 .Pp
428 .Bl -tag -width calledback -compact
429 .It Ar accept
430 Accept an incoming call.
431 .It Ar reject
432 Reject an incoming call.
433 .It Ar ignore
434 Ignore an incoming call.
435 .It Ar answer
436 Start telephone answering for an incoming voice call.
437 .It Ar callback
438 When a remote site calls, hang up and call back the remote site.
439 .El
440 .It Li dialout-type
441 This keyword is used to configure what type of dialout mode is used.
442 The keyword is mandatory.
443 The currently supported parameters are:
444 .Pp
445 .Bl -tag -width Ds -compact
446 .It Ar normal
447 Normal behavior, call the remote site which is supposed to accept the call.
448 .It Ar calledback
449 Callback behavior, call the remote side which rejects the call and calls
450 us back.
451 .El
452 .It Li dialrandincr
453 When dialing or re-dialing and this parameter is set to
454 .Em on ,
455 the dial retry time is added with a random value (currently 0...3 seconds)
456 to minimize the chance of two sites dialing synchronously so each gets a busy
457 each time it dials because the other side is also dialing.
458 .It Li dialretries
459 The number of dialing retries before giving up.
460 Setting this to
461 .Em -1
462 gives an unlimited number of retries!
463 (optional)
464 .It Li direction
465 This keyword is used to configure if incoming and outgoing, incoming-only or
466 outgoing only connections are possible.
467 The keyword is optional, the default is
468 .Em inout .
469 .Pp
470 The currently supported parameters are:
471 .Pp
472 .Bl -tag -width Ds -compact
473 .It Ar inout
474 Normal behavior, connection establishment is possible from remote and local.
475 .It Ar in
476 Only incoming connections are possible.
477 .It Ar out
478 Only outgoing connections are possible.
479 .El
480 .It Li disconnectprog
481 specifies a program run every time after a connection was shut down.
482 .Nm Isdnd
483 expects to find the program below the path
484 .Pa /etc/isdn
485 which is prepended to the string specified as a parameter to this keyword.
486 (optional)
487 .It Li downtries
488 is used to configure the number of unsuccessful tries (= retry cycles!) before
489 the interface is disabled (for
490 .Em downtime
491 seconds).
492 (see also the keyword
493 .Em usedown
494 further up).
495 This keyword is optional.
496 .It Li downtime
497 is used to configure the time in seconds an interface is disabled
498 after the configured number of
499 .Em downtries .
500 (see also the keyword
501 .Em usedown
502 further up).
503 This keyword is optional and is set to 60 seconds by default.
504 .It Li earlyhangup
505 A (safety) time in seconds which specifies the time to hang up before an
506 expected next charging unit will occur.
507 (optional)
508 .It Li idle-algorithm-outgoing
509 The algorithm used to determine when to hang up an outgoing call when the
510 line becomes idle.
511 The current algorithms are:
512 .Pp
513 .Bl -tag -width calledback -compact
514 .It Ar fix-unit-size
515 idle algorithm which assumes fixed sized charging units during the whole call.
516 .It Ar var-unit-size
517 idle algorithm which assumes that the charging is time based after the first
518 units time has expired.
519 .El
520 .It Li idletime-outgoing
521 The time in seconds an outgoing connection must be idle before hanging up.
522 An idle timeout of zero disables this functionality.
523 (optional)
524 .It Li idletime-incoming
525 The time in seconds an incoming connection must be idle before hanging up.
526 An idle timeout of zero disables this functionality.
527 (optional)
528 .It Li isdncontroller
529 The ISDN controller number to be used for connections for this entry.
530 (mandatory)
531 .It Li isdnchannel
532 The ISDN controller channel number to be used for connections for this entry.
533 In case a channel is explicitly selected here, the SETUP message will request
534 this channel but mark the request as
535 .Em preferred
536 (the indicated channel is preferred) instead of exclusive (only the indicated
537 channel is acceptable).
538 Thus the exchange is still free to select another
539 than the requested channel!
540 (mandatory)
541 .It Li isdntxdel-incoming
542 A delay value suitable for the
543 .Xr callout_reset 9
544 kernel subroutine to delay the transmission of the first packet after a
545 successful connection is made by this value for
546 .Em incoming
547 ISDN connections.
548 The specification unit is 1/100 second.
549 A zero (0) disables
550 this feature and is the default value.
551 This feature is implemented (and makes
552 sense only) for the
553 .Xr i4bipr 4
554 IP over raw HDLC ISDN driver.
555 (optional)
556 .It Li isdntxdel-outgoing
557 A delay value suitable for the
558 .Xr callout_reset 9
559 kernel subroutine to delay the transmission of the first packet after a
560 successful connection is made by this value for
561 .Em outgoing
562 ISDN connections.
563 The specification unit is 1/100 second.
564 A zero (0) disables
565 this feature and is the default value.
566 This feature is implemented (and makes
567 sense only) for the
568 .Xr i4bipr 4
569 IP over raw HDLC ISDN driver.
570 (optional)
571 .It Li local-phone-dialout
572 The local telephone number used when the local site dials out.
573 When dialing
574 out to a remote site, the number specified here is put into the
575 .Em "Calling Party Number Information Element" .
576 .Pp
577 This keyword is mandatory for the
578 .Em ipr
579 user-land interfaces.
580 .It Li local-phone-incoming
581 The local telephone number used for verifying the destination of incoming
582 calls.
583 When a remote site dials in, this number is used to verify that it
584 is the local site which the remote site wants to connect to.
585 It is compared
586 with the
587 .Em "Called Party Number Information Element"
588 got from the telephone exchange.
589 .Pp
590 This keyword is mandatory for the
591 .Em ipr
592 interfaces.
593 .It Li name
594 Defines a symbolic name for this configuration entry.
595 Its purpose is to
596 use this name in the full-screen display for easy identification of a link
597 to a remote site and for accounting purposes.
598 (mandatory)
599 .It Li maxconnecttime
600 Specify a maximum connection time in seconds.
601 Use this to define an absolute
602 upper limit for a connection on the B-channel to last.
603 .Em CAUTION:
604 This feature is used to limit the connection time, _not_ number of attempts
605 to establish a connection: when using this please take care to also enable
606 the use of budgets to limit the connection establish attempts (otherwise
607 the line will cycle through an endless loop of connections and reconnections
608 which will have an undesired effect on your telco bill)!
609 .It Li ppp-auth-paranoid
610 If set to
611 .Em no ,
612 the remote site is not required to prove its authenticity for connections
613 that are initiated by the local site.
614 The default is
615 .Em yes
616 and requires the remote site to always authenticate.
617 .Pp
618 This keyword is only used if
619 .Em ppp-send-auth
620 has been set to pap or chap for an
621 .Em isp
622 PPP interface.
623 (optional)
624 .It Li ppp-auth-rechallenge
625 Set to
626 .Em no ,
627 if the other side does not support re-challenging for chap.
628 The default is
629 .Em yes ,
630 which causes verification of the remote site's authenticity once in a while.
631 .Pp
632 This keyword is only used if
633 .Em ppp-expect-auth
634 has been set to chap for an
635 .Em isp
636 PPP interface.
637 (optional)
638 .It Li ppp-expect-auth
639 The local site expects the authenticity of the remote site to be proved by
640 the specified method.
641 The supported methods are:
642 .Pp
643 .Bl -tag -width Ds -compact
644 .It Ar none
645 Do not require the other side to authenticate.
646 Typical uses are dial-out to an ISP
647 (many ISPs do not authenticate themselves to clients)
648 or offering anonymous dial-in at the local site.
649 .It Ar chap
650 The preferred authentication method, which does not require a password to be sent
651 in the clear.
652 .It Ar pap
653 The unprotected authentication method, which allows anybody watching the wire
654 to grab name and password.
655 .El
656 .Pp
657 If
658 .Em ppp-auth-paranoid
659 is set to
660 .Em no
661 (the default is
662 .Em yes )
663 outgoing connections will not require the remote site to authenticate itself.
664 .Pp
665 This keyword is only used for the
666 .Em isp
667 PPP interfaces.
668 (optional)
669 .It Li ppp-expect-name
670 The name that has to be provided by the remote site to prove its authenticity.
671 .Pp
672 This keyword is only used if
673 .Em ppp-expect-auth
674 has been set to pap or chap for an
675 .Em isp
676 PPP interface.
677 (optional)
678 .It Li ppp-expect-password
679 The secret that has to be provided by the remote site to prove its authenticity.
680 .Pp
681 This keyword is only used if
682 .Em ppp-expect-auth
683 has been set to pap or chap for an
684 .Em isp
685 PPP interface.
686 (optional)
687 .It Li ppp-send-auth
688 The authentication method required by the remote site.
689 The currently supported parameters are:
690 .Pp
691 .Bl -tag -width Ds -compact
692 .It Ar none
693 The remote site does not expect or support authentication.
694 .It Ar chap
695 The preferred authentication method, which does not require a password to be sent
696 in the clear.
697 .It Ar pap
698 The unprotected authentication method, which allows anybody watching the wire
699 to grab name and password.
700 .El
701 .Pp
702 This keyword is only used for the
703 .Em isp
704 PPP interfaces.
705 (optional)
706 .It Li ppp-send-name
707 The authentication name sent to the remote site.
708 .Pp
709 This keyword is only used if
710 .Em ppp-send-auth
711 has been set to pap or chap for an
712 .Em isp
713 PPP interface.
714 (optional)
715 .It Li ppp-send-password
716 The secret used to prove the local site's authenticity to the remote site.
717 .Pp
718 This keyword is only used if
719 .Em ppp-send-auth
720 has been set to pap or chap for an
721 .Em isp
722 PPP interface.
723 (optional)
724 .It Li ratetype
725 The rate entry used from the rates file.
726 (optional)
727 .Pp
728 For example, ratetype=0 selects lines beginning "ra0" in /etc/isdn/isdnd.rates;
729 (typically ra0 lines are a set of tables for local call rates on different
730 days of the week & times per day).
731 .It Li recoverytime
732 The time in seconds to wait between dial retries.
733 (optional)
734 .It Li remdial-handling
735 is used to specify the dialout behavior in case more than one outgoing
736 number is specified.
737 The currently supported parameters are:
738 .Pp
739 .Bl -tag -width Ds -compact
740 .It Ar first
741 For every new (non-retry) call setup, start with the first number.
742 .It Ar last
743 For every new (non-retry) call setup, start with the last number with
744 which a successful connection was made.
745 .It Ar next
746 For every new (non-retry) call setup, start with the next number which
747 follows the last one used.
748 .El
749 .It Li remote-phone-dialout
750 The remote telephone number used when the local site dials out.
751 When dialing
752 out to a remote site, the number specified here is put into the
753 .Em "Called Party Number Information Element" .
754 .Pp
755 This keyword is mandatory for the
756 .Em ipr
757 interfaces.
758 It may be specified more than once to try to dial to several
759 numbers until one succeeds.
760 .It Li remote-phone-incoming
761 The remote telephone number used to verify an incoming call.
762 When a remote site
763 dials in, this number is used to verify that it is the correct remote site
764 which is herewith authorized to connect into the local system.
765 This parameter
766 is compared against the
767 .Em "Calling Party Number Information Element"
768 got from the telephone exchange.
769 .Pp
770 This keyword is mandatory for the ipr interfaces.
771 .Pp
772 This keyword may have a wildcard parameter '*' to permit anyone dialing in.
773 .It Li unitlength
774 The length of a charging unit in seconds.
775 This is used in conjunction with
776 the idletime to decide when to hang up a connection.
777 (optional)
778 .It Li unitlengthsrc
779 This keyword is used to specify from which source
780 .Xr isdnd 8
781 takes the unitlength for short-hold mode.
782 The currently configurable values are:
783 .Pp
784 .Bl -tag -width Ds -compact
785 .It Ar none
786 Then unitlength is not specified anywhere.
787 .It Ar cmdl
788 Use the unitlength specified on the command line.
789 .It Ar conf
790 Use the unitlength specified in the configuration file with the keyword
791 .Em unitlength .
792 .It Ar rate
793 Use the unitlength from the ratesfile specified in the configuration
794 file with the keyword
795 .Em ratetype .
796 .It Ar aocd
797 Use a dynamically calculated unitlength in case AOCD is subscribed on
798 the ISDN line.
799 (AOCD is an acronym for ``Advice Of Charge During the call''
800 which is a service provided by the telecommunications (ie phone) provider,
801 to indicate billable units).
802 .El
803 .It Li usrdevicename
804 Specifies the user-land interface which is used for interfacing ISDN B channel
805 data to the user-land.
806 The keyword is mandatory.
807 This keyword accepts the following parameters:
808 .Pp
809 .Bl -tag -width Ds -compact
810 .It Ar ipr
811 This parameter configures a raw HDLC IP over ISDN interface.
812 .It Ar isp
813 This parameter configures a synchronous PPP over ISDN interface.
814 .It Ar rbch
815 This specifies a Raw B CHannel access interface.
816 .It Ar tel
817 ISDN telephony.
818 .It Ar ing
819 configures an ISDN B-channel to NetGraph interface.
820 .El
821 .It Li usrdeviceunit
822 Specifies the unit number for the device which is specified with
823 usrdevicename.
824 .It Li usedown
825 is used to enable the use of the keywords
826 .Em downtries
827 and
828 .Em downtime
829 in the entries section(s).
830 It is used in the
831 .Nm isdnd
832 daemon to dynamically enable and disable the IP interfaces to avoid excessive
833 dialing activities in case of transient failures (such as busy lines).
834 This parameter is optional and is set to
835 .Em off
836 by default.
837 .It Li valid
838 .Em Note :
839 this feature is considered experimental!
840 The parameter to this keyword is a string specifying a time range within
841 which this entry is valid.
842 The time specification consists of a list of weekdays and/or a holiday
843 indicator ( see also the
844 .Em holidayfile
845 keyword in the system section ) separated by commas followed by an optional
846 daytime range specification in the form hh:mm-hh:mm.
847 The weekdays are specified as numbers from 0 to 6 and the number 7 for
848 holidays:
849 .Pp
850 .Bl -tag -width Ds -compact
851 .It Ar 0
852 Sunday
853 .It Ar 1
854 Monday
855 .It Ar 2
856 Tuesday
857 .It Ar 3
858 Wednesday
859 .It Ar 4
860 Thursday
861 .It Ar 5
862 Friday
863 .It Ar 6
864 Saturday
865 .It Ar 7
866 a Holiday
867 .El
868 .Pp
869 The following examples describe the "T-ISDN xxl" tariff of the german Telekom:
870 .Bl -tag -width Ds -compact
871 .It Ar 1,2,3,4,5,6,09:00-18:00
872 Monday through Saturday, daytime 9:00 to 18:00
873 .It Ar 1,2,3,4,5,6,18:00-9:00
874 Monday through Saturday, nighttime 18:00 to 9:00
875 .It Ar 0,7
876 Sunday and on holidays, all 24 hours
877 .El
878 .Pp
879 The use of this keyword is optional.
880 .El
881 .El
882 .Sh IDLETIME CALCULATION AND SHORT-HOLD MODE
883 .Bl -tag -width ".Li incoming calls"
884 .It Li incoming calls
885 It is assumed that the calling side knows most about charging structures and
886 such and as a consequence only the keyword
887 .Em idletime-incoming
888 has a function for incoming calls.
889 .Pp
890 For incoming calls the line is constantly monitored, and in case there was
891 not traffic taking place for the time in seconds specified by
892 .Em idletime-incoming
893 the call is closed.
894 .Pp
895 Typically,
896 .Em idletime-incoming
897 is used as a last resort and is therefore set much higher than a charging
898 unit time: typical values are one to five minutes.
899 .It Li outgoing calls
900 Outgoing call disconnect time can be setup in one of three ways:
901 .Bl -tag -width ".Li shorthold mode"
902 .It Li simple mode
903 For simple mode, the
904 .Em idle-algorithm-outgoing
905 must be
906 .Em fix-unit-size
907 and the selected
908 .Em unitlength
909 must be 0 (zero) and
910 .Em idletime-outgoing
911 greater zero.
912 .Pp
913 The outgoing traffic is constantly monitored, and in case there was
914 not traffic taking place for the time in seconds specified by
915 .Em idletime-outgoing
916 the call is closed.
917 .Pp
918 Typical values in simple mode are 10 to 30 seconds.
919 .It Li shorthold mode for fixed unit charging
920 For shorthold mode, the
921 .Em idle-algorithm-outgoing
922 must be
923 .Em fix-unit-size
924 and the selected
925 .Em unitlength
926 and
927 .Em idletime-outgoing
928 must be greater than 0 (zero);
929 .Em earlyhangup
930 must be \(>= 0 (zero).
931 .Bd -literal
932 |<unchecked-window>|<checkwindow>|<safetywindow>|
933 |                  |             |              |
934 +------------------+-------------+--------------+
935 |                  |             |              |
936 |                  |<-idle-time->|<earlyhangup->|
937 |<--------------unitlength--------------------->|
938 .Ed
939 .Pp
940 During the unchecked window which is (unitlength - (idle-time+earlyhangup))
941 in length, no idle check is done.
942 After the unchecked window has ended,
943 the line is checked for idle-time length if no traffic takes place.
944 In case
945 there was traffic detected in the check-window, the same procedure is restarted
946 at the beginning of the next unit.
947 In case no traffic was detected during
948 the check-window, the line is closed at the end of the check window.
949 .Pp
950 Notice:
951 .Em unitlength
952 must (!) be greater than the sum of
953 .Em idletime-outgoing
954 and
955 .Em earlyhangup !
956 .It Li shorthold mode for variable unit charging
957 For shorthold mode, the
958 .Em idle-algorithm-outgoing
959 must be
960 .Em var-unit-size
961 and the selected
962 .Em unitlength
963 and
964 .Em idletime-outgoing
965 must be greater than 0 (zero);
966 .Pp
967 This shorthold mode is suitable when your calls are billed on
968 the elapse time of the call plus a fixed connection charge.
969 For example British Telecom bill this way.
970 .Pp
971 Each call is divided into two periods, the first is the
972 .Em unchecked
973 period and the second is the
974 .Em checked .
975 The
976 .Em checked
977 period starts 1 second before the first units time expires.
978 .Pp
979 During the
980 .Em checked
981 period if there is no traffic for
982 .Em idle-time
983 seconds the call is disconnected.
984 .Bd -literal
985 |<---unchecked------------------>|<------checked------>
986 +------------------+-------------+
987 |                  |<-idle-time->|
988 |<--------------unitlength------->|
989 .Ed
990 .Pp
991 Experience shows that useful values for idle-time are from 15 to 30 seconds.
992 .Pp
993 If idle-time is too short an application that is not yet finished with the
994 network will cause a new call to be placed.
995 .El
996 .El
997 .Sh FILES
998 .Bl -tag -width /etc/isdn/isdnd.rc -compact
999 .It Pa /etc/isdn/isdnd.rc
1000 The default configuration file for the
1001 .Nm isdnd
1002 ISDN daemon.
1003 .El
1004 .Sh SEE ALSO
1005 .Xr regex 3 ,
1006 .Xr re_format 7 ,
1007 .Xr isdnd 8 ,
1008 .Xr isdnmonitor 8
1009 .Sh AUTHORS
1010 .An -nosplit
1011 The
1012 .Xr isdnd 8
1013 daemon and this manual page were written by
1014 .An Hellmuth Michaelis Aq hm@FreeBSD.org .
1015 .Pp
1016 Additions to this manual page by
1017 .An Barry Scott Aq barry@scottb.demon.co.uk .