isdnctrl(8)

NAME
isdnctrl - get/set ISDN device information

SYNOPSIS
isdnctrl action device ...

DESCRIPTION
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 parameters of an already configured network interface. isdnctrl is not needed for configuration of ISDN ttys!

The use of isdnctrl is independent of the hardware driver.

OPTIONS
The following actions may be given to isdnctrl.

addif name
    Adds a new ISDN interface name to the kernel. If name is omitted, the kernel will use ethX, where X is an increasing number starting from 0. This is probably not useful with ISDN so using a name like isdn0 (for raw ip interfaces) or ippp0 (for synchronous PPP interfaces) is always recommended.

delif name [force]
    Removes the ISDN interface name from the kernel. If the optional keyword force is appended, isdnctrl executes ifconfig name down before removing it.

reset [force]
    Removes all ISDN interfaces from the kernel if it is possible. If the optional keyword force is appended, isdnctrl executes ifconfig name down before removing an interface.

ifdefaults name
    resets the interface name to some reasonable defaults.

dialmode name [off|manual|auto]
    Sets the dial mode of the interface to one of:

    off
    no connection can be made; an existing connection is terminated immediately. Incoming connections are also not possible.

    manual
    manual dialing / hangup; a connection will only be made after isdnctrl dial name but the line will be disconnected after the huptimeout value set if using kernel drivers updated since 1 Nov 1998; otherwise an explicit isdnctrl hangup name will be needed to cause the connection to be dropped.
    Incoming connections are possible; however, if this interface is configured in callback in mode, the callback dial will not happen (as this is actually an outgoing connection, not an incoming one).

    auto
    autodial mode; an outgoing packet will trigger a dialout, and a hangup will occur after the huptimeout value specified (see below).
    An interface in auto dial mode will call another system back (if configured in callback in mode).

    auto was the "old" behaviour (as it was before dialmode was implemented).

    If no argument is given, the current dialmode value is displayed.

    You can give all as the interface name; the command will then be executed for all interfaces.

addphone name out num
    Adds the phone number num to the list of outgoing numbers of the ISDN interface name. Numbers in this list are used to dial the remote station if the connection is down and packets are to be sent via the interface (Dial on demand). More than one number can be set by calling isdnctrl addphone repeatedly. If more than one number is set, these will be tried one after another (the last added number is tried first, etc.). When using a german SPV-type connection, the number has to be prefixed by a capital S.

addphone name in num
    Adds the phone number num to the list of incoming numbers of the ISDN interface name. Numbers in this list are used to verify access permission of the remote station if an incoming call is received. The verification can be disabled by setting the interface into insecure mode using isdnctrl name secure off. If the list is empty, incoming calls are disabled. More than one number can be added by calling isdnctrl addphone repeatedly. Also wildcards can be used (see below).

delphone name in|out num
    Removes phone number num from the incoming or outgoing phone list.

eaz name [num]
    Set the EAZ (German 1TR6 protocol) or MSN (Euro-ISDN E-DSS1) for ISDN interface name to num. For an EAZ this is only one digit, while for an MSN num is the whole MSN (usually the local phone number). If num is omitted, isdnctrl prints the current setting for ISDN interface name.

huptimeout name [seconds]
    Set the hangup timeout for ISDN 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 isdnctrl prints the current setting for interface name.

cbdelay name [seconds]
    Set the callback delay for ISDN interface name to seconds. If callback mode for this interface is in, dialing is delayed the given time. If the callback mode is 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 isdnctrl prints the current setting for interface name.

dialmax name [num]
    Set the number of dial attempts for ISDN interface name to num. If dialing, each phone number is tried this many times before giving up. If num is omitted isdnctrl prints the current setting for interface name.

ihup name [on|off]
    Turn on or off the hangup timeout for incoming calls on interface name. If on or off is omitted the current setting is printed.

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 on or off is omitted the current setting is printed.

chargeint name [seconds]
    If seconds are given, the charge interval for the given interface is set. This may be useful on ISDN lines with no chargeinfo or no online chargeinfo. The connection will be closed 2 seconds before the end of the next estimated charge interval if huptimeout seconds of inactivity have been reached. If ihup is on, incoming connections are closed by this mechanism also. On lines with online charge info you also might ask by chargeint name for the current charge interval as delivered from the telecom on a given interface.

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 can be found in the incoming access list. See description of action addphone for information about how to add numbers to this list. If on or off is omitted, the current setting is printed.

callback name [mode]
    Set callback mode for interface name to mode mode. If callback mode is in, then after getting an incoming call, a callback is triggered. If callback mode is out, then the local system does the initial call and then waits for callback of the remote machine. The option on is available only for compatibility with older versions. Its meaning is the same like in. If callback mode is off, calls are handled normally without special processing.

cbhup name [on|off]
    Turns on or off Hangup (Reject) for interface name before starting callback. If cbhup is on, when receiving an incoming call, the interface first rejects that call before the callback sequence is started. If on or off is omitted, the current setting is printed.

