| README for the ISDN-subsystem |
| |
| 1. Preface |
| |
| 1.1 Introduction |
| |
| This README describes how to set up and how to use the different parts |
| of the ISDN-subsystem. |
| |
| For using the ISDN-subsystem, some additional userlevel programs are |
| necessary. Those programs and some contributed utilities are available |
| at |
| |
| ftp.isdn4linux.de |
| |
| /pub/isdn4linux/isdn4k-utils-<VersionNumber>.tar.gz |
| |
| |
| We also have set up a mailing-list: |
| |
| The isdn4linux-project originates in Germany, and therefore by historical |
| reasons, the mailing-list's primary language is german. However mails |
| written in english have been welcome all the time. |
| |
| to subscribe: write a email to majordomo@listserv.isdn4linux.de, |
| Subject irrelevant, in the message body: |
| subscribe isdn4linux <your_email_address> |
| |
| To write to the mailing-list, write to isdn4linux@listserv.isdn4linux.de |
| |
| This mailinglist is bidirectionally gated to the newsgroup |
| |
| de.alt.comm.isdn4linux |
| |
| There is also a well maintained FAQ in English available at |
| http://www.mhessler.de/i4lfaq/ |
| It can be viewed online, or downloaded in sgml/text/html format. |
| The FAQ can also be viewed online at |
| http://www.isdn4linux.de/faq/ |
| or downloaded from |
| ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/ |
| |
| 1.1 Technical details |
| |
| In the following Text, the terms MSN and EAZ are used. |
| |
| MSN is the abbreviation for (M)ultiple(S)ubscriber(N)umber, and applies |
| to Euro(EDSS1)-type lines. Usually it is simply the phone number. |
| |
| EAZ is the abbreviation of (E)ndgeraete(A)uswahl(Z)iffer and |
| applies to German 1TR6-type lines. This is a one-digit string, |
| simply appended to the base phone number |
| |
| The internal handling is nearly identical, so replace the appropriate |
| term to that one, which applies to your local ISDN-environment. |
| |
| When the link-level-module isdn.o is loaded, it supports up to 16 |
| low-level-modules with up to 64 channels. (The number 64 is arbitrarily |
| chosen and can be configured at compile-time --ISDN_MAX in isdn.h). |
| A low-level-driver can register itself through an interface (which is |
| defined in isdnif.h) and gets assigned a slot. |
| The following char-devices are made available for each channel: |
| |
| A raw-control-device with the following functions: |
| write: raw D-channel-messages (format: depends on driver). |
| read: raw D-channel-messages (format: depends on driver). |
| ioctl: depends on driver, i.e. for the ICN-driver, the base-address of |
| the ports and the shared memory on the card can be set and read |
| also the boot-code and the protocol software can be loaded into |
| the card. |
| |
| O N L Y !!! for debugging (no locking against other devices): |
| One raw-data-device with the following functions: |
| write: data to B-channel. |
| read: data from B-channel. |
| |
| In addition the following devices are made available: |
| |
| 128 tty-devices (64 cuix and 64 ttyIx) with integrated modem-emulator: |
| The functionality is almost the same as that of a serial device |
| (the line-discs are handled by the kernel), which lets you run |
| SLIP, CSLIP and asynchronous PPP through the devices. We have tested |
| Seyon, minicom, CSLIP (uri-dip) PPP, mgetty, XCept and Hylafax. |
| |
| The modem-emulation supports the following: |
| 1.3.1 Commands: |
| |
| ATA Answer incoming call. |
| ATD<No.> Dial, the number may contain: |
| [0-9] and [,#.*WPT-S] |
| the latter are ignored until 'S'. |
| The 'S' must precede the number, if |
| the line is a SPV (German 1TR6). |
| ATE0 Echo off. |
| ATE1 Echo on (default). |
| ATH Hang-up. |
| ATH1 Off hook (ignored). |
| ATH0 Hang-up. |
| ATI Return "ISDN for Linux...". |
| ATI0 " |
| ATI1 " |
| ATI2 Report of last connection. |
| ATO On line (data mode). |
| ATQ0 Enable result codes (default). |
| ATQ1 Disable result codes (default). |
| ATSx=y Set register x to y. |
| ATSx? Show contents of register x. |
| ATV0 Numeric responses. |
| ATV1 English responses (default). |
| ATZ Load registers and EAZ/MSN from Profile. |
| AT&Bx Set Send-Packet-size to x (max. 4000) |
| The real packet-size may be limited by the |
| low-level-driver used. e.g. the HiSax-Module- |
| limit is 2000. You will get NO Error-Message, |
| if you set it to higher values, because at the |
| time of giving this command the corresponding |
| driver may not be selected (see "Automatic |
| Assignment") however the size of outgoing packets |
| will be limited correctly. |
| AT&D0 Ignore DTR |
| AT&D2 DTR-low-edge: Hang up and return to |
| command mode (default). |
| AT&D3 Same as AT&D2 but also resets all registers. |
| AT&Ex Set the EAZ/MSN for this channel to x. |
| AT&F Reset all registers and profile to "factory-defaults" |
| AT&Lx Set list of phone numbers to listen on. x is a |
| list of wildcard patterns separated by semicolon. |
| If this is set, it has precedence over the MSN set |
| by AT&E. |
| AT&Rx Select V.110 bitrate adaption. |
| This command enables V.110 protocol with 9600 baud |
| (x=9600), 19200 baud (x=19200) or 38400 baud |
| (x=38400). A value of x=0 disables V.110 switching |
| back to default X.75. This command sets the following |
| Registers: |
| Reg 14 (Layer-2 protocol): |
| x = 0: 0 |
| x = 9600: 7 |
| x = 19200: 8 |
| x = 38400: 9 |
| Reg 18.2 = 1 |
| Reg 19 (Additional Service Indicator): |
| x = 0: 0 |
| x = 9600: 197 |
| x = 19200: 199 |
| x = 38400: 198 |
| Note on value in Reg 19: |
| There is _NO_ common convention for 38400 baud. |
| The value 198 is chosen arbitrarily. Users |
| _MUST_ negotiate this value before establishing |
| a connection. |
| AT&Sx Set window-size (x = 1..8) (not yet implemented) |
| AT&V Show all settings. |
| AT&W0 Write registers and EAZ/MSN to profile. See also |
| iprofd (5.c in this README). |
| AT&X0 BTX-mode and T.70-mode off (default) |
| AT&X1 BTX-mode on. (S13.1=1, S13.5=0 S14=0, S16=7, S18=7, S19=0) |
| AT&X2 T.70-mode on. (S13.1=1, S13.5=1, S14=0, S16=7, S18=7, S19=0) |
| AT+Rx Resume a suspended call with CallID x (x = 1,2,3...) |
| AT+Sx Suspend a call with CallID x (x = 1,2,3...) |
| |
| For voice-mode commands refer to README.audio |
| |
| 1.3.2 Escape sequence: |
| During a connection, the emulation reacts just like |
| a normal modem to the escape sequence <DELAY>+++<DELAY>. |
| (The escape character - default '+' - can be set in the |
| register 2). |
| The DELAY must at least be 1.5 seconds long and delay |
| between the escape characters must not exceed 0.5 seconds. |
| |
| 1.3.3 Registers: |
| |
| Nr. Default Description |
| 0 0 Answer on ring number. |
| (no auto-answer if S0=0). |
| 1 0 Count of rings. |
| 2 43 Escape character. |
| (a value >= 128 disables the escape sequence). |
| 3 13 Carriage return character (ASCII). |
| 4 10 Line feed character (ASCII). |
| 5 8 Backspace character (ASCII). |
| 6 3 Delay in seconds before dialing. |
| 7 60 Wait for carrier. |
| 8 2 Pause time for comma (ignored) |
| 9 6 Carrier detect time (ignored) |
| 10 7 Carrier loss to disconnect time (ignored). |
| 11 70 Touch tone timing (ignored). |
| 12 69 Bit coded register: |
| Bit 0: 0 = Suppress response messages. |
| 1 = Show response messages. |
| Bit 1: 0 = English response messages. |
| 1 = Numeric response messages. |
| Bit 2: 0 = Echo off. |
| 1 = Echo on. |
| Bit 3 0 = DCD always on. |
| 1 = DCD follows carrier. |
| Bit 4 0 = CTS follows RTS |
| 1 = Ignore RTS, CTS always on. |
| Bit 5 0 = return to command mode on DTR low. |
| 1 = Same as 0 but also resets all |
| registers. |
| See also register 13, bit 2 |
| Bit 6 0 = DSR always on. |
| 1 = DSR only on if channel is available. |
| Bit 7 0 = Cisco-PPP-flag-hack off (default). |
| 1 = Cisco-PPP-flag-hack on. |
| 13 0 Bit coded register: |
| Bit 0: 0 = Use delayed tty-send-algorithm |
| 1 = Direct tty-send. |
| Bit 1: 0 = T.70 protocol (Only for BTX!) off |
| 1 = T.70 protocol (Only for BTX!) on |
| Bit 2: 0 = Don't hangup on DTR low. |
| 1 = Hangup on DTR low. |
| Bit 3: 0 = Standard response messages |
| 1 = Extended response messages |
| Bit 4: 0 = CALLER NUMBER before every RING. |
| 1 = CALLER NUMBER after first RING. |
| Bit 5: 0 = T.70 extended protocol off |
| 1 = T.70 extended protocol on |
| Bit 6: 0 = Special RUNG Message off |
| 1 = Special RUNG Message on |
| "RUNG" is delivered on a ttyI, if |
| an incoming call happened (RING) and |
| the remote party hung up before any |
| local ATA was given. |
| Bit 7: 0 = Don't show display messages from net |
| 1 = Show display messages from net |
| (S12 Bit 1 must be 0 too) |
| 14 0 Layer-2 protocol: |
| 0 = X75/LAPB with I-frames |
| 1 = X75/LAPB with UI-frames |
| 2 = X75/LAPB with BUI-frames |
| 3 = HDLC |
| 4 = Transparent (audio) |
| 7 = V.110, 9600 baud |
| 8 = V.110, 19200 baud |
| 9 = V.110, 38400 baud |
| 10 = Analog Modem (only if hardware supports this) |
| 11 = Fax G3 (only if hardware supports this) |
| 15 0 Layer-3 protocol: |
| 0 = transparent |
| 1 = transparent with audio features (e.g. DSP) |
| 2 = Fax G3 Class 2 commands (S14 has to be set to 11) |
| 3 = Fax G3 Class 1 commands (S14 has to be set to 11) |
| 16 250 Send-Packet-size/16 |
| 17 8 Window-size (not yet implemented) |
| 18 4 Bit coded register, Service-Octet-1 to accept, |
| or to be used on dialout: |
| Bit 0: Service 1 (audio) when set. |
| Bit 1: Service 5 (BTX) when set. |
| Bit 2: Service 7 (data) when set. |
| Note: It is possible to set more than one |
| bit. In this case, on incoming calls |
| the selected services are accepted, |
| and if the service is "audio", the |
| Layer-2-protocol is automatically |
| changed to 4 regardless of the setting |
| of register 14. On outgoing calls, |
| the most significant 1-bit is chosen to |
| select the outgoing service octet. |
| 19 0 Service-Octet-2 |
| 20 0 Bit coded register (readonly) |
| Service-Octet-1 of last call. |
| Bit mapping is the same as register 18 |
| 21 0 Bit coded register (readonly) |
| Set on incoming call (during RING) to |
| octet 3 of calling party number IE (Numbering plan) |
| See section 4.5.10 of ITU Q.931 |
| 22 0 Bit coded register (readonly) |
| Set on incoming call (during RING) to |
| octet 3a of calling party number IE (Screening info) |
| See section 4.5.10 of ITU Q.931 |
| 23 0 Bit coded register: |
| Bit 0: 0 = Add CPN to RING message off |
| 1 = Add CPN to RING message on |
| Bit 1: 0 = Add CPN to FCON message off |
| 1 = Add CPN to FCON message on |
| Bit 2: 0 = Add CDN to RING/FCON message off |
| 1 = Add CDN to RING/FCON message on |
| |
| Last but not least a (at the moment fairly primitive) device to request |
| the line-status (/dev/isdninfo) is made available. |
| |
| Automatic assignment of devices to lines: |
| |
| All inactive physical lines are listening to all EAZs for incoming |
| calls and are NOT assigned to a specific tty or network interface. |
| When an incoming call is detected, the driver looks first for a network |
| interface and then for an opened tty which: |
| |
| 1. is configured for the same EAZ. |
| 2. has the same protocol settings for the B-channel. |
| 3. (only for network interfaces if the security flag is set) |
| contains the caller number in its access list. |
| 4. Either the channel is not bound exclusively to another Net-interface, or |
| it is bound AND the other checks apply to exactly this interface. |
| (For usage of the bind-features, refer to the isdnctrl-man-page) |
| |
| Only when a matching interface or tty is found is the call accepted |
| and the "connection" between the low-level-layer and the link-level-layer |
| is established and kept until the end of the connection. |
| In all other cases no connection is established. Isdn4linux can be |
| configured to either do NOTHING in this case (which is useful, if |
| other, external devices with the same EAZ/MSN are connected to the bus) |
| or to reject the call actively. (isdnctrl busreject ...) |
| |
| For an outgoing call, the inactive physical lines are searched. |
| The call is placed on the first physical line, which supports the |
| requested protocols for the B-channel. If a net-interface, however |
| is pre-bound to a channel, this channel is used directly. |
| |
| This makes it possible to configure several network interfaces and ttys |
| for one EAZ, if the network interfaces are set to secure operation. |
| If an incoming call matches one network interface, it gets connected to it. |
| If another incoming call for the same EAZ arrives, which does not match |
| a network interface, the first tty gets a "RING" and so on. |
| |
| 2 System prerequisites: |
| |
| ATTENTION! |
| |
| Always use the latest module utilities. The current version is |
| named in Documentation/Changes. Some old versions of insmod |
| are not capable of setting the driver-Ids correctly. |
| |
| 3. Lowlevel-driver configuration. |
| |
| Configuration depends on how the drivers are built. See the |
| README.<yourDriver> for information on driver-specific setup. |
| |
| 4. Device-inodes |
| |
| The major and minor numbers and their names are described in |
| Documentation/admin-guide/devices.rst. The major numbers are: |
| |
| 43 for the ISDN-tty's. |
| 44 for the ISDN-callout-tty's. |
| 45 for control/info/debug devices. |
| |
| 5. Application |
| |
| a) For some card-types, firmware has to be loaded into the cards, before |
| proceeding with device-independent setup. See README.<yourDriver> |
| for how to do that. |
| |
| b) If you only intend to use ttys, you are nearly ready now. |
| |
| c) If you want to have really permanent "Modem"-settings on disk, you |
| can start the daemon iprofd. Give it a path to a file at the command- |
| line. It will store the profile-settings in this file every time |
| an AT&W0 is performed on any ISDN-tty. If the file already exists, |
| all profiles are initialized from this file. If you want to unload |
| any of the modules, kill iprofd first. |
| |
| d) For networking, continue: Create an interface: |
| isdnctrl addif isdn0 |
| |
| e) Set the EAZ (or MSN for Euro-ISDN): |
| isdnctrl eaz isdn0 2 |
| |
| (For 1TR6 a single digit is allowed, for Euro-ISDN the number is your |
| real MSN e.g.: Phone-Number) |
| |
| f) Set the number for outgoing calls on the interface: |
| isdnctrl addphone isdn0 out 1234567 |
| ... (this can be executed more than once, all assigned numbers are |
| tried in order) |
| and the number(s) for incoming calls: |
| isdnctrl addphone isdn0 in 1234567 |
| |
| g) Set the timeout for hang-up: |
| isdnctrl huptimeout isdn0 <timeout_in_seconds> |
| |
| h) additionally you may activate charge-hang-up (= Hang up before |
| next charge-info, this only works, if your isdn-provider transmits |
| the charge-info during and after the connection): |
| isdnctrl chargehup isdn0 on |
| |
| i) Set the dial mode of the interface: |
| isdnctrl dialmode isdn0 auto |
| "off" means that you (or the system) cannot make any connection |
| (neither incoming or outgoing connections are possible). Use |
| this if you want to be sure that no connections will be made. |
| "auto" means that the interface is in auto-dial mode, and will |
| attempt to make a connection whenever a network data packet needs |
| the interface's link. Note that this can cause unexpected dialouts, |
| and lead to a high phone bill! Some daemons or other pc's that use |
| this interface can cause this. |
| Incoming connections are also possible. |
| "manual" is a dial mode created to prevent the unexpected dialouts. |
| In this mode, the interface will never make any connections on its |
| own. You must explicitly initiate a connection with "isdnctrl dial |
| isdn0". However, after an idle time of no traffic as configured for |
| the huptimeout value with isdnctrl, the connection _will_ be ended. |
| If you don't want any automatic hangup, set the huptimeout value to 0. |
| "manual" is the default. |
| |
| j) Setup the interface with ifconfig as usual, and set a route to it. |
| |
| k) (optional) If you run X11 and have Tcl/Tk-wish version 4.0, you can use |
| the script tools/tcltk/isdnmon. You can add actions for line-status |
| changes. See the comments at the beginning of the script for how to |
| do that. There are other tty-based tools in the tools-subdirectory |
| contributed by Michael Knigge (imon), Volker Götz (imontty) and |
| Andreas Kool (isdnmon). |
| |
| l) For initial testing, you can set the verbose-level to 2 (default: 0). |
| Then all incoming calls are logged, even if they are not addressed |
| to one of the configured net-interfaces: |
| isdnctrl verbose 2 |
| |
| Now you are ready! A ping to the set address should now result in an |
| automatic dial-out (look at syslog kernel-messages). |
| The phone numbers and EAZs can be assigned at any time with isdnctrl. |
| You can add as many interfaces as you like with addif following the |
| directions above. Of course, there may be some limitations. But we have |
| tested as many as 20 interfaces without any problem. However, if you |
| don't give an interface name to addif, the kernel will assign a name |
| which starts with "eth". The number of "eth"-interfaces is limited by |
| the kernel. |
| |
| 5. Additional options for isdnctrl: |
| |
| "isdnctrl secure <InterfaceName> on" |
| Only incoming calls, for which the caller-id is listed in the access |
| list of the interface are accepted. You can add caller-id's With the |
| command "isdnctrl addphone <InterfaceName> in <caller-id>" |
| Euro-ISDN does not transmit the leading '0' of the caller-id for an |
| incoming call, therefore you should configure it accordingly. |
| If the real number for the dialout e.g. is "09311234567" the number |
| to configure here is "9311234567". The pattern-match function |
| works similar to the shell mechanism. |
| |
| ? one arbitrary digit |
| * zero or arbitrary many digits |
| [123] one of the digits in the list |
| [1-5] one digit between '1' and '5' |
| a '^' as the first character in a list inverts the list |
| |
| |
| "isdnctrl secure <InterfaceName> off" |
| Switch off secure operation (default). |
| |
| "isdnctrl ihup <InterfaceName> [on|off]" |
| Switch the hang-up-timer for incoming calls on or off. |
| |
| "isdnctrl eaz <InterfaceName>" |
| Returns the EAZ of an interface. |
| |
| "isdnctrl delphone <InterfaceName> in|out <number>" |
| Deletes a number from one of the access-lists of the interface. |
| |
| "isdnctrl delif <InterfaceName>" |
| Removes the interface (and possible slaves) from the kernel. |
| (You have to unregister it with "ifconfig <InterfaceName> down" before). |
| |
| "isdnctrl callback <InterfaceName> [on|off]" |
| Switches an interface to callback-mode. In this mode, an incoming call |
| will be rejected and after this the remote-station will be called. If |
| you test this feature by using ping, some routers will re-dial very |
| quickly, so that the callback from isdn4linux may not be recognized. |
| In this case use ping with the option -i <sec> to increase the interval |
| between echo-packets. |
| |
| "isdnctrl cbdelay <InterfaceName> [seconds]" |
| Sets the delay (default 5 sec) between an incoming call and start of |
| dialing when callback is enabled. |
| |
| "isdnctrl cbhup <InterfaceName> [on|off]" |
| This enables (default) or disables an active hangup (reject) when getting an |
| incoming call for an interface which is configured for callback. |
| |
| "isdnctrl encap <InterfaceName> <EncapType>" |
| Selects the type of packet-encapsulation. The encapsulation can be changed |
| only while an interface is down. |
| |
| At the moment the following values are supported: |
| |
| rawip (Default) Selects raw-IP-encapsulation. This means, MAC-headers |
| are stripped off. |
| ip IP with type-field. Same as IP but the type-field of the MAC-header |
| is preserved. |
| x25iface X.25 interface encapsulation (first byte semantics as defined in |
| ../networking/x25-iface.txt). Use this for running the linux |
| X.25 network protocol stack (AF_X25 sockets) on top of isdn. |
| cisco-h A special-mode for communicating with a Cisco, which is configured |
| to do "hdlc" |
| ethernet No stripping. Packets are sent with full MAC-header. |
| The Ethernet-address of the interface is faked, from its |
| IP-address: fc:fc:i1:i2:i3:i4, where i1-4 are the IP-addr.-values. |
| syncppp Synchronous PPP |
| |
| uihdlc HDLC with UI-frame-header (for use with DOS ISPA, option -h1) |
| |
| |
| NOTE: x25iface encapsulation is currently experimental. Please |
| read README.x25 for further details |
| |
| |
| Watching packets, using standard-tcpdump will fail for all encapsulations |
| except ethernet because tcpdump does not know how to handle packets |
| without MAC-header. A patch for tcpdump is included in the utility-package |
| mentioned above. |
| |
| "isdnctrl l2_prot <InterfaceName> <L2-ProtocolName>" |
| Selects a layer-2-protocol. |
| (With the ICN-driver and the HiSax-driver, "x75i" and "hdlc" is available. |
| With other drivers, "x75ui", "x75bui", "x25dte", "x25dce" may be |
| possible too. See README.x25 for x25 related l2 protocols.) |
| |
| isdnctrl l3_prot <InterfaceName> <L3-ProtocolName> |
| The same for layer-3. (At the moment only "trans" is allowed) |
| |
| "isdnctrl list <InterfaceName>" |
| Shows all parameters of an interface and the charge-info. |
| Try "all" as the interface name. |
| |
| "isdnctrl hangup <InterfaceName>" |
| Forces hangup of an interface. |
| |
| "isdnctrl bind <InterfaceName> <DriverId>,<ChannelNumber> [exclusive]" |
| If you are using more than one ISDN card, it is sometimes necessary to |
| dial out using a specific card or even preserve a specific channel for |
| dialout of a specific net-interface. This can be done with the above |
| command. Replace <DriverId> by whatever you assigned while loading the |
| module. The <ChannelNumber> is counted from zero. The upper limit |
| depends on the card used. At the moment no card supports more than |
| 2 channels, so the upper limit is one. |
| |
| "isdnctrl unbind <InterfaceName>" |
| unbinds a previously bound interface. |
| |
| "isdnctrl 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. |
| You normally should NOT enable this feature, if the ISDN adapter 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. |
| |
| "isdnctrl addslave <InterfaceName> <SlaveName> |
| Creates a slave interface for channel-bundling. Slave interfaces are |
| not seen by the kernel, but their ISDN-part can be configured with |
| isdnctrl as usual. (Phone numbers, EAZ/MSN, timeouts etc.) If more |
| than two channels are to be bundled, feel free to create as many as you |
| want. InterfaceName must be a real interface, NOT a slave. Slave interfaces |
| start dialing, if the master interface resp. the previous slave interface |
| has a load of more than 7000 cps. They hangup if the load goes under 7000 |
| cps, according to their "huptimeout"-parameter. |
| |
| "isdnctrl sdelay <InterfaceName> secs." |
| This sets the minimum time an Interface has to be fully loaded, until |
| it sends a dial-request to its slave. |
| |
| "isdnctrl dial <InterfaceName>" |
| Forces an interface to start dialing even if no packets are to be |
| transferred. |
| |
| "isdnctrl mapping <DriverId> MSN0,MSN1,MSN2,...MSN9" |
| This installs a mapping table for EAZ<->MSN-mapping for a single line. |
| Missing MSN's have to be given as "-" or can be omitted, if at the end |
| of the commandline. |
| With this command, it's now possible to have an interface listening to |
| mixed 1TR6- and Euro-Type lines. In this case, the interface has to be |
| configured to a 1TR6-type EAZ (one digit). The mapping is also valid |
| for tty-emulation. Seen from the interface/tty-level the mapping |
| CAN be used, however it's possible to use single tty's/interfaces with |
| real MSN's (more digits) also, in which case the mapping will be ignored. |
| Here is an example: |
| |
| You have a 1TR6-type line with base-nr. 1234567 and a Euro-line with |
| MSN's 987654, 987655 and 987656. The DriverId for the Euro-line is "EURO". |
| |
| isdnctrl mapping EURO -,987654,987655,987656,-,987655 |
| ... |
| isdnctrl eaz isdn0 1 # listen on 12345671(1tr6) and 987654(euro) |
| ... |
| isdnctrl eaz isdn1 4 # listen on 12345674(1tr6) only. |
| ... |
| isdnctrl eaz isdn2 987654 # listen on 987654(euro) only. |
| |
| Same scheme is used with AT&E... at the tty's. |
| |
| 6. If you want to write a new low-level-driver, you are welcome. |
| The interface to the link-level-module is described in the file INTERFACE. |
| If the interface should be expanded for any reason, don't do it |
| on your own, send me a mail containing the proposed changes and |
| some reasoning about them. |
| If other drivers will not be affected, I will include the changes |
| in the next release. |
| For developers only, there is a second mailing-list. Write to me |
| (fritz@isdn4linux.de), if you want to join that list. |
| |
| Have fun! |
| |
| -Fritz |
| |