This is a step by step tutorial on how to install an AVM FritzCard PCI in Suse 10 Linux and integrating it with Asterisk. Installation procedure for other ISDN cards, such as the AVM B1 PCI, AVM C2 or C4 is similar, except for a different device driver. You may use this step by step guide with other Linux variants as well, but be prepared for some nasty tweaking! This guide assumes a working minimal Linux and Asterisk Installation and we suggest you have Samba installed for easy file access to the Linux file system over the network.
Installing ISDN card and CAPI
Power down your Linux machine, insert the ISDN card into a free PCI slot and boot the machine again. Suse 10 will detect the ISDN card and start the fcpci driver automatically.
Be sure to have the point-to-point protocol installed (even though Asterisk won´t use it) by entering the following on the command line prompt:
yast -i ppp
Now we are ready to install the correct ISDN card driver including the CAPI20 infrastructure:
In the upcoming menu select from Network Devices / ISDN / Modify the Capi2.0 driver. There is no need to enter country code, area code and dialing prefixes since Asterisk will ignore these settings anyway. You must disable Hisax completely because it is incompatible with CAPI.
If you use other Linux distributions than Suse 10 you may need to manually install capi4Linux if it is not yet embedded.
After a complete restart of your machine let us verify that both the isdn card and CAPI drivers are loaded properly by entering:
If you see a list of technical information about your ISDN parameters, everything is O.K. so far and you can continue with the next step. Otherwise you may check with lsmod if all needed modules are loaded and look into your Linux boot logs what went wrong. With a FritzCard PCI the following modules need to be loaded: fcpci, capi, capifs, kernelcapi and capiutil.
Manual installation of FritzCard and CAPI (optional)
If the previous CAPI test was unsuccessful you are required to manually install or reinstall these drivers. Start with downloading the newest AVM drivers from here. As long as Suse does not yet provide a specific Suse 10 driver for your card, the older Suse 9.3 driver may also work. But beware: there are issues with Kernel Release 2.6.13! Also do not even try to mix other ISDN APIs such as mISDN, Hisax oder vISDN because they are incompatible with CAPI20 and it may be hard, if not impossible to have them uninstalled!
Got to the Linux directory /usr/src/, create a subdirectory with the name of the driver you want to install and copy the unpacked driver files into this directory, for example to: /usr/src/fcpci-suse93-3.11-07. Alternatively you may copy the downloaded driver to /usr/src/ and unpack it with the following commands:
tar zxvf fcpci-suse93-3.11-07.tar.gz
Modify this command according to the exact name of your specific archive file. Install the FritzCard driver now by entering:
If capiinfo shows no errors then your ISDN and CAPI drivers are installed correctly. Do not continue until you have solved any ISDN card problems!
Asterisk CAPI Channel Installation
Download the newest chan_capi-cm Channel Driver für Asterisk, place it into /usr/src/ and install ist by entering:
tar zxvf chan_capi-cm-0.6.4.tar.gz
Copy the file /usr/src/asterisk/chan_capi-cm-0.6.4/capi.conf into the directory /etc/asterisk.
Open /etc/asterisk/modules.conf with vi or any other file editor of your choice and append the following lines at the end of this file unless already present:
Optional: If in modules.conf you have set autoload=no or if you must ensure a specific load order then chan_capi needs to be loaded explicitly by entering:
load => chan_capi.so
To check if chan_capi is loading properly restart Asterisk and inspect the logfiles at /var/log/asterisk. For a quick test it may suffice to enter the following Asterisk CLI command (asterisk -r):
show modules like capi
If you connect the ISDN card to the outside telephone line and have someone make an incoming call then you should already see that Asterisk is detecting this call (asterisk -rvvv) even though it will not yet be accepted because it can´t find an incoming context for it.
At this point installation of your ISDN card is completed and all further configuration can be done from within PBX Manager. Use Configuration Editor to check /etc/asterisk/capi.conf (not to be confused with /etc/capi.conf, that has a totally different mnemonic and is exclusively used by the low level AVM IDSN drivers!). If your ISDN line is shared with other devices such as a standalone fax machine you may want to have Asterisk listen to selected MSN numbers only. Do this by specifying them with incomingmsn=xxxx in capi.conf.
Managing ISDN Cards with PBX Manager
Go to the Trunks menu and create a CUSTOM type trunk für this ISDN card. Specify the Custom Dialstring as:
The string contr1 is the default name for the first ISDN controller as specified in /etc/asterisk/capi.conf. If you have more than one card you may either refer to them as a group or specify a separate trunk for each, such as contr2, contr3 asf.
In order to have Asterisk accept incoming ISDN calls open /etc/asterisk/capi.conf in Configuration Editor and change the line context=xxx as follows:
Open the Inbund Calls menu, create a new Inbound Number entry fot each of your MSN Numbers and select an appropriate call handling script, typically Standard Extension (IP). Please note that the default incoming entry s will only match incoming calls without any DID and would normally not accept incoming ISDN calls, because they usually do contain a DID number!