isdnd(8)
NAME
isdnd - isdn4bsd ISDN connection management daemon
SYNOPSIS
isdnd [-c configfile] [-d debuglevel] [-f] [-F] [-l] [-L
logfile] [-P]
[-r device] [-s facility] [-t terminaltype]
[-u charging unit length] [-m]
DESCRIPTION
- The isdnd utility is the isdn4bsd package daemon which man
- ages all ISDN
related connection and disconnection of ISDN devices sup - ported by the
package. - The options are as follows:
- -c Use configfile as the name of the runtime configura
- tion filename
- for isdnd instead of the default file /etc/isdn/isd
- nd.rc.
- -d If debugging support is compiled into isdnd this op
- tion is used
- to specify the debugging level, or better which kind
- of debugging
messages are displayed. The debugging level is the - sum of the
following values:
0x001 general debugging.
0x002 rates calculation.
0x004 timing calculations.
0x008 state transitions.
0x010 retry handling.
0x020 dialing.
0x040 process handling.
0x080 isdn4bsd kernel i/o calls.
0x100 controller and channel busy/free messages.
0x200 isdnd.rc configuration file processing.
0x400 outgoing call budget handling.
0x800 valid keyword and holiday file processing. - The value can be specified in any number base sup
- ported by the
sscanf(3) library routine. - In addition, this option accepts also the character
argument to disable displaying debug messages on the - full-screen
display. - -f Specifying this option causes isdnd to enter the
- full-screen mode
- of operation. When operating in this mode, entering
- the control
character Control-L causes the display to be re - freshed and entering Carriage-Return or Enter will pop-up a command
- window.
Because the isdnd utility will not listen to mes - sages while the
command window is active, this command window will - disappear
automatically after 5 seconds without any command - key press.
- While the command window is active, Tab or Space ad
- vances to the
next menu item. To execute a command, press Return - or Enter for
the highlighted menu item, or enter the number cor - responding to
the item to be executed or enter the capitalized - character in the
menu item description. - -l If this option is set, logging is not done via the
- syslogd(8)
- facility but instead is appended to a file.
- -L Specifies the name of the logfile which is used when
- the option
- -l is set. See also the keyword rotatesuffix in the
- system section of isdnd.rc(5).
- -P This option prints out the parsed and verified isdnd
- configura
- tion in the same format as the isdnd.rc file. This
- output can be
used as an isdnd.rc file. This feature is especial - ly useful when
debugging an isdnd.rc file to see, what the default - settings of
options are when they are not set in the isdnd.rc - input file.
- The isdnd exits after the printout is done.
- -F This option prevents isdnd to detach from the con
- trolling tty and
- become a daemon.
- -r In conjunction with the -t option, device specifies
- a terminal
- device which becomes the controlling tty for isdnd
- and on which
the full-screen mode output is displayed. - -s This option may be used to specify the logging fa
- cility in case
- syslog(3) logging is configured and another facility
- than the
default LOCAL0 facility shall be used. The facility - is to be
specified as an integer in the range 0-11 or 16-23 - (see the file
/usr/include/syslog.h). - -t In conjunction with the -f and -r options,
- terminaltype specifies
- a terminal type or termcap entry name (such as
- vt220) for the
device used for isdnd full-screen output. This is - useful if an
unused (no getty running) tty line is used for full - screen output
for which no TERM environment variable exists. - -u Specifies the length of a charging unit in case the
- config file
- entry keyword unitlenghtsrc is set to cmdl.
- -m If the isdn daemon is compiled with local or remote
- monitoring
- support, this option disables all monitoring access.
- It overrides the config file option monitor-allowed.
INTERACTION WITH THE KERNEL
- The isdnd utility communicates with the kernel part of is
- dn4bsd by
receiving status and event messages (read(2) from device - /dev/i4b) and by
transmitting commands and responses (ioctl(2) from device - /dev/i4b).
- The messages and message parameters are documented in the
- include file
/usr/include/machine/i4b_ioctl.h. - Supported command and response messages (ioctls) to the ker
- nel are:
- I4B_CDID_REQ
Request a unique Call Description IDentifier(cdid) which
identifies uniquely a single interaction ofthe local D
channel with the exchange. - I4B_CONNECT_REQ
Actively request a call setup to a remote ISDNsubscriber.
- I4B_CONNECT_RESP
Respond to an incoming call, either accept,reject or
ignore it. - I4B_DISCONNECT_REQ
Actively terminate a connection.
- I4B_CTRL_INFO_REQ
Request information about an installed ISDNcontroller
card. - I4B_DIALOUT_RESP
Give information about call setup to driverwho requested
dialing out. - I4B_TIMEOUT_UPD
Update the kernels timeout value(s) in case ofdynamically
calculated shorthold mode timing changes. - I4B_UPDOWN_IND
Inform the kernel userland drivers about interface soft
up/down status changes. - I4B_CTRL_DOWNLOAD
Download firmware to active card(s).
- I4B_ACTIVE_DIAGNOSTIC
Return diagnostic information from activecards.
- Supported status and event messages from the kernel are:
- MSG_CONNECT_IND
An incoming call from a remote ISDN user isindicated.
- MSG_CONNECT_ACTIVE_IND
After an incoming call has been accepted locally or an outgoing call has been accepted by a remote, theexchange signaled an active connection and the corresponding B-channel
is switched through. - MSG_DISCONNECT_IND
A call was terminated.
- MSG_DIALOUT_IND
A userland interface driver requests the daemon to dial out
(typically a network interface when a packetarrives in its
send queue). - MSG_IDLE_TIMEOUT_IND
A call was terminated by the isdn4bsd kerneldriver because
a B-channel idle timeout occurred. - MSG_ACCT_IND
Accounting information from a network driver.
- MSG_CHARGING_IND
Charging information from the kernel.
- OUTGOING CALLS
- Currently the only possibility to trigger an outgoing call
- is that an
isdn4bsd network driver (ipr<n>) sends a MSG_DIALOUT_IND to - the isdnd
utility. - The daemon requests a new CDID from the kernel by using the
- I4B_CDID_REQ
ioctl message, this CDID is now used in all interactions - with the kernel
to identify this single call until a disconnect occurs. - After getting the CDID, the daemon looks up several addi
- tional information in its entry section of the configuration corresponding
- to that connection and issues a I4B_CONNECT_REQ ioctl message to the
- kernel. The
kernel now dials the remote side and if the remote side ac - cepts the call,
the kernel sends a MSG_CONNECT_ACTIVE_IND to the daemon. - The call is terminated by either the local side timing out
- or the remote
side hanging up the connection or the local side actively - sending a
I4B_DISCONNECT_REQ ioctl message, both events are signaled - to the isdnd
by the kernel sending the I4B_DISCONNECT_IND message and the - CDID corresponding to the call is no longer valid.
- INCOMING CALLS
- Incoming calls are signaled to the isdnd by the kernel
- transmitting the
MSG_CONNECT_IND message to the daemon. - With the information contained in this message, the isdnd
- searches the
entry section of its configuration database and if a match - is found, it
accepts or rejects the call or, if no match is found, it ig - nores the call
- all by issuing a I4B_CONNECT_RESP ioctl message with the - appropriate
parameters to the kernel. - In case the daemon decided to accept the call, the kernel
- signals this by
sending a MSG_CONNECT_ACTIVE_IND message to the daemon. - The call is terminated by either the local side timing out
- or the remote
side hanging up the connection or the local side actively - sending a
I4B_DISCONNECT_REQ ioctl message, both events are signaled - to the isdnd
by the kernel sending the I4B_DISCONNECT_IND message and the - CDID corresponding to the call is no longer valid.
SIGNALS
- Sending a HUP signal to isdnd causes all open connections to
- be terminated and the configuration file is reread. In case alias
- file handling
was enabled, the aliasfile is also reread. - Sending a USR1 signal to isdnd causes the accounting file
- and the logfile
(if logging to a file is used instead of logging via the - syslog(3) facility) to be closed and reopened to make logfile rotation pos
- sible.
ENVIRONMENT
- The following environment variables affect the execution of
- isdnd:
- TERM The terminal type when running in full-screen dis
- play mode. See
- environ(7) for more information.
FILES
- /dev/i4b The device-file used to communicate
- with the ker
- nel ISDN driver subsystem.
- /var/log/messages A record of the actions in case of
- syslogd logging
- support.
- /var/log/isdnd.acct The default accounting information
- filename (if
- accounting is configured).
- /var/log/isdnd.log The default logging filename (if log
- ging to a file
- is configured).
- /var/run/isdnd.pid The process id of the isdn daemon
- (also known as
- "lockfile" to isdnd, preventing mul
- tiple invocations of it).
- /usr/local/lib/isdn
- /etc/isdn The directory where isdnd expects
- some supplemen
- tary data files and programs for
- telephone answering support.
- /etc/isdn/isdnd.rc The default runtime configuration
- file.
- /etc/isdn/isdnd.rates The default unit charging rates spec
- ification
- file.
- /etc/isdn/isdntel.alias
- The default table (if aliasing is en
- abled) to convert phone number to caller's name.
EXIT STATUS
Exit status is 0 on success, 1 on error.
EXAMPLES
- For a first try, the following command should be used to
- start isdnd in
foreground mode for better debugging the configuration set - up:
isdnd -d0xf9 -F- This will start isdnd with reasonable debugging settings and
- produce output on the current terminal. The isdnd utility can then be
- terminated by
entering Control-C. - Another example, the command:
isdnd -d0xf9 -f -r /dev/ttyv3 -t vt100- will start isdnd with reasonable debugging messages enabled,
- full-screen
mode of operation, full-screen display redirected to - /dev/ttyv3 and using
a termcap entry for vt100 on this display.
SEE ALSO
- i4bing(4), i4bipr(4), i4bisppp(4), isdnd.rates(5), isd
- nd.rc(5),
isdntel(8), isdntrace(8), syslogd(8)
AUTHORS
- The isdnd utility and this manual page were written by Hell
- muth Michaelis
<hm@FreeBSD.org>.
BUGS
- Still one or more left.
- BSD May 2, 2001