#!/bin/sh # $Id: isdnctrl.man.in,v 1.5 1997/07/23 20:39:17 luethje Exp $ # # Generator for isdnctrl manpage # (C) 1997 Stefan Luethje # # # $Log: isdnctrl.man.in,v $ # Revision 1.5 1997/07/23 20:39:17 luethje # added the option "force" for the commands delif and reset # # Revision 1.4 1997/07/22 22:36:12 luethje # isdnrep: Use " " for blanks # isdnctrl: Add the option "reset" # # Revision 1.3 1997/06/26 21:25:16 luethje # Added the trigger function to the config file. # # Revision 1.2 1997/06/26 21:01:25 luethje # bugfix # # Revision 1.1 1997/06/26 21:00:29 luethje # Create a dynamic man page. # AWKFILE=/tmp/`basename $0`.$$ MANOUTFILE=isdnctrl.man source ../.config echo -n "Create isdnctrl manpage ..." cat >$AWKFILE << EOF BEGIN {printall=1} { if (\$1 == "#ifdef") { if ("\$2" != "CONFIG_CTRL_CONF" && "$CONFIG_CTRL_CONF" != "") printall=1 else printall=0 } else if (\$1 == "#endif") { printall=1 } else if (printall == 1) { print } } EOF awk -f $AWKFILE >$MANOUTFILE << EOF .TH ISDNCTRL 8 "23. July 1997" .UC 4 .SH NAME isdnctrl \- get/set ISDN device information .SH SYNOPSIS isdnctrl action device ... .br .SH DESCRIPTION .I isdnctrl is used to create and delete network interfaces for ISDN, set up the various parameters and phone numbers for dial in and dial out. It is also used to list the current paramteters of an already configured interface. .LP The use of .I isdnctrl is independent of the hardware driver. .LP .SH OPTIONS The following .I actions may be given to .I isdnctrl. .TP 5 .B addif [name] Adds a new ISDN IP-interface "name" to the kernel. If "name" is omitted, the kernel will use "ethX", while X is an increasing number starting from 0. .TP 5 .B delif name [force] Removes the ISDN IP-interface "name" from the kernel. The option "force" starts at first for the interface the command "ifconfig down". .TP 5 .B reset [force] Removes all ISDN IP-interfaces from the kernel if it is possible. The option "force" starts at first for each interface the command "ifconfig down". .TP 5 .B addphone name out num Set the phone number(s) of the remote site for the IP-interface "name". More than one number can be set by calling .I isdnctrl addphone repeatedly. If more than one number is set these will be tried one after another. When using an german SPV-type connection, with a ICN-card, the number has to be preceeded by a capital S. .TP 5 .B addphone name in num Set the phone number(s) that the IP-interface "name" is supposed to accept for incoming calls. If no number is given incoming calls are disabled. More than one number can be set by calling .I isdnctrl addphone repeatedly. Also wildcards can be used (see below). .TP 5 .B delphone name in|out num Remove phone number "num" from the incoming or outgoing phone list. .TP 5 .B eaz name [num] Set the EAZ (German 1TR6 protocol) or MSN (Euro-ISDN E-DSS1) for interface "name" to "num". For an EAZ this is only one digit, for a MSN "num" is the whole MSN. If "num" is omitted .I isdnctrl eaz name prints the current setting for interface "name". .TP 5 .B huptimeout name [seconds] Set the hangup timeout for interface "name" to "seconds". If there is inactivity (i.e. no traffic on the interface) for the given time the driver automatically shuts down the connection. If "seconds" is omitted .I isdnctrl huptimeout name prints the current setting for interface "name". .TP 5 .B cbdelay name [seconds] Set the callback delay for interface "name" to "seconds". If callback mode for this interface is .I in , dialing is delayed the given time. If the callback mode is .I out , after dialing out and waiting the given time, a hangup is issued to free the line for the incoming callback from the remote machine. This hangup-after-dial is disabled by setting cbdelay to 0. If "seconds" is omitted .I isdnctrl cbdelay name prints the current setting for interface "name". .TP 5 .B dialmax name [num] Set the number of dial atempts for interface "name" to "num". If dialing, each phonenumber is tried this many times before giving up. If "num" is omitted .I isdnctrl dialmax name prints the current setting for interface "name". .TP 5 .B ihup name [on|off] Turn on or off the hangup timeout for incoming calls on interface "name". If none of on or off is given the current setting is printed. .TP 5 .B chargehup name [on|off] Turn on or off hangup before next charge info for interface name. This can only be used if the ISDN provider transmits charge info during and after the connection. If set to on, the driver will close the connection just before the next charge info will be received if the interface is inactive. If none of on or off is given the current setting is printed. .TP 5 .B chargeint name [seconds] When "seconds" are given, the charge interval for the given interface is set. This may be of use on ISDN lines with no chargeinfo or no online chargeinfo. The connection will only be closed 2 seconds before the end of the next charge interval and only, if .I huptimeout seconds of inactivity have been reached. If .I ihup is on, also incomming connections are closed by this mechanism. On lines with online charge info you also might ask by .I chargeint name for the current charge interval as delivered from the telecom on a given interface. .TP 5 .B secure name [on|off] Turns on or off the security feature for interface "name". If set to on, incoming calls will only be accepted if the calling number has been added to the access list with .I isdnctrl addphone name in. If none of on or off is given the current setting is printed. .TP 5 .B callback name [on|off|in|out] Selects callback mode for interface "name". If callback mode is .I in , then after getting an incoming call, a callback is triggered. If callback mode is .I out , then this system does the initial call, then waiting for callback of the remote machine. The option .I on is available only for compatibility with older versions. Its meaning is the same like .I in. .TP 5 .B cbhup name [on|off] Turns on or off Hangup (Reject) for interface "name" before starting Callback. If none of on or off is given the current setting is printed. .TP 5 .B encap name [encapname] Set the encapsulation mode for interface "name". Possible modes for encapname are: .B rawip raw ip encapsulation (default) .B ip ip + typefield encapsulation .B cisco_h Special mode for communicating with a Cisco in HDLC-mode. .B ethernet ethernet over ISDN .B syncppp Synchronous PPP over ISDN .B uihdlc raw ip with additional ui-header If encapname is omitted the current setting is printed. .TP 5 .B l2_prot name [protocol] Set the layer-2 protocol for interface "name". Possible values for "protocol" are .B x75i, x75ui, x75bui and .B hdlc If protocol is omitted the current setting is printed. .TP 5 .B l3_prot name [protocol] Set the layer-3 protocol for interface "name". At the moment only .B trans is supported. If protocol is omitted the current setting is printed. .TP 5 .B list name List all parameters and the charge info for interface "name". .TP 5 .B verbose Set verbosity level to . .TP 5 .B hangup name The connection of interface "name" is cloes immediately. .TP 5 .B bind name driverId channel [exclusive] Binds an interface "name" to specific physical channel. The driverId identifies the desired driver. The channels of a card start counting with zero. If "exclusive" is given, other interfaces cannot use that interface anymore. .TP 5 .B unbind name Unbinds a the previously bound interface "name". .TP 5 .B pppbind name [num] Binds the current interface to a ippp device (/dev/ipppX). This works only for syncronous ppp. The value must be a number. If no number is omitted, it shows the current binding. .TP 5 .B busreject driverId [on|off] If switched on, isdn4linux replies a REJECT to incoming calls, it cannot match to any configured interface. If switched off, nothing happens in this case. .I You normally should NOT enable this feature, if the ISDN-adaptor is not the only device, connected to the S0-bus. Otherwise it could happen, that isdn4linux rejects an incoming call, which belongs to another device on the bus. .TP 5 .B addslave name slavename Adds a slave interface to interface "name" for channel-bundling. For bundling of more than two channels, any number of slaves can be added to an interface. "name"must refer to an existing "real" interface (not a slave). Slaves are not visible to the kernel, however all usual ISDN-settings can be configured. .B It is important that slave interfaces are added .B before the corresponding master is started by .B ifconfig. If the master is already up, it has to be shutdown with .B ifconfig down ... otherwise the addslave command will be rejected. .TP 5 .B sdelay name Set delay for slave-dialing. A master interface has to have a load of more than .B trigger cps for at least this time (in seconds), before it's slave is started. .TP 5 .B trigger name Set trigger level for slave-dialing. A master interface has to have a load of more than .B trigger cps for at least .B sdelay seconds, before it's slave is started. .TP 5 .B dial name Force dialing of interface "name". .TP 5 .B mapping driverId MSN0[,MSN1[,MSN2]] ... [,MSN9] Installs a mapping-table for MSN<->EAZ-mapping. See README for details. #ifdef CONFIG_CTRL_CONF .TP 5 .B writeconf [file] Writes the configuration into a file. If "file" is omitted, the default file ${CONFIG_I4LCONFDIR}/${CONFIG_CONFFILE} will be used. .TP 5 .B readconf [file] Reads the configuration from a file. If "file" is omitted, the default file ${CONFIG_I4LCONFDIR}/${CONFIG_CONFFILE} will be used. .SS Syntax of the configuration file This syntax will be used for the options .B readconf and .B writeconf. All entries are included in the section .B [ISDNCTRL]. This section contains an entry .B INTERFACES, which describes the interfaces. Each subsection .B [INTERFACE] or .B [SLAVE] describes one interface. There are the following entries possible: .TP 5 .B NAME The name of the interface. This entry is required. .B Example: NAME = ippp0 .TP 5 .B EAZ Set the EAZ or the MSN. This entry is required. .B Example: EAZ = 4711 .TP 5 .B PHONE_IN Set the incoming phone number(s). It requires at least one blank between the different numbers. .B Example: PHONE_IN = 08151234 08151235 08151236 .TP 5 .B PHONE_OUT Set the outgoing phone number(s). It requires at least one blank between the different numbers. .B Example: PHONE_OUT = 08151237 08151238 .TP 5 .B SECURE Turn on or off the security feature. Allowed values are "on" and "off". .B Example: SECURE = on .TP 5 .B CALLBACK Selects callback mode. Allowed values are "off", "in" and "out". .B Example: CALLBACK = in .TP 5 .B CBHUP Turns on or off hangup before starting callback. Allowed values are "on" and "off". .B Example: CBHUP = on .TP 5 .B CBDELAY Set the callback delay to "seconds". .B Example: CBDELAY = 5 .TP 5 .B DIALMAX Set the number of dial atempts to "num". .B Example: DIALMAX = 1 .TP 5 .B HUPTIMEOUT Set the hanguptime to "seconds". .B Example: HUPTIMEOUT = 20 .TP 5 .B IHUP Turns on or off the hangup timeout for incoming calls. Allowed values are "on" and "off". .B Example: IHUP = on .TP 5 .B CHARGEHUP Turns on or off hangup before next charge info. Allowed values are "on" and "off". .B Example: CHARGEHUP = on .TP 5 .B CHARGEINT Sets the charge interval to "seconds". .B Example: CHARGEINT = 1 .TP 5 .B L2_PROT Set the layer-2 protocol. Allowed values are "x75i", "x75ui", "x75bui" and "hdlc". .B Example: L2_PROT = hdlc .TP 5 .B L3_PROT Set the layer-3 protocol. Allowed value is only "trans". .B Example: L3_PROT = trans .TP 5 .B ENCAP Sets the encapsulation mode. Allowed values are "rawip", "ip", "cisco_h", "ethernet", "syncppp" and "uihdlc". .B Example: ENCAP = rawip .TP 5 .B ADDSLAVE Adds a slave interface for channel-bundling. .B Example: ADDSLAVE = s-ippp0 .TP 5 .B SDELAY Set the delay in seconds for the slave-dialing. .B Example: SDELAY = 10 .TP 5 .B TRIGGER Set trigger level for slave-dialing. .B Example: TRIGGER = 5 .TP 5 .B BIND Binds the current interface to a specific physical channel. Before and after the comma may not be a blank. .B Example: BIND = teles1,0 .TP 5 .B PPPBIND Binds the current interface to a ippp device (/dev/ipppX). This works only for syncronous ppp. The value must be a number. .B Example: PPPBIND = 0 .TP 5 .B Example for a configuration file [ISDNCTRL] INTERFACES = { [INTERFACE] NAME = isdn0 EAZ = 4711 PHONE_IN = 08151234 PHONE_OUT = 08151234 SECURE = on DIALMAX = 1 HUPTIMEOUT= 20 IHUP = on CHARGEHUP = on L2_PROT = hdlc L3_PROT = trans ENCAP = rawip ADDSLAVE = s-isdn0 SDELAY = 10 [SLAVE] NAME = s-isdn0 EAZ = 4711 PHONE_OUT = 08151234 SECURE = on DIALMAX = 1 HUPTIMEOUT= 10 IHUP = on CHARGEHUP = on L2_PROT = hdlc L3_PROT = trans ENCAP = rawip [INTERFACE] NAME = ippp0 EAZ = 4712 PHONE_OUT = 08151235 08151236 SECURE = on DIALMAX = 5 HUPTIMEOUT= 200 IHUP = on CHARGEHUP = on L2_PROT = hdlc L3_PROT = trans ENCAP = syncppp PPPBIND = 0 } #endif .SH WILDCARDS For matching incoming calls phone numbers can be be set by .I isdnctrl addphone name in num using pattern matching like the regular expressions in shells. The following wildcards are supported: .TP 7 .I ? one arbitrary digit .TP 7 .I * zero or arbitrary many digits .TP 7 .I [123] one of the digits in the list .TP 7 .I [1-5] one digit between '1' and '5' .TP 7 .I ^ as the first character in a list inverts the list .LP .SH BUGS This man page is not complete. .LP .SH AUTHOR Volker Goetz .LP .SH SEE ALSO .I ttyI\c \&(4), .I icnctrl\c \&(8), .I telesctrl\c \&(8), .I isdninfo\c \&(4). EOF echo " ready." rm -f $AWKFILE