[asterisk-users] TDM410P with EC doesn't detect DTMF after being on for ~1 hour

Kurt Knudsen kurt.knudsen at gmail.com
Mon Oct 20 18:50:00 CDT 2008


Now that I have a new card and my echo problems are 'mostly' solved, I
have another major issue to deal with. After about an hour or so the
card will stop detecting DTMF tones on incoming calls. dahdi_monitor
shows the following:

[root at asterisk wctdm24xxp]# dahdi_monitor 1 -v

Visual Audio Levels.
--------------------
 Use chan_dahdi.conf file to adjust the gains if needed.

( # = Audio Level  * = Max Audio Hit )
<----------------(RX <----------------(TX
 ###################################*

The channel is spiked and I need to stop asterisk and restart dahdi.
Here's what the full log shows when it sees an incoming call:
[Oct 20 18:49:38] VERBOSE[10629] logger.c:     -- Starting simple
switch on 'DAHDI/1-1'
[Oct 20 18:49:39] NOTICE[10629] chan_dahdi.c: Got event 17 (Polarity
Reversal)...
[Oct 20 18:49:42] NOTICE[10629] chan_dahdi.c: Got event 18 (Ring Begin)...
[Oct 20 18:49:44] NOTICE[10629] chan_dahdi.c: Got event 2 (Ring/Answered)...
[Oct 20 18:49:44] VERBOSE[10629] logger.c:     -- Executing
[s at DID_trunk_1:1] ExecIf("DAHDI/1-1", "1|SetCallerPres|unavailable")
in new stack
[Oct 20 18:49:44] VERBOSE[10629] logger.c:     -- Executing
[s at DID_trunk_1:2] ExecIf("DAHDI/1-1", "1|Set|CALLERID(all)=unknown
<0000000>") in new stack

The 3 events are always there when DTMF is ignored/not detected.
Here's what the log shows with a correct call:
[Oct 20 18:37:16] DEBUG[10563] dsp.c: dsp busy pattern set to 500,500
[Oct 20 18:37:16] VERBOSE[10611] logger.c:     -- Starting simple
switch on 'DAHDI/1-1'
[Oct 20 18:37:17] VERBOSE[10611] logger.c:     -- Executing
[s at DID_trunk_1:1] ExecIf("DAHDI/1-1", "0|SetCallerPres|unavailable")
in new stack
[Oct 20 18:37:17] VERBOSE[10611] logger.c:     -- Executing
[s at DID_trunk_1:2] ExecIf("DAHDI/1-1", "0|Set|CALLERID(all)=unknown
<0000000>") in new stack
[Oct 20 18:37:17] VERBOSE[10611] logger.c:     -- Executing
[s at DID_trunk_1:3] Goto("DAHDI/1-1", "voicemenu-custom-3|s|1") in new
stack
[Oct 20 18:37:17] VERBOSE[10611] logger.c:     -- Goto (voicemenu-custom-3,s,1)
[Oct 20 18:37:17] VERBOSE[10611] logger.c:     -- Executing
[s at voicemenu-custom-3:2] Wait("DAHDI/1-1", "2") in new stack
[Oct 20 18:37:17] DEBUG[10611] chan_dahdi.c: Ignore switch to REVERSED
Polarity on channel 1, state 4
[Oct 20 18:37:17] DEBUG[10611] chan_dahdi.c: Ignoring Polarity switch
to IDLE on channel 1, state 4
[Oct 20 18:37:17] DEBUG[10611] chan_dahdi.c: Polarity Reversal event
occured - DEBUG 2: channel 1, state 4, pol= 0, aonp= 0, honp= 0,
pdelay= 600, tv= 47$
[Oct 20 18:37:19] VERBOSE[10611] logger.c:     -- Executing
[s at voicemenu-custom-3:3] Set("DAHDI/1-1", "TIMEOUT(digit)=2") in new
stack
[Oct 20 18:37:19] VERBOSE[10611] logger.c:     -- Digit timeout set to 2

The events are ignored and the call goes through as it should. Also,
when the call FAILS, the caller ID does not work. Here's the last bit
of dmesg:

NO BATTERY on 1/1!
BATTERY on 1/1 (+)!
26939263 Polarity reversed (1 -> -1)
NO BATTERY on 1/1!
26940073 Polarity reversed (-1 -> 1)
BATTERY on 1/1 (+)!
RING on 1/1!
26984808 Polarity reversed (1 -> -1)
NO RING on 1/1!
26986380 Polarity reversed (-1 -> 1)
NO BATTERY on 1/1!
BATTERY on 1/1 (+)!

I have no idea what that means (module is running with debug=1). Any ideas?



More information about the asterisk-users mailing list