No dialtone on FXS ports, no answer on FXO port

I have recently built a new Asterisk server, and have run into some trouble. I can’t get dialtone on my FXS ports, and can’t get Asterisk to answer the FXO port. The TDM800P card does appear to be at least somewhat functional, however. I am getting talk battery on the FXS ports (I get sidetone, and the phone will generate DTMF digits), and zttool shows activity when I take an FXS port off-hook.

I’m relatively new to Asterisk and have been using the O’Reilly book (Asterisk: The Future of Telephony) as a reference. I successfully built Asterisk and its modules from source, and have completed basic, bare-bones configuration for testing. The contents of the zaptel.conf, zapata.conf, and extensions.conf files are taken from the book, with modifications to reflect my hardware configuration.

The “IRQ Misses” value shown in zttool (see below) increases gradually while the system is running. It increases in small bursts when there is activity on the TDM800P (dialing in on the FXO port or taking one of the FXS ports off-hook). I suspected an IRQ conflict, but lspci shows that the TDM800P is using IRQ 4, and that IRQ is not shared with any other devices. There are no other PCI cards in the system; the only other devices on the PCI bus are on-board (though I’ve disabled the on-board sound controller and the USB, RS-232, and parallel ports). I have verified that the bus is PCI 2.2 compliant.

I don’t know if this is a hardware problem or a configuration problem. I would be grateful if someone could look over my configs and offer some suggestions.

Thanks,
Brian

HARDWARE:
Dell Optiplex 170L
2.4GHz Celeron
128MB RAM
TDM800P with quad FXS module (ports 1-4) and single FXO module (port 5)

SOFTWARE:
Debian stable
kernel 2.4.34
zaptel 1.4.1 (built from source)
asterisk 1.4.2 (built from source)

CONFIGS:
------------------------------------------------------------
;;; /etc/zaptel.conf

loadzone = us
defaultzone=us
fxoks=1-4
fxsks=5
------------------------------------------------------------
;;; /etc/asterisk/zapata.conf

[channels]
;;General options
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
immediate=no

;;FXS Modules
context=internal
signaling=fxo_ks
channel => 1-4

;;FXO Modules
context=incoming
signaling=fxs_ks
channel => 5
------------------------------------------------------------
;;; /etc/asterisk/extensions.conf

[internal]
exten => 611,1,Answer()
exten => 611,2,Echo()

[incoming]
exten => s,1,Answer()
exten => s,2,Echo()
------------------------------------------------------------


`modprobe wctdm24xxp` output:
------------------------------------------------------------
Zapata Telephony Interface Registered on major 196
Zaptel Version: 1.4.1
Zaptel Echo Canceller: MG2
PCI Config reg is 02900117
Wildcard TDM800P: New Reg: fe590000!
Detected REG0: 00000100
Detected REG1: 00007849
Detected REG2: 0000001d
(pre) Reg fc is 50000027
(post) Reg fc is 50000024
Detected REG2: 0000ffff
wctdm24xxp: reg is a04c0004
Resetting the modules...
During Resetting the modules...
After resetting the modules...
Port 1: Installed -- AUTO FXS/DPO
Port 2: Installed -- AUTO FXS/DPO
Port 3: Installed -- AUTO FXS/DPO
Port 4: Installed -- AUTO FXS/DPO
Port 5: Installed -- AUTO FXO (FCC mode)
Port 6: Not installed
Port 7: Not installed
Port 8: Not installed
VPM: Not Present
Found a Wildcard TDM: Wildcard TDM800P (8 modules)
Registered tone zone 0 (United States / North America)
------------------------------------------------------------


`lsmod` output (trimmed):
------------------------------------------------------------
Module                  Size  Used by    Not tainted
wctdm24xxp            185760   0  (unused)
zaptel                230208   2  [wctdm24xxp]
------------------------------------------------------------


zttool output:
------------------------------------------------------------
Wildcard TDM800P Board 1

Current Alarms:     No alarms.
Sync Source:        Internally clocked
IRQ Misses:             295
Bipolar Viol:             0
Tx/Rx Levels:         0/  0
Total/Conf/Act:       8/  5/  1

    12345678
TxA -----
TxB -----
TxC -----
TxD -----

RxA -----
RxB -----
RxC -----
RxD -----
------------------------------------------------------------

I see that you are installing Asterisk 1.4 and Zaptel 1.4 on a 2.4 kernel. Have you tried installing Asterisk 1.2 and Zaptel 1.2? Or using a Linux 2.6 kernel instead?

I have not yet tried Asterisk/Zaptel 1.2, nor 1.4 with kernel 2.6. From what I read in other posts, it sounds like Zaptel versions earlier than 1.4.1 do not support the TDM800P. I can try building a 2.6 kernel…do you think there is much chance of it fixing the problem?

I’ve just built a 2.6.20 kernel and have rebuilt zaptel. This seems to have fixed the IRQ Misses issue shown by zttool, but the root problem still exists.

One thing I forgot to mention in my original post is that zttool initially shows 0 active ports right after the system is booted. When I call the POTS line connected to the FXO port, zttool shows one active port. It remains in that state until the zaptel kernel modules are reloaded.

I gave up on my Asterisk box for several months but am finally taking another stab at it. I’ve installed Asterisk 1.4.13, Zaptel 1.4.6, Libpri 1.4.1, and Addons 1.4.4 on a 2.6.18 kernel (brand new Debian 4.0r1 install) and am having the same problem.

Has anyone else encountered this problem? Has anyone successfully built Asterisk from source and been able to make use of the TDM800P board? If so, can you tell me what steps you followed to get it running?

I’m feeling pretty bummed out that I spent ~$500 US for a board that I can’t use.

I having the same problems since i upgraded my system from kernel-2.4.20-8, zaptel-1.4.4 and asterisk-1.4.4 to kernel-2.6.9-67, zaptel-1.4.6 and asterisk-1.4.14.

There is no error when installing zaptel and asterisk. But when I call-in to fxo port, it cannot answers and also there is no dialtone on phones connected to fxs ports.

Please help me, thanks.