ttyI − ISDN character devices with modem emulator


ttyI[0-63] are emulated tty devices of the Linux ISDN subsystem. These devices can be used in the same way as the traditional serial devices ttySx. The official major device numbers are 43 for ttyI . The minor device numbers start with 0 and end with 63.

The ISDN tty devices are equipped with a modem emulation implementing a set of traditional and some special AT commands. This provides easy use together with almost all communication software that uses modem commands: minicom(1), seyon(1), XCept(1), uucico(8), mgetty(8), dip(8), pppd(8) and more. When enabled during kernel configuration, the emulator is capable of a reduced set of commands to support audio. To use audio features, an ISDN card with a audio-capable low-level driver is needed. Currently the only audio-capable drivers are the teles and HiSax driver.

The line disciplines are handled by the kernel so that SLIP, CSLIP and asynchronous PPP are possible.

The port speed of the ISDN tty devices is always 64000 bps.


The description of AT commands here does not cover audio related commands. For a description of audio related commands, see isdn_audio(4). The following AT commands are supported by ISDN tty devices:


Answer an incoming call.


Dial number num. Allowed are digits [0-9] and the characters ",", "#", ".", "*", "W", "P", "T", "S", "-". The characters are ignored except of "S" which indicates a SPV if it precedes the number (only German 1TR6 ISDN).


Echo off.


Echo on (default).


Hang up.


Hang up.


Off hook (ignored).


Return device Information ("ISDN for Linux...").


Return device Information ("ISDN for Linux...").


Return device Information ("ISDN for Linux...").


Return Statistics of last connection.


Return from command mode to online mode (data mode).


Enable result codes (default).


Disable result codes.


Set register x to value y.


Show content of register x.


Set register x, bit y to value z


Show bit y of register x.


Print result code as number.


Print result code as text (default).


Reset all registers and load profile values.


Set packet size of outgoing packets to value x (maximum 4000). The actual packet size depends on the hardware driver and may be smaller than x (e.g. with the teles driver). There will be no error message if the value is bigger than the hardware driver can process. However the size of the outgoing packets will be set correctly.


DTR falling edge: hang up and return to command mode (default).


DTR falling edge: hang up, return to command mode and reset all registers.


Set MSN (Euro-ISDN, EDSS1) or EAZ (German 1TR6) to value x. For MSNs, x is a string of digits representing the local phone number, while for EAZs x should be only the last digit of the Number.


Set all registers and profile to "factory-defaults".


Set list of phone numbers to listen on. plist is a list of wildcard patterns separated by semicolon. If this is set, it has precedence over the MSN set by AT&E.


Show current register settings.


Write registers and EAZ/MSN to profile. (You need to run iprofd(8) for making changes permanent.)


Disable BTX-Mode (default).


Enable BTX-Mode.


During a data connection, the driver can be set to command mode by typing in delay+++delay. The escape character (default "+") may be set via register 2. The delay must be at least 1.5 seconds and between each escape character the pause must not exceed 0.5 seconds. ATO brings the modem emulation back to data mode.


0 (default 0)

Number of rings on which the "modem" will answer. (S0=0 will disable auto answering).

1 (default 0)

Counts and stores the number of rings from an incoming call.

2 (default 43 = ’+’)

ASCII code of the escape character.

3 (default 13 = CR)

ASCII code of Carriage Return.

4 (default 10 = LF)

ASCII code of Line Feed.

5 (default 8 = BS)

ASCII code of Backspace.

6 (default 3)

Duration, in number of seconds, modem waits before dialling.

7 (default 60)

Wait time for carrier in seconds.

8 (default 2)

Pause time for comma (’,’) in dial command in seconds (ignored).

9 (default 6)

Carrier detect time in tenths of seconds (ignored).

10 (default 7)

Wait time until hangup after carrier loss in tenths of seconds (ignored).

11 (default 70)

Duration and delay in milliseconds for touch tone dialling (ignored).

12 (default 69)

Bit-mapped register.
Bit Description
0 0 = Suppress response messages.
1 = Show response messages.
1 0 = Response messages as text.
1 = Numeric response messages.
2 0 = Echo off.
1 = Echo on.
3 0 = DCD always on.
1 = DCD follows carrier.
4 0 = CTS follows RTS.
1 = Ignore RTS, CTS always on.
5 0 = Low-edge on DTR: Hangup and return
to command mode.
1 = Same as 0 but also resets all
6 0 = DSR always on.
1 = DSR on only if channel is available.
7 0 = Cisco-PPP-flag-hack off.
1 = Cisco-PPP-flag-hack on.

13 (default 4)

Bit-mapped register.
Bit Description
0 0 = Use delayed sending of data.
1 = Immediately send data.
1 0 = T.70 protocol off.
1 = T.70 protocol on.
2 0 = Don’t hangup on DTR low.
1 = Hangup on DTR low.
3 0 = Standard response messages.
1 = Extended response messages.
4 0 = CALLER NUMBER before every RING.
1 = CALLER NUMBER after first RING.
5 0 = Disable extended T.70 protocol.
1 = Enable extended T.70 protocol.
6 0 = Disable RUNG message.
1 = RUNG on cancelled incoming call.
7 0 = Disable display messages from net.
1 = Enable disable messages from net.

14 (default 0)

Layer-2 protocol.
0 = X75/LAPB with I-frames.
1 = X75/LAPB with UI-frames.
2 = X75/LAPB with BUI-frames.
3 = HDLC.
10 = Analog Modem. (only if hardware supports this)
11 = Fax G3. (only if hardware supports this)

15 (default 0)

Layer-3 protocol.
0 = transparent
1 = transparent with audio features (e.g. DSP)
2 = Fax G3

16 (default 250)

Outgoing packet size / 16.



18 (default 4)

Service-Octet-1 to accept or to be used on dial out.
Bit-mapped register.
Bit Description
0 Service 1 (audio) when set.
1 Service 5 (BTX) when set.
2 Service 7 (data) when set.

Note: It is possible to set more than one bit. In this case, on outgoing calls, the most significant 1-bit is chosen to select the outgoing service octet. On incoming calls the selected services are accepted, contents of register 14 is ignored and the Layer-2-protocol is automatically set with the following values to match the service of the incoming call:

Incoming service audio (Reg. 20.0 = 1)

L2-protocol is set to 4 (TRANSPARENT).

Incoming service BTX (Reg. 20.1 = 1)

L2-protocol is set to 0 (X75/LAPB with I-frames).

Incoming service date (Reg. 20.2 = 1)

L2-protocol is set to 0 (X75/LAPB with I-frames).

19 (default 0)

Service-Octet-2 (ignored when using EDSS1).

20 (read only)

Service-Octet-1 of last incoming call. This bit-mapped register is set on incoming call (during RING). Mapping is the same like register 18.

21 (read only)

Bit-mapped register. Set on incoming call (during RING) to the value of octet 3 of calling party number Information Element (Numbering plan). See section 4.5.10 of ITU Q.931.

22 (read only)

Bit-mapped register. Set on incoming call (during RING) to the value of octet 3a of calling party number Information Element (Screening info). See section 4.5.10 of ITU Q.931.

23 (default 0)

Bit-mapped register.
Bit Description
0 0 = Disable CPN extended RING.
1 = Enable CPN extended RING.
1 0 = Disable CPN extended FCON.
1 = Enable CPN extended FCON.


There used also be cui devices (major device number 44), but since the cua devices for regular tty devices are no longer supported in the kernel, these are also no longer supported for ISDN4linux.


Fritz Elfert <>
modified by Paul Slootman <>


icnctrl(8), telesctrl(8), isdninfo(4), isdn_audio(4), isdnctrl(8).

More Linux Commands

truncl(3) - round to integer, toward zero - Linux man page
These functions round x to the nearest integer not larger in absolute value. RETURN VALUE These functions return the rounded integer value. If x is integral, in

snmptest(1) - communicates with a network entity using SNMP
snmptest is a flexible SNMP application that can monitor and manage information on a network entity. After invoking the program, a command line interpreter proc

pto_var(1) (Commands - Linux manual page)..................
pto_var is a command line tool, suitable for inclusion in shell scripts, and allows the change of image variables inside a Hugin .pto project file. Optimisation

xsetroot(1) - root window parameter setting utility for X...
The xsetroot program allows you to tailor the appearance of the background (root) window on a workstation display running X. Normally, you experiment with xsetr

ldap_set_option(3) - LDAP option handling routines (ManPage)
These routines provide access to options stored either in a LDAP handle or as global options, where applicable. They make use of a neutral interface, where the

podselect(1) - print selected sections of pod documentation
podselect will read the given input files looking for pod documentation and will print out (in raw pod format) all sections that match one ore more of the given

fanotify(7) monitoring filesystem events - Linux man page...
The fanotify API provides notification and interception of filesystem events. Use cases include virus scanning and hierarchical storage management. Currently, o

CPU_FREE(3) - macros for manipulating CPU sets (Man Page)...
The cpu_set_t data structure represents a set of CPUs. CPU sets are used by sched_setaffinity(2) and similar interfaces. The cpu_set_t data type is implemented

netsnmp_pdu_api(3) - netsnmp_pdu_api functions (Man Page)...
These functions deal with SNMP request structures. snmp_pdu_create snmp_clone_pdu snmp_fix_pdu snmp_free_pdu SEE ALSO varbind_api(3) session_api(3) netsnmp_pdu_

vgimportclone(8) - import and rename duplicated volume group
vgimportclone is used to import a duplicated VG (e.g. hardware snapshot). Duplicate VG(s) and PV(s) are not able to be used until they are made to coexist with

bounce(5) - Postfix bounce message template format (ManPage)
The Postfix bounce(8) server produces delivery status notification (DSN) messages for undeliverable mail, delayed mail, successful delivery or address verificat

XmbufGetVersion(3) - X multibuffering functions (Man Page)
The application programming library for the X11 Double-Buffering, Multi-Buffering, and Stereo Extension contains the interfaces described below. With the except

We can't live, work or learn in freedom unless the software we use is free.