home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 8 / CDACTUAL8.iso / docs / kernel-2.0 / isdn / readme < prev    next >
Encoding:
Text File  |  1996-07-11  |  27.3 KB  |  621 lines

  1. README for the ISDN-subsystem
  2.  
  3. 1. Preface
  4.  
  5.   1.1 Introduction
  6.  
  7.   This README describes how to set up and how to use the different parts
  8.   of the ISDN-subsystem.
  9.  
  10.   For using the ISDN-subsystem, some additional userlevel programs are
  11.   necessary. Those programs and some contributed utilities are available
  12.   at
  13.  
  14.    ftp.franken.de
  15.  
  16.    /pub/isdn4linux/isdn4k-utils-<VersionNumber>.tar.gz
  17.  
  18.  
  19.   We also have set up a mailing-list:
  20.  
  21.    The isdn4linux-project originates in Germany, and therefore by historical
  22.    reasons, the mailing-list's primary language is german. However mails
  23.    written in english have been welcome all the time.
  24.  
  25.    to subscribe: write a email to majordomo@hub-wue.franken.de,
  26.    Subject irrelevant, in the message body:
  27.    subscribe isdn4linux <your_email_address>
  28.  
  29.    To write to the mailing-list, write to isdn4linux@hub-wue.franken.de
  30.    
  31.  
  32.   1.1 Technical details
  33.  
  34.   In the following Text, the terms MSN and EAZ are used.
  35.  
  36.   MSN is the abbreviation for (M)ultiple(S)ubscriber(N)umber, and applies
  37.   to Euro(EDSS1)-type lines. Usually it is simply the phone-number.
  38.  
  39.   EAZ is the abbreviation of (E)ndgeraete(A)uswahl(Z)iffer and
  40.   applies to German 1TR6-type lines. This is a one-digit string,
  41.   simply appended to the base phone-number
  42.  
  43.   The internal handling is nearly identical, so replace the appropriate
  44.   term to that one, which applies to your local ISDN-environment.
  45.  
  46.   When the link-level-module isdn.o is loaded, it supports up to 16
  47.   low-level-modules with up to 64 channels. (The number 64 is arbitrarily
  48.   chosen and can be configured at compile-time --ISDN_MAX in isdn.h).
  49.   A low-level-driver can register itself through an interface (which is
  50.   defined in isdnif.h) and gets assigned a slot.
  51.   The following char-devices are made available for each channel:
  52.   
  53.   A raw-control-device with the following functions:
  54.      write: raw D-channel-messages (format: depends on driver).
  55.      read:  raw D-channel-messages (format: depends on driver).
  56.      ioctl: depends on driver, for the ICN-driver, the base-address of
  57.             the ports and the shared memory on the card can be set and read
  58.             also the boot-code an the protocol software can be loaded into 
  59.             the card.
  60.  
  61.    O N L Y !!!  for debugging (no locking against other devices):
  62.    One raw-data-device with the following functions:
  63.      write: data to B-channel.
  64.      read:  data from B-channel.
  65.  
  66.    In addition the following devices are made available:
  67.  
  68.    128 tty-devices (64 cuix and 64 ttyIx) with integrated modem-emulator:
  69.    The functionality is almost the same as that of a serial device
  70.    (the line-discs are handled by the kernel, which lets you run 
  71.    SLIP, CSLIP and asynchronous PPP through the devices. We have tested 
  72.    Seyon, minicom, CSLIP (uri-dip) PPP and mgetty (compiled with NO_FAX),
  73.    XCept.
  74.  
  75.    The modem-emulation supports the following:
  76.            1.3.1 Commands:
  77.  
  78.                ATA    Answer incoming call.
  79.            ATD<No.> Dial, the number may contain:
  80.                         [0-9] and [,#.*WPT-S]
  81.                         the latter are ignored until 'S'.
  82.                         The 'S' must precede the number, if 
  83.                         the line is a SPV (German 1TR6).
  84.                ATE0    Echo off.
  85.            ATE1     Echo on (default).
  86.                ATH      Hang-up.
  87.            ATH1     Off hook (ignored).
  88.                ATH0     Hang-up.
  89.            ATI      Return "ISDN for Linux...".
  90.                ATI0        "
  91.                ATI1        "
  92.                ATO      On line (data mode).
  93.                ATQ0     Enable result codes (default).
  94.                ATQ1     Disable result codes (default).
  95.                ATSx=y    Set register x to y.
  96.            ATSx?    Show contents of register x.
  97.                ATV0     Numeric responses.
  98.                ATV1     English responses (default).
  99.            ATZ      Load registers and EAZ/MSN from Profile.
  100.            AT&Bx    Set Send-Packet-size to x (max. 4000)
  101.                         The real packet-size may be limited by the
  102.                         low-level-driver used. i.e.: the Teles-Module-
  103.                         limit is 2000. You will get NO Error-Message,
  104.                         if you set it to higher Values, because at the
  105.                         time of giving this command the corresponding
  106.                         driver may not be selected (see "Automatic
  107.                         Assignment") however the size of outgoing packets
  108.                         will be limited correctly.
  109.            AT&D0    Ignore DTR
  110.            AT&D2    DTR-low-edge: Hang up and return to 
  111.                         command mode (default).
  112.                AT&D3    Same as AT&D2 but also resets all registers.
  113.            AT&Ex    Set the EAZ/MSN for this channel to x.
  114.            AT&F     Reset all registers and profile to "factory-defaults"
  115.            AT&Sx    Set window-size for Teles-driver (x = 1..8) (not yet
  116.                         implemented)
  117.            AT&V     Show all settings.
  118.                AT&W0    Write registers and EAZ/MSN to profile. See also
  119.                         iprofd (5.c in this README).
  120.                AT&X0    BTX-mode off (default)
  121.            AT&X1    BTX-mode on. (S13.1=1, S14=0, S16=7, S18=7, S19=0)
  122.  
  123.            For voice-mode commands refer to README.audio
  124.  
  125.        1.3.2 Escape sequence:
  126.                During a connection, the emulation reacts just like
  127.                a normal modem to the escape sequence <DELAY>+++<DELAY>.
  128.            (The escape character - default '+' - can be set in the
  129.                register 2).
  130.                The DELAY must at least be 1.5 seconds long and delay 
  131.                between the escape characters must not exceed 0.5 seconds.
  132.      
  133.            1.3.3 Registers:
  134.  
  135.               Nr.  Default  Description
  136.               0    0        Answer on ring number.
  137.                             (no auto-answer if S0=0).
  138.               1    0        Count of rings.
  139.               2    43       Escape character.
  140.                             (a value >= 128 disables the escape sequence).
  141.               3    13       Carriage return character (ASCII).
  142.               4    10       Line feed character (ASCII).
  143.               5    8        Backspace character (ASCII).
  144.               6    3        Delay in seconds before dialing.
  145.               7    60       Wait for carrier (ignored).
  146.               8    2        Pause time for comma (ignored)
  147.               9    6        Carrier detect time (ignored)
  148.              10    7        Carrier loss to disconnect time (ignored).
  149.              11    70       Touch tone timing (ignored).
  150.              12    69       Bit coded register:
  151.                             Bit 0:    0 = Suppress response messages.
  152.                                       1 = Show response messages.
  153.                             Bit 1:    0 = English response messages.
  154.                                       1 = Numeric response messages.
  155.                             Bit 2:    0 = Echo off.
  156.                                       1 = Echo on.
  157.                             Bit 3     0 = DCD always on.
  158.                                       1 = DCD follows carrier.
  159.                             Bit 4     0 = CTS follows RTS
  160.                                       1 = Ignore RTS, CTS always on.
  161.                             Bit 5     0 = return to command mode on DTR low.
  162.                                       1 = Same as 0 but also resets all
  163.                                           registers.
  164.                                       See also register 13, bit 2
  165.                             Bit 6     0 = DSR always on.
  166.                                       1 = DSR only on if channel is available.
  167.                             Bit 7     0 = Cisco-PPP-flag-hack off (default).
  168.                                       1 = Cisco-PPP-flag-hack on.
  169.              13   0         Bit coded register:
  170.                             Bit 0:    0 = Use delayed tty-send-algorithm
  171.                                       1 = Direct tty-send.
  172.                             Bit 1:    0 = T.70 protocol (Only for BTX!) off
  173.                                       1 = T.70 protocol (Only for BTX!) on
  174.                             Bit 2:    0 = Don't hangup on DTR low.
  175.                                       1 = Hangup on DTR low.
  176.          14   0         Layer-2 protocol:
  177.                       0 = X75/LAPB with I-frames
  178.                       1 = X75/LAPB with UI-frames
  179.                                       2 = X75/LAPB with BUI-frames
  180.                                       3 = HDLC
  181.                                       4 = Transparent (audio)
  182.              15   0         Layer-3 protocol: (at the moment always 0)
  183.                                       0 = transparent
  184.          16   250       Send-Packet-size/16
  185.              17   8         Window-size for Teles-driver (not yet implemented)
  186.              18   4         Bit coded register, Service-Octet-1 to accept,
  187.                             or to be used on dialout:
  188.                             Bit 0:    Service 1 (audio) when set.
  189.                             Bit 1:    Service 5 (BTX) when set.
  190.                             Bit 2:    Service 7 (data) when set.
  191.                             Note: It is possible to set more than one
  192.                                   bit. In this case, on incoming calls
  193.                                   the selected services are accepted,
  194.                                   and if the service is "audio", the
  195.                                   Layer-2-protocol is automatically
  196.                                   changed to 4 regardless of the setting
  197.                                   of register 14. On outgoing calls,
  198.                                   the most significant 1-bit is chosen to
  199.                                   select the outgoing service octet.
  200.              19   0         Service-Octet-2
  201.              20   0         Bit coded register (readonly)
  202.                             Service-Octet-1 of last call.
  203.                             Bit mapping is the same like register 18
  204.  
  205.   Last but not least a (at the moment fairly primitive) device to request
  206.   the line-status (/dev/isdninfo) is made available.
  207.  
  208.   Automatic assignment of devices to lines:
  209.  
  210.   All inactive physical lines are listening to all EAZs for incoming
  211.   calls and are NOT assigned to a specific tty or network interface.
  212.   When an incoming call is detected, the driver looks first for a network 
  213.   interfaces and then for an opened tty which:
  214.  
  215.   1. is configured for the same EAZ.
  216.   2. has the same protocol settings for the B-channel.
  217.   3. (only for network interfaces if the security flag is set)
  218.      contains the caller number in its access list.
  219.   4. Either the channel is not bound exclusively to another Net-interface, or
  220.      it is bound AND the other checks apply to exact this Interface.
  221.      (For usage of the bind-features, refer to the isdnctrl-man-page)
  222.  
  223.   Only when a matching interface or tty is found, the call is accepted
  224.   and the "connection" between the low-level-layer and the link-level-layer
  225.   is established and kept until the end of the connection.
  226.   In all other cases no connection is established. Isdn4linux can be
  227.   configured to either do NOTHING in this case (which is useful, if
  228.   other, external devices with the same EAZ/MSN are connected to the bus)
  229.   or to reject the call actively. (isdnctrl busreject ...)
  230.  
  231.   For an outgoing call, the inactive physical lines are searched.
  232.   The call is placed on the first physical line, which supports the
  233.   requested protocols for the B-channel. If a net-interface, however
  234.   is pre-bound to a channel, this channel is used directly.
  235.  
  236.   This makes it possible to configure several network interfaces and ttys
  237.   for one EAZ, if the network interfaces are set to secure operation.
  238.   If an incoming call matches one network interface, it gets connected to it.
  239.   If another incoming call for the same EAZ arrives, which does not match
  240.   a network interface, the first tty gets a "RING" and so on.
  241.   As soon as voice gets supported (with the availability of the Diehl-driver),
  242.   the service-identifier will be evaluated in addition.
  243.  
  244. 2 System prerequisites:
  245.  
  246.   ATTENTION! The program "insmod" from the Package "modules-1.2.8" (It's
  247.              on nearly all newer distributions) has a bug, which makes
  248.              it impossible to set both driver-Id's when loading the
  249.              icn-module for the Double-ICN-Card. A patch is supplied
  250.              in the utility-package called "insmod-1.2.8.patch". Change into
  251.              the source-directory of insmod, and type
  252.              "patch < insmod-1.2.8.patch". Then recompile it. This will fix
  253.              the bug.
  254.              This bug does NOT occur when using insmod with the Teles-driver
  255.              or a single ICN-card.
  256.  
  257. 3. Lowlevel-driver configuration.
  258.  
  259.    Configuration depends on how the drivers are built.
  260.  
  261.    3.1 Drivers built into the kernel.
  262.  
  263.      3.1.1 Teles driver.
  264.  
  265.        The Teles driver can be configured using the commandline-feature
  266.        while loading the kernel with LILO or LOADLIN. It accepts the
  267.        following syntax:
  268.  
  269.        teles=p0,i0,m0,d0[,p1,i1,m1,d1 ... ,pn,in,mn,dn][,idstring]
  270.  
  271.        where
  272.  
  273.          p0 = portbase of 1st card.                           (default: 0xd80)
  274.          i0 = irq of 1st card.                                (default: 15)
  275.          m0 = shared memory of 1st card.                      (default: 0xd0000)
  276.          d0 = D-channel protocol of 1st card. 1=1TR6, 2=EDSS1 (default: 2)
  277.  
  278.          p1,i1,m1,d1 = Parameters of second card (defaults: none)
  279.          pn,in,mn,d1 = Parameters of n'th card (up to 16 cards are supported)
  280.  
  281.          idstring = Driver-Id for accessing with utilities and identification
  282.                     when using a Line-monitor. (default: none)
  283.                     idstring must start with a character!
  284.  
  285.          The type of the card is determined by the port, irq and shared memory:
  286.  
  287.            port == 0, shared memory != 0          -> Teles S0-8
  288.            port != 0, shared memory != 0          -> Teles S0-16.0
  289.            port != 0, shared memory == 0          -> Teles S0-16.3
  290.  
  291.        ATTENTION:
  292.  
  293.        Due to limited hardware-capabilities, there is no way to check the
  294.        existence of a card. Therefore you need to be sure your card's setup
  295.        is correct. Also there are bugs in the printed manual of some newer
  296.        16.3 cards. Have a look to the kernel-syslog. With most of the cards,
  297.        you should see a line "HSCX version A:5 B:5" there.
  298.        
  299.      3.1.2 ICN driver.
  300.  
  301.        The ICN driver can be configured using the commandline-feature while
  302.        loading the kernel with LILO or LOADLIN. It accepts the following
  303.        syntax
  304.  
  305.        icn=p,m[,idstring1[,idstring2]]
  306.  
  307.        where
  308.  
  309.          p = portbase      (default: 0x320)
  310.          m = shared memory (default: 0xd0000)
  311.  
  312.        When using the ICN double card, you MUST define TWO idstrings.
  313.        idstring must start with a character!
  314.  
  315.        If you like to use more than one card, you can use the program
  316.        "icnctrl" from the utility-package to configure additional cards.
  317.        You need to configure shared memory only once, since the icn-driver
  318.        maps all cards into the same address-space.
  319.  
  320.        Using the "icnctrl"-utility, portbase and shared memory can also be
  321.        changed during runtime.
  322.  
  323.        The D-channel protocol is configured by loading different firmware
  324.        into the card's memory using the "icnctrl"-utility.
  325.  
  326.  
  327.    3.2 Drivers built as modules.
  328.  
  329.      3.2.1 Teles driver.
  330.  
  331.        The module teles.o can be configured during "insmod'ing" it by
  332.        appending its parameters to the insmod-commandline. The following
  333.        syntax is accepted:
  334.  
  335.        io=m0,i0,p0,d0[,m1,i1,p1,d1 ... ,mn,in,pn,dn] teles_id=idstring
  336.  
  337.        where
  338.  
  339.          m0,i0,p0,d0 ... mn,in,pn,dn have the same meanings like the
  340.                                      parameters described for the kernel-
  341.                                      version above. Watch out: different
  342.                                      sequence!
  343.  
  344.      3.2.2 ICN driver.
  345.  
  346.        The module icn.o can be configured during "insmod'ing" it by
  347.        appending its parameters to the insmod-commandline. The following
  348.        syntax is accepted:
  349.  
  350.        portbase=p membase=m icn_id=idstring icn_id2=idstring2
  351.  
  352.        where p, m, idstring1 and idstring2 have the same meanings like
  353.                                            parameters described for the kernel-
  354.                                            version above.
  355.       
  356.        When using the ICN double card, you MUST define TWO idstrings.
  357.        idstring must start with a character!
  358.  
  359.        Using the "icnctrl"-utility, the same features apply to the modularized
  360.        version like to the kernel-builtin one.
  361.  
  362.        The D-channel protocol is configured by loading different firmware
  363.        into the card's memory using the "icnctrl"-utility.
  364.  
  365. 4. Device-inodes
  366.  
  367.    The major and minor-numbers and its names are described in
  368.    Documentation/devices.txt. The major-numbers are:
  369.  
  370.      43 for the ISDN-tty's.
  371.      44 for the ISDN-callout-tty's.
  372.      45 for control/info/debug devices.
  373.  
  374.  
  375. 5. Application
  376.  
  377.    a) (Only for ICN-cards) Load the firmware into the card:
  378.  
  379.        cd icn
  380.      For 1TR6:
  381.        icnctrl [-d IDstring] load download/loadpg.bin download/pc_1t_ca.bin
  382.      For Euro-ISDN:
  383.        icnctrl [-d IDstring] load download/loadpg.bin download/pc_eu_ca.bin
  384.  
  385.      When using the ICN-4B, the protocol-software for the second half of
  386.      the card must be appended to the command line.
  387.  
  388.      -> The two LEDs at the back cover of the card (ICN-4B: 4 LEDs) must be
  389.         blinking intermittently now. If a connection is up, the corresponding
  390.         led is lit continuously.
  391.  
  392.      For loading pcbit-firmware, refer to Documentation/isdn/README.pcbit
  393.      and the pcbit manpage, included in the utility-package.
  394.  
  395.    b) If you only intend to use ttys, you are nearly ready now.
  396.  
  397.    c) If you want to have really permanent "Modem"-settings on disk, you
  398.       can start the daemon iprofd. Give it a path to a file at the command-
  399.       line. It will store the profile-settings in this file every time
  400.       an AT&W0 is performed on any ISDN-tty. If the file already exists,
  401.       all profiles are initialized from this file. If you want to unload
  402.       any of the modules, kill iprofd first.
  403.  
  404.    d) For networking, continue: Create an interface:
  405.        isdnctrl addif isdn0
  406.  
  407.    e) Set the EAZ (or MSN for Euro-ISDN):
  408.        isdnctrl eaz isdn0 2
  409.  
  410.      (For 1TR6 a single digit is allowed, for Euro-ISDN the number is your
  411.       real MSN e.g.: Phone-Number)
  412.  
  413.    f) Set the number for outgoing calls on the interface:
  414.        isdnctrl addphone isdn0 out 1234567
  415.        ... (this can be executed more than once, all assigned numbers are
  416.             tried in order)
  417.       and the number(s) for incoming calls:
  418.        isdnctrl addphone isdn0 in 1234567
  419.  
  420.    g) Set the timeout for hang-up:
  421.        isdnctrl huptimeout isdn0 <timeout_in_seconds>
  422.  
  423.    h) additionally you may activate charge-hang-up (= Hang up before 
  424.       next charge-info, this only works, if your isdn-provider transmits
  425.       the charge-info during and after the connection, it does NOT work
  426.       with the Teles on an EDSS1-Line.):
  427.        isdnctrl chargehup isdn0 on
  428.  
  429.    i) Setup the interface with ifconfig as usual, and set a route to it.
  430.  
  431.    j) (optional) If you run X11 and have Tcl/Tk-wish Version4.0, you can use
  432.      the script tools/tcltk/isdnmon. You can add actions for line-status
  433.      changes. See the comments at the beginning of the script for how to
  434.      do that. There are other tty-based tools in the tools-subdirectory
  435.      contributed by Michael Knigge (imon), Volker G÷tz (imontty) and
  436.      Andreas Kool (isdnmon).
  437.  
  438.    k) For initial testing, you can set the verbose-level to 2 (default: 0).
  439.       Then all incoming calls are logged, even if they are not addressed
  440.       to one of the configured net-interfaces:
  441.       isdnctrl verbose 2
  442.  
  443.   Now you are ready! A ping to the set address should now result in a
  444.   dial-out (look at syslog kernel-messages).
  445.   The phone-numbers and EAZs can be assigned at any time with isdnctrl.
  446.   You can add as many interfaces as you like with addif following the
  447.   directions above. Of course, there may be some limitations. But we have 
  448.   tested as many as 20 interfaces without any problem. However, if you 
  449.   don't give an interface name to addif, the  kernel will assign a name 
  450.   which starts with "eth". The number of "eth"-interfaces is limited by
  451.   the kernel.
  452.  
  453. 5. Additional options for isdnctrl:
  454.  
  455.    "isdnctrl secure <InterfaceName> on" 
  456.    Only incoming calls, for which the caller-id is listed in the access
  457.    list of the interface are accepted. You can add caller-id's With the
  458.    command "isdnctrl addphone <InterfaceName> in <caller-id>"
  459.    Euro-ISDN does not transmit the leading '0' of the caller-id for an
  460.    incoming call, therefore you should configure it accordingly.
  461.    If the real number for the dialout e.g. is "09311234567" the the number
  462.    to configure here is "9311234567". The pattern-match function 
  463.    works similar to the shell mechanism.
  464.  
  465.      ?     one arbitrary digit
  466.      *     zero or arbitrary many digits
  467.      [123] one of the digits in the list
  468.      [1-5] one digit between '1' and '5'
  469.            a '^' as the first character in a list inverts the list
  470.  
  471.  
  472.    "isdnctrl secure <InterfaceName> off" 
  473.    Switch of secure operation (default).
  474.  
  475.    "isdnctrl ihup <InterfaceName> [on|off]" 
  476.    Switch the hang-up-timer for incoming calls on or off.
  477.  
  478.    "isdnctrl eaz <InterfaceName>" 
  479.    Returns the EAZ of an interface.
  480.  
  481.    "isdnctrl delphone <InterfaceName> in|out <number>" 
  482.    Deletes a number from one of the the access-lists of the interface.
  483.  
  484.    "isdnctrl delif <InterfaceName>" 
  485.    Removes the interface (and possible slaves) from the kernel.
  486.    (You have to unregister it with "ifconfig <InterfaceName> down" before).
  487.  
  488.    "isdnctrl callback <InterfaceName> [on|off]" 
  489.    Switches an interface to callback-mode. In this mode, an incoming call
  490.    will be rejected and after this the remote-station will be called. If
  491.    you test this feature by using ping, some routers will re-dial very
  492.    quickly, so that the callback from isdn4linux may not be recognized.
  493.    In this case use ping with the option -i <sec> to increase the interval
  494.    between echo-packets.
  495.  
  496.    "isdnctrl cbdelay <InterfaceName> [seconds]"
  497.    Sets the delay (default 5 sec) between an incoming call and start of
  498.    dialing when callback is enabled.
  499.  
  500.    "isdnctrl cbhup <InterfaceName> [on|off]"
  501.    This enables (default) or disables an active hangup (reject) when getting an
  502.    incoming call for an interface which is configured for callback.
  503.  
  504.    "isdnctrl encap <InterfaceName> <EncapType>"
  505.    Selects the type of packet-encapsulation. The encapsulation can be changed
  506.    only while an interface is down.
  507.  
  508.    At the moment th following Values are supported:
  509.  
  510.    rawip    (Default) Selects raw-IP-encapsulation. This means, MAC-headers
  511.             are stripped off.  
  512.    ip       IP with type-field. Same as IP but the type-field of the MAC-header
  513.             is preserved.
  514.    cisco-h  A special-mode for communicating with a Cisco, which is configured
  515.             to do "hdlc"
  516.    ethernet No stripping. Packets are sent with full MAC-header.
  517.             The Ethernet-address of the interface is faked, from its
  518.             IP-address: fc:fc:i1:i2:i3:i4, where i1-4 are the IP-addr.-values.
  519.    syncppp  Synchronous PPP
  520.  
  521.    uihdlc   HDLC with UI-frame-header (for use with DOS ISPA, option -h1)
  522.  
  523.    Watching packets, using standard-tcpdump will fail for all encapsulations
  524.    except ethernet because tcpdump does not know how to handle packets
  525.    without MAC-header. A patch for tcpdump is included in the utility-package
  526.    mentioned above.
  527.  
  528.    "isdnctrl l2_prot <InterfaceName> <L2-ProtocolName>" 
  529.    Selects a layer-2-protocol. 
  530.    (With the ICN-driver and the Teles-driver, "x75i" and "hdlc" is available.
  531.    With other drivers, "x75ui", "x75bui" may be possible too.)
  532.  
  533.    isdnctrl l3_prot <InterfaceName> <L3-ProtocolName> 
  534.    The same for layer-3. (At the moment only "trans" is allowed)
  535.  
  536.    "isdnctrl list <InterfaceName>" 
  537.    Shows all parameters of an interface and the charge-info.
  538.    Try "all" as the interface name.
  539.  
  540.    "isdnctrl hangup <InterfaceName>"
  541.    Forces hangup of an interface.
  542.  
  543.    "isdnctrl bind <InterfaceName> <DriverId>,<ChannelNumber> [exclusive]"
  544.    If you are using more than one ISDN-Card, it is sometimes necessary to
  545.    dial out using a specific Card or even preserve a specific Channel for
  546.    Dialout of a specific net-interface. This can be done with the above
  547.    command. Replace <DriverId> by whatever you assigned while loading the
  548.    module. The <ChannelNumber> is counting from zero. the upper Limit
  549.    depends on the card used. At the Moment no card supports more than
  550.    2 Channels, so the upper limit is one.
  551.  
  552.    "isdnctrl unbind <InterfaceName>"
  553.    unbinds a previously bound interface.
  554.  
  555.    "isdnctrl busreject <DriverId> on|off"
  556.    If switched on, isdn4linux replies a REJECT to incoming calls, it
  557.    cannot match to any configured interface.
  558.    If switched off, nothing happens in this case.
  559.    You normally should NOT enable this feature, if the ISDN-adaptor is not
  560.    the only device, connected to the S0-bus. Otherwise it could happen, that
  561.    isdn4linux rejects an incoming call, which belongs to another device on
  562.    the bus. 
  563.  
  564.    "isdnctrl addslave <InterfaceName> <SlaveName>
  565.    Creates a slave interface for channel-bundling. Slave interfaces are
  566.    not seen by the kernel, but their ISDN-part can be configured with
  567.    isdnctrl as usual. (Phone numbers, EAZ/MSN, timeouts etc.) If more
  568.    than two channels are to be bundled, feel free to create as many as you
  569.    want. InterfaceName must be a real interface, NOT a slave. Slave interfaces
  570.    start dialing, if the master interface resp. the previous slave interface
  571.    has a load of more than 7000 cps. They hangup if the load goes under 7000
  572.    cps, according to their "huptimeout"-parameter.
  573.  
  574.    "isdnctrl sdelay <InterfaceName> secs."
  575.    This sets the minimum time an Interface has to be fully loaded, until
  576.    it sends a dial-request to its slave.
  577.  
  578.    "isdnctrl dial <InterfaceName>"
  579.    Forces an interface to start dialing even if no packets are to be
  580.    transferred.
  581.  
  582.    "isdnctrl mapping <DriverId> MSN0,MSN1,MSN2,...MSN9"
  583.    This installs a mapping table for EAZ<->MSN-mapping for a single line.
  584.    Missing MSN's have to be given as "-" or can be omitted, if at the end
  585.    of the commandline.
  586.    With this command, it's now possible to have an interface listening to
  587.    mixed 1TR6- and Euro-Type lines. In this case, the interface has to be
  588.    configured to a 1TR6-type EAZ (one digit). The mapping is also valid
  589.    for tty-emulation. Seen from the interface/tty-level the mapping
  590.    CAN be used, however it's possible to use single tty's/interfaces with
  591.    real MSN's (more digits) also, in which case the mapping will be ignored.
  592.    Here is an example:
  593.  
  594.    You have a 1TR6-type line with base-nr. 1234567 and a Euro-line with
  595.    MSN's 987654, 987655 and 987656. The DriverId for the Euro-line is "EURO".
  596.  
  597.    isdnctrl mapping EURO -,987654,987655,987656,-,987655
  598.    ...
  599.    isdnctrl eaz isdn0 1      # listen on 12345671(1tr6) and 987654(euro)
  600.    ...
  601.    isdnctrl eaz isdn1 4      # listen on 12345674(1tr6) only.
  602.    ...
  603.    isdnctrl eaz isdn2 987654 # listen on 987654(euro) only.
  604.    
  605.    Same scheme is used with AT&E...  at the tty's.
  606.   
  607. 6. If you want to write a new low-level-driver, you are welcome.
  608.    The interface to the link-level-module is described in the file INTERFACE.
  609.    If the interface should be expanded for any reason, don't do it
  610.    on your own, send me a mail containing the proposed changes and
  611.    some reasoning about them.
  612.    If other drivers will not be affected, I will include the changes
  613.    in the next release.
  614.    For developers only, there is a second mailing-list. Write to me
  615.    (fritz@wuemaus.franken.de), if you want to join that list.
  616.  
  617. Have fun!
  618.  
  619.  -Fritz
  620.  
  621.