I have a TDM400 port with an FXO module (and 3 FXS). The FXS modules work fine (can bridge calls from one extension to another or talk to the computer) but Asterisk doesn’t pick up the line on the FXO port for either incoming or outgoing calls.
Here’s where it gets strange. It thinks it picked up the line. On an outgoing call, it connects your extension to silence, but never picks up the line. On incoming calls, it detects the rings, “picks up” the line and starts talking to it, then complains when the line rings again (because, of course, if you already picked it up, it can’t be ringing!)
I know it’s not a defective card, because I set up a test machine and duplicated /etc/asterisk, and it works fine in there – it just won’t work in its intended environment.
Production box (no workie):
Ubuntu 7.10 (kernel 2.6.22)
asterisk 1.4.10 (Ubuntu binary pkgs)
Test box (works):
CentOS 4.5 (kernel 2.6.9)
asterisk 1.2.20 (Trixbox)
Apparently it’s not a hardware problem (unless it were some really bizarre motherboard issue), so it’s got to be something software-related. Unfortunately, the production machine is performing other functions, so I’m limited in my ability to play with it.
Here’s some info from a couple of Zaptel utilities that may or may not provide any clue:
Input always pegged at 100% until it “picks up the line”, when it bounces once, then stays at zero until hung up; then returns to 100%.
When the line is “answered” and Asterisk starts talking, the output channel shows the expected output levels.
I don’t know if the 100% input is normal on an FXO port or not.
root@bo:/usr# fxotune -i -b 4 -e 4 -vvv
Tuning module /dev/zap/4
Could not fill input buffer - got -1 bytes, expected 4000 bytes
Unable to tune 1 devices, even though those devices are present Actually, out of ~15 runs, only once did I ever get the one line of output; the other times, the error message occured immediately.
Don’t ya hate it when you finally find the solution to a problem and it’s so obvious and/or far from where you were looking that it feels like your entire day’s work – a rather long day, and much more over the past 2 months – has been wasted, even though you’re exceedingly glad you finally figured it out?
After building Zaptel/Asterisk from the latest source versions and doing endless tweaking and testing, and having no change in behavior, I finally did something that I’m sure I’ve done since I started having this problem, but with different results this time: I unplugged the fxo phone wire from my asterisk box, and stuck it in a phone…and didn’t get dialtone.
Yes, the problem the entire time was a bad connection on a 66 block. What confused me was that it was enough to pass the 90VAC ringing signal fine – but nothing else. And, depending on how it got moved (like when I tested it the 1st time), it did work. Just never when it was attached to that box.
So, I feel like an idiot, yet am ecstatic. And, I know a good bit more about Asterisk/Zaptel than I did 2 months ago after merely marking a few binary packages to install…