encap name [encapsulation]
    Set the encapsulation mode for interface name. Possible encapsulations are:

    rawip
    raw ip encapsulation (default)

    ip
    IP + typefield encapsulation

    cisco-h
    Special mode for communicating with a Cisco in HDLC-mode with Cisco-keepalive switched off.

    ethernet
    ethernet over ISDN (MAC-header included)

    syncppp
    Synchronous PPP over ISDN

    uihdlc
    raw ip with additional ui-header

    cisco-hk
    Special mode for communicating with a Cisco in HDLC-mode with Cisco-keepalive switched on.

    x25iface
    Provides an interface as required by the Linux X.25 PLP protocol implementation (requires Linux 2.1.x or newer).

If encapsulation is omitted, the current setting is printed.

l2_prot name [protocol]
    Set the layer-2 protocol for interface name. Possible values for protocol are:
    x75i, x75ui, x75bui and hdlc. If protocol is omitted the current setting is printed.

l3_prot  name  [ protocol ]
    Set the layer-3 protocol for interface name. At the moment only trans is supported here. If protocol is omitted the current setting is printed.

list name
    List all parameters and the charge info for interface name. If name is all, then all interfaces are listed.

status name
    Show the connection status for interface name. The output can be one of the following types:

    ippp0 not connected
    There is no connection

    ippp0 connected to 0123456789
    There is an outgoing connection to phone number 0123456789

    ippp0 connected from 0123456789
    There is an incoming connection from phone number 0123456789
If the interface is connected, the exit status of the command is true, else it is false.
If name is all, then the connection status for all interfaces is shown. The exit status is always true in this case.
If name is active, then only those interfaces that are currently connected are shown. The exit status is always true in this case.

verbose num
    Set verbosity level to num.

hangup name
    The connection of interface name is closed immediately.

bind name driverId,channel [exclusive]
    Binds an interface name to a physical channel. The driverId identifies a specific S0-Port. The channels of a port start counting with zero. If exclusive is given, other interfaces cannot use that channel anymore. Otherwise, the channel may be used by other interfaces.

unbind name
    Unbinds a the previously bound interface name.

pppbind name [num]
    Binds the interface name to an ippp device /dev/ipppnum. This works only for synchronous ppp. The value must be a number. If num is omitted and name is called ipppX , then the interface is bound to /dev/ipppX.

pppunbind name
    Unbinds the previously bound interface name.

busreject driverId [on|off]
    If switched on, instead of ignoring incoming calls not matching any interface, isdn4linux responds with a REJECT to those calls. If switched off, isdn4linux is passive, allowing other devices connected to the same S0-bus to answer the call. 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.

addslave name slave
    Adds a slave interface named slave to interface name for raw channel-bundling. For bundling of more than two channels, any number of slaves can be added to an interface by using this command repeatedly. name must refer to an existing "master" interface (not a slave). Slave interfaces are not visible to the kernel, however all usual ISDN settings can be configured. Because slave interfaces are not visible to the kernel, they are configured "through" their "master", so it is important that slave interfaces are added before the corresponding "master" is started by ifconfig. If the "master" is already up, it has to be shutdown with ifconfig down ... otherwise the addslave command will be rejected.

sdelay name num
    Set delay for slave-dialing. The master interface name has to have a load of more than trigger cps for at least num seconds, before its slave starts dialing.
    Note that this only works for rawIP, not MPPP!

trigger name num
    Set trigger level for slave-dialing. The master interface name has to have a load of more than num cps for at least sdelay seconds, before its slave starts dialing.
    Note that this only works for rawIP, not MPPP!

addlink name
    For MPPP, this adds a slave interface to the existing connection, i.e. connect the extra channel now. It is like a dial command for the extra channel.
    This also means that addlink will only work if the master interface name must already be connected! Also, the dialmode for the slave interface must be auto.

removelink name
    For MPPP, this removes a slave interface from the existing connection, i.e. hangup the extra channel now.

dial name
    Force dialing of interface name.

mapping driverId MSN0[,MSN1[,MSN2]] ... [,MSN9]
    Installs a mapping-table for MSN<->EAZ-mapping. See README for details.

WILDCARDS
When using isdnctrl addphone name in num to add phone numbers to the incoming-call accept-list of an interface, wildcards similar to shell wildcards can be used. The following wildcards are supported:

?   one arbitrary digit

*   zero or arbitrary number of digits

[list]
    one of the digits in list

[1-5]
    one digit in the range of (including) 1 and 5.

^   if this appears as the first character in a list, inverts the list.

BUGS
This man page is not complete.

AUTHOR
Fritz Elfert <fritz@isdn4linux.de>

SEE ALSO
ttyI(4), isdnctrl(4), isdninfo(4), isdn_audio(4), isdn_cause(7).