See section msn.
Have a look in section hardware.
See section dialout.
See section dialin.
If you have a SuSE distribution, and you can not find your card in yast,
then select card generic
and enter the exact parameters in the
special case line, like: type=27 protocol=2
for Fritz!PCI and
Euro ISDN. Get a newer kernel if the desired type is not yet supported.
For PCI cards Plug and Play works automatically, they don't need any manual configuration if the correct card type is provided. ISA PNP cards will require some manual configuration:
pnpdump -c > /etc/isapnp.conf
/etc/isapnp.conf
properly:
isapnp /etc/isapnp.conf
modprobe hisax io=4,2,INT,IO0,IO1
There are several options:
rcroute stop rci4l stop rci4l_hardware stop
rci4l_hardware start rci4l start rcroute start
kerneld does not work well with the ISDN modules, since the ISDN modules can not store their status, and could miss important messages on the D channel. Newer versions of i4l ensure that they won't be unloaded by kerneld, but you should not try to use kerneld with any version of i4l.
Yes, you can define two different run level for this (under SysVInit) in
/etc/inittab
. One run level includes the ISDN processes, where the
other one does not.
There are some specialities for configuration of more than 1 card:
modprobe -v hisax protocol=2,2 type=28,28
id="contr0%contr1"
You can adjust the parameter ISDN_MAX_CHANNELS and the ISDN_MINOR* parameters
in /usr/src/linux/include/linux/isdn.h
and rebuild the isdn stuff.
It is unlikely you have more than 64 physical B channels available, therefore
you probably want to leave ISDN_MINOR_B and ISDN_MINOR_BMAX as they are.
Your bottleneck are probably the number of potential (logical) network connections (ipppX devices). The maximum number for this (ISDN_MAX_CHANNELS) is 127, since the minor devices start at 128 (see ISDN_MINOR_PPP) and have to end before 255 (ISDN_MINOR_STATUS).
To further increase the maximum number of logical connections you either have the possibility to use an additional major (e.g. 44 - not used any more) - this requires some small changes to the driver and the installation of one ipppd instance per logical connection; or to use only one ipppd per physical B channel with external Radius authentication. In the first case you have to modify and recompile the driver, in the second case you have to modify and recompile ipppd (you'll find some preparations for this already in the source code).
Don't forget to create the additional devices with makedev.sh (part of isdn4k-utils) or by hand.
A connection via GSM will first go to the GSM provider via a special air transmission protocol. To forwarding the data on to an analog or ISDN line, an adapter called IWF (interworking function) has to translate this into the analog or ISDN specific transmission protocol. Which analog or ISDN transmission protocol is being used depends on how the mobile phone requests its GSM connection. An analog connection is not very attractive due to the lengthy modem handshaking on dialin. For ISDN, HDLC and X.75 are currently not supported by the IWF, so the choices are down to V.110 and V.120. V.120 has better flow control and error correction, but currently isdn4linux only supports V.110.
On the dialup server set up async PPP with a normal pppd on a ttyI* device
(sync ppp will not work). Additionally to setting the msn, you have to set
V.110 and the transmission rate to 9600 with AT&R9600
(/usr/src/linux/Documentation/isdn/README
gives more details on
the V.110 bitrate adaption for this command).
Switch off autoanswer with ATS0=0
if you use mgetty.
pppd needs to be called with noccp
and require-pap
.
On the GSM mobile phone side, request an ISDN V.110 connection with the command
AT+CBST=71,0,1+CHSN=1,0,0,0
AT+CBST=75,0,1
If the bearer capability is reported as "88 90 21 48 06 bb" by isdn4linux, then you have set it correctly (88 90 21 means V.110, 48 means ASYNC 9.6kbit, 06 means flowcontrol RX/TX, bb means 8 bit 1 stop none parity).
If the call is indicated with service indicator byte 2 = 0 and not accepted
(happens with some wrongly configured PBX), then adjust with ATS19=0
.
A higher bandwidth of 19.2kbit (HSCSD) could be requested with the command
AT+CBST=81,0,1+CHSN=3,0,0,0
For a mini-howto see: http://www.oltom.com/Linux/Docs/GSM%20over%20V.110%20Mini-HOWTO.txt
You have to install a gateway which handles the translation. Several versions exist which are all based on the OpenH323 and PWLib libraries. The latest recommendation is to use isdngw at: http://www.gnugk.org/h323-isdn-gw.html. This is an updated version of the isdngw located at: http://www.virtual-net.fr/h323/isdngw/, which in turn is an updated version of the Linux H.323 - ISDN Gateway found on http://www.telos.de/linux/H323/.
Please note that not all sound cards support full duplex audio. Depending on your hardware you may end up with uni-directional voice.
First of all, the point-to-point connection will only work for one single device connected to it - therefore nothing else but your ISDN card may be attached to it. You can switch HiSax into point-to-point mode:
hisaxctrl <driver_id> 7 1
If you really absolutely want to run your ISDN card for read-only purposes in parallel to your pbx on a point-to-point connection, then you have to disconnect the RX leads (pin 3 and 6 on western plug), so that the NTBA will not see the ISDN card. In this case configure HiSax normally, NOT in point-to-point mode.
These are helpful links that are currently available on how to configure isdn4linux:
http://www.rosat.mpe-garching.mpg.de/~web/ISDN.html
http://i4l.mediatronix.de/
http://ixi.thepenguin.de
or
http://capi4linux.thepenguin.de
or
http://www.thepenguin.de
http://innominate.org/projects/vbox/index.php3
http://www-ti.informatik.uni-tuebingen.de/~hippm/isdn.html
http://www.auf-der-er.de/chargeint.html
http://linecontrol.sourceforge.net
http://krypt.cs.uni-sb.de/projects/isdnsniffer/
http://www.asterisk.org
http://0pointer.de/lennart/projects/ivcall/
http://www.ganzfix.de
The mISDN driver stands for modular ISDN. It is a complete rewrite of the old isdn drivers and now communicates via CAPI messages. The mISDN driver is retire the historical drivers once it is fully functional within the 2.6.x kernels. As a temporary work around the historical drivers have been ported into the early 2.6.x kernels to get isdn working, however, this will be fixed in later versions.
To start mISDN, you have to load all the following modules:
Not all features are available. It is currently not planned to port 1TR6 (the ancient ISDN protocoll in Germany) to the new driver.
For more information on how to configure it have a look at the following
website:
http://rcum.uni-mb.si/~uvp00845b/
For a more general description on the mISDN driver and the future of isdn4linux
you may also read the German article published in ct 3/2004. An online
version is available at:
http://www.heise.de/ct/04/03/182/
Please note that the current FAQ applies mainly to the old isdn4linux drivers. mISDN may work differently than described in this FAQ. Please let me know about any amendmends for this FAQ.
With the kernels 2.6.x the mISDN driver has been introduced (see question config_misdn). It is planned that the mISDN drivers will replace the old isdn4linux drivers like HiSax, which have been ported to 2.6.x only since mISDN was not ready yet.
Please note that the ported drivers have not been upgraded to make use of the new kernel features like devfs. You still have to create all the devices you need, either with makedev.sh (part of isdn4k-utils), or by hand. Some distributions will do that for you (e.g. Suse), for others you have to do this yourself (e.g. Mandrake 10).
First you have to get mISDNuser and compile it. Then you have to compile
chan_misdn (included with asterisk) so it works together with mISDNuser.
For this you have to modify the Makefile in asterisk/channels/misdn/
to configure the correct location of mISDNuser. A make in the same directory,
followed by a 'make install' in the asterisk directory should be sufficient.
The easiest way is to get the install script published at: http://www.beronet.com/download/install-misdn.tar.gz.