[Asterisk-Dev] More Zaptel/BRI questions

James Harper james.harper at bendigoit.com.au
Thu Jan 5 19:51:14 MST 2006


Continuing on from my barrage of questions yesterday...

The netjet BRI card appears to contain the Tiget320 PCI interface
controller, which is in turn connected to a Siemens ISAC-S chip, which
does the frame encoding and decoding.

My understanding of ISDN is that data is transmitted in frames of 16
data bits (B1) + 16 data bits (B2) + 4 data bits (D) + some
synchronisation. 4000 of these frames are received per second, which
gives us the 16 * 4000 = 64kbps rate for the B channels and 4 * 4000 =
16kbps rate for the D channel. To get the zaptel timing of 1000
interrupts/second, the card needs to be able to generate an interrupt
off (at least) every 4th frame. If the best it could do was to generate
an interrupt per frame, how much would that kill the system in interrupt
servicing?

Looking at the way some of the zaptel drivers work, this timer interrupt
is the only interrupt that is cared about, and the card is polled per
interrupt rather than being truly interrupt driven. Or maybe I just
haven't looked at enough drivers...

Can anyone tell me what sort of pre-processing needs to be done to the
raw data from a [BP]RI card into the zaptel driver? I assume that the D
channel needs to be decoded from the raw bits on the line (or does
it...?), but does the zaptel logic need anything more than raw bits from
the B channels? I'm not really familiar with PRI cards, but in the BRI
space there are 'passive' cards, 'semi-active' card, and 'active'
cards... can zaptel cope with different levels of processing being done
on the card, or does it like to do it all itself? Or none of it itself?

I've had a look around for this sort of documentation, and it doesn't
appear to exist except in the code, which is fine, it will just take me
a bit longer :)

Thanks

James




More information about the asterisk-dev mailing list