zaptelBRI ISDN Interface cards makes a quadBRI and octoBRI card for interface with ISDN phones or ISDN lines providing a PSTN connectivity gateway with Asterisk. They also have a single and double E1. (PRI)


Currently, they make a quad and octo-port BRI card. The card can operate in TE or NT mode.
Quadbri: In TE mode the card can connect 4 ISDN lines for outgoing and incoming calls. In NT mode the card can connect up to 8 ISDN phones. Switching between modes is done using jumpers at the card. The default is NT mode.

For jumper information:

Card information:

bristuff applications

Check the README for more details on the extra applications included with the bristuff patch. Some of them are:


TE mode information

QuadBRI TE mode installation guide

Config files examples

NT mode information

QuadBRI NT mode:

Possible installation errors

If you load the qozap and zaptel driver, all seems to work. If you then do ztcfg -v, after a few seconds the following error scrolls over the screen and your system does not respond:

kernel: qozap: dropped audio card 1 cardid 0 bytes...

The only solution is a reboot. It could be there's a raid controller in your system, this causes the "incompatibility".
A solution is to change in the qozap.c file the line 'if (qoztmp->clicks > 1) {', change the 1 to 100. Recompile qozap, install it, rmmod if loaded, and try again.


While we are at the subject anyway I can put some on-topic info here aswell. Recent benchmarks with 6 QuadBRI's on a Pentium-4 2.8Ghz resulted in a almost 100% improvement in load under Linux 2.6(.4) over Linux 2.4(.25). This ofcourse resulted in less (no) quirks in the sound under 2.6 than under 2.4.
The loadtest was done looping the BRI's to each other and in such way that we used all 24 BRI's (2 channels) resulting in 48 active channels.

The audio quality was easily monitored in contrary to often proposed "test suites"... Two phones at each end...


There is also support for HFC-S PCI cards with the zaphfc module (included with the zapBRI driver package). There are many (low cost) cards around that use this chipset, here a few examples:

  • Acer ISDN-Surf
  • Billion Bipac ISDN
  • Billion/Asuscom (Asuscom/Askey)
  • Conceptronic ISDN PCI card C128i(r)
  • Creatix ISDN-S0/PCI
  • D-LINK DMI-128+
  • HFC cards from "Conrad Elektronik" (ordering no. 95 50 78)
  • Longshine LCS-8051
  • Trust PCI ISDN Modem
  • I-tec ISDN-128

Installing the latest version of bri-stuff from the junghanns download page (not linked to currently from the front page) runs smoothly on Fedora 2.6.8-1.521. The Billion card was recommended by my supplier for the UK. The bri-stuff installation scripts download the latest asterisk/zaptel and use a stable release not CVS. I kept getting type errors whilst using the bri-stuff installation scripts and zaphfc wouldn't install: then I realised that I hadn't included the "patch" package within my installation, and bri-stuff was looking for a definition which hadn't been patched in to the code.

Known issues

  • Sometimes it becomes confused about what channels are in use... after a while show channels shows nothing but dial() says the zap channels are busy... (and they are not since a capi board on the same bus can call)
  • In newer Versions, the BRIStuffed Version of Asterisk only works with original Junghanns Cards (4 and 8 Port Cards). Junghanns has implemented a ROM Check of the card to avoid the usage of third party multi BRI Cards (for example, the beroNet Technologies Card).
Is this assertion ("avoid the usage of third party multi BRI Cards") still true ? 0.4.0-test6 Bristuff changelog says "Patch qozap to support cards". Could someone check and correct these lines ?

  • In most cases not important: bristuff changes the structure of the uniqueid compared to a stock-asterisk:
Stock Asterisk: 1133722648.50
Bristuff'ed: asterisk-1685-1131631588.9

bristuff-0.2.0-RC8 on SuSE 9.2 Professional, Kernel 2.6.8-24-default

ONLY for the 2.6.8 kernel shipped by SuSE, not tested with other kernels!

Installing the bristuff-0.2.0-RC8 package on SuSE 9.2 Professional leads to some trouble with the modules. According to kpj, SuSE ships with old driver versions from a very old bristuff package. Hence, there is trouble at module loading time. Asterisk won't start because of this.

The reason for the problems is that the install script of the bristuff package installs the modules to /lib/modules/`uname -r`/misc/. The "old" modules shipped by SuSE are in /lib/modules/`uname -r`/extra/. If you do "modprobe zaptel" and/or "modprobe qozap", the old versions are loaded and trouble arises. Hence, you have to do (as root):

  1. rm /lib/modules/`uname -r`/extra/zaptel.ko
  2. rm /lib/modules/`uname -r`/extra/qozap.ko
  3. rm /lib/modules/`uname -r`/extra/zaphfc.ko
  4. depmod -a

Reboot, and then you can load the "new" and working modules with modprobe. Proceed as described in the install tutorial, and be happy (:cool:)

Good luck - bowman (:wink:)


Does the card need a separate IRQ?

No, but it is better to do that. The Digium cards DO need a separate IRQ for each card, and it can cause strange problems if you are sharing an IRQ with a lot of devices. You can check this by looking at "/proc/interrupts".

Why do I keep seeing the following messages in my log?

kernel: card 1 span 1 state F6 (A_ST_RD_STA = 0x16)
kernel: card 1 span 1 state F8 (A_ST_RD_STA = 0x8)
kernel: card 1 span 1 state F3 (A_ST_RD_STA = 0x43)
kernel: card 1 span 1 state F4 (A_ST_RD_STA = 0x44)
kernel: card 1 span 1 state F5 (A_ST_RD_STA = 0x5)
kernel: card 1 span 1 state F6 (A_ST_RD_STA = 0x16)
kernel: card 1 span 1 state F7 (A_ST_RD_STA = 0x17)

This is normal behaviour. The ISDN telco has a timeout which will reset the state every x seconds.

What do the different LED states mean for the card?

- Blinking LED's show the driver is loaded
- Blinking green means ISDN layer 1 is working

I have a KPN supreme vox 6. I can not dial out using the S0 lines at the PBX.

- This ISDN PBX does not accept calls with CallerID set. Edit your extensions.conf to make sure you call setCallerID("").


exten => _03.,1,SetCallerID("")
exten => _03.,2,Dial(Zap/g3/${EXTEN:2})

How to use DID in PTP-Mode?

You have to set 'overlapdial=yes' and 'immediate=no' in your zapata.conf (before channel=XXX)

At the callee, the CallerID is shown with an additional prefix

Set prilocaldialplan=private in the zapata.conf, to get rid of the wrong additional leading digits

See also

Go back to Asterisk

Created by: geertn, Last modification: Thu 04 of Nov, 2010 (04:43 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+