diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/isdn/README |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/isdn/README')
-rw-r--r-- | Documentation/isdn/README | 599 |
1 files changed, 599 insertions, 0 deletions
diff --git a/Documentation/isdn/README b/Documentation/isdn/README new file mode 100644 index 000000000000..761595243931 --- /dev/null +++ b/Documentation/isdn/README | |||
@@ -0,0 +1,599 @@ | |||
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 | |||