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