📄 readme
字号:
README for the ISDN-subsystem1. 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.isdn4inux.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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -