The i4btel driver provides an interface to the ISDN B-channel for telephony applications and is currently used by the isdnd(8) for answering machine support. The driver is part of the isdn4bsd package.
The lower six bits of the driverss minor number is used to specify a unit number, whereas the upper two bits specify a functionality.
Functionality zero is the usual telephony data stream i/o driver.
Functionality one is used to enable commands to dial out and hang up and receive responses about the state of the dial out progress and status. This commands may change in the future, for details see the file i4b_tel_ioctl.h and the isdnphone(8) utility.
The telephony data stream comes out of the line in a bit-reversed format, so the i4btel driver does the bit-reversion process in any case.
Additionally, the user can specify to do A-law to u-law, u-law to A-law or no conversion at all in the i4btel driver by using the isdntelctl(8) utility.
The driver is able to process several ioctls: