[Home]

Summary:ASTERISK-17700: Asterisk 1.8.x Skips DTMF Digits on a First DAHDI Initiated Call
Reporter:Vladimir Mikhelson (vmikhelson)Labels:
Date Opened:2011-04-15 20:59:05Date Closed:2011-04-19 07:25:29
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_dahdi
Versions:1.8.3 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:I know it sounds weird, and this is part of the reason I have not reported that sooner.

As I upgraded from 1.6.2.x to 1.8.x several months ago I am experiencing this problem.   If a call is initiated from a DAHDI extension after no DAHDI extensions were used for some time, arbitrary DTMF digits are skipped and the call fails.  If the call is redialed it goes through.  Normally just one (1) redial attempt is sufficient.  Replicated from different analog phones.

Troubleshooting and observations:
1. Provided external power to the TDM400P with FXS daughter cards.  It did not help.
2. Using RXGAIN / TXGAIN in /etc/asterisk/dahdi-channels.conf on another TDM410 card makes situation worse (I do realize that this one sounds crazy, but I verified this one by process of elimination).
3. Played with echo cancellation parameters with no luck.


Configuration:

Asterisk 1.8.3.3
DAHDI Version: 2.4.1.2 Echo Canceller: MG2, HPEC
FreePBX 2.9.0rc1.3


****** ADDITIONAL INFORMATION ******

DTMF log samples for two consecutive test calls each.

1. Called ext. 400.  Dialed "400" -- call failed, redialed by the "Redial" button -- call went through.

1.1. 08:46:57 -- passes "40" to the channel and fails
1.2. 08:48:17 -- passes "400" to the channel and goes through.

[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF begin '4' received on DAHDI/5-1
[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF begin ignored '4' on DAHDI/5-1
[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF end '4' received on DAHDI/5-1, duration 89 ms
[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF end passthrough '4' on DAHDI/5-1
[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF begin '0' received on DAHDI/5-1
[Apr  7 08:46:57] DTMF[9076] channel.c: DTMF begin ignored '0' on DAHDI/5-1
[Apr  7 08:46:58] DTMF[9076] channel.c: DTMF end '0' received on DAHDI/5-1, duration 76 ms
[Apr  7 08:46:58] DTMF[9076] channel.c: DTMF end passthrough '0' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin '4' received on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin ignored '4' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end '4' received on DAHDI/5-1, duration 89 ms
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end passthrough '4' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin '0' received on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin ignored '0' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end '0' received on DAHDI/5-1, duration 89 ms
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end passthrough '0' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin '0' received on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF begin ignored '0' on DAHDI/5-1
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end '0' received on DAHDI/5-1, duration 76 ms
[Apr  7 08:48:17] DTMF[9115] channel.c: DTMF end passthrough '0' on DAHDI/5-1


2. Called ext. 330.  Dialed "330" -- call failed, redialed by the "Redial" button -- call went through.

2.1. 09:48:15 -- passes "3" to the channel and fails
2.2. 09:48:30 -- passes "330" to the channel and goes through.

[Apr  7 09:48:15] DTMF[9536] channel.c: DTMF begin '3' received on DAHDI/5-1
[Apr  7 09:48:15] DTMF[9536] channel.c: DTMF begin ignored '3' on DAHDI/5-1
[Apr  7 09:48:15] DTMF[9536] channel.c: DTMF end '3' received on DAHDI/5-1, duration 89 ms
[Apr  7 09:48:15] DTMF[9536] channel.c: DTMF end passthrough '3' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin '3' received on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin ignored '3' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end '3' received on DAHDI/5-1, duration 89 ms
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end passthrough '3' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin '3' received on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin ignored '3' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end '3' received on DAHDI/5-1, duration 89 ms
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end passthrough '3' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin '0' received on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF begin ignored '0' on DAHDI/5-1
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end '0' received on DAHDI/5-1, duration 76 ms
[Apr  7 09:48:30] DTMF[9539] channel.c: DTMF end passthrough '0' on DAHDI/5-1

pbx*CLI> dahdi show status
Description                              Alarms  IRQ    bpviol CRC4   Fra Codi Options  LBO
Wildcard TDM410P Board 1                 OK      0      0      0      CAS Unk           0 db (CSU)/0-133 feet (DSX-1)
Wildcard TDM400P REV I Board 5           OK      0      0      0      CAS Unk           0 db (CSU)/0-133 feet (DSX-1)

/etc/dahdi/system.conf
# Autogenerated by /usr/sbin/dahdi_genconf on Sun Sep 26 00:01:18 2010
# If you edit this file and execute /usr/sbin/dahdi_genconf again,
# your manual changes will be LOST.
# Dahdi Configuration File
#
# This file is parsed by the Dahdi Configurator, dahdi_cfg
#
# Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
fxsks=1
echocanceller=hpec,1
fxsks=2
echocanceller=hpec,2
fxsks=3
echocanceller=hpec,3
# channel 4, WCTDM/0/3, no module.

# Span 2: WCTDM/4 "Wildcard TDM400P REV I Board 5"
fxoks=5
echocanceller=hpec,5
fxoks=6
echocanceller=hpec,6
fxoks=7
echocanceller=hpec,7
fxoks=8
echocanceller=hpec,8

# Global data

loadzone        = us
defaultzone     = us

/etc/asterisk/chan_dahdi.conf
;# Flash Operator Panel will parse this file for dahdi trunk buttons
;# AMPLABEL will be used for the display labels on the buttons

;# %c Dahdi Channel number
;# %n Line number
;# %N Line number, but restart counter
;# Example:
;# ;##AMPLABEL:Channel %c - Button %n

;AMPLABEL:CO %c

;# For Dahdi/* buttons use the following
;# (where x=number of buttons to dislpay)
;# ;##AMPWILDCARDLABEL(x):DAHDI %c


[channels]
language=en

; include dahdi-cahnnels.conf generated by dahdi_genconfig
#include dahdi-channels.conf

; include dahdi extensions defined in FreePBX
#include chan_dahdi_additional.conf
#include chan_dahdi_custom.conf

; From chan_dahdi.conf.template
; XTDM20B Port #1,2 plugged into PSTN
;AMPLABEL:Channel %c - Button %n
;context=from-pstn
;signalling=fxs_ks
;faxdetect=incoming
;usecallerid=yes
;echocancel=yes
;echocancelwhenbridged=no
;echotraining=800
;group=0
;channel=1-2

/etc/asterisk/dahdi-channels.conf
; Autogenerated by /usr/sbin/dahdi_genconf on Sun Sep 26 00:01:19 2010
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS"
;AMPLABEL:CO 65686114
usignalling=fxs_ks
callerid=asreceived
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=0
context=from-dahdi
faxbuffers => 12,half
faxdetect=incoming
;;rxgain=5.0
;;txgain=0.0
channel => 1

;;; line="2 WCTDM/0/1 FXSKS"
;AMPLABEL:CO 7154167
signalling=fxs_ks
callerid=asreceived
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=0
context=from-dahdi
faxbuffers => 12,half
faxdetect=incoming
;rxgain=11.75
;;rxgain=5.0
;;txgain=0.0
channel => 2

;;; line="3 WCTDM/0/2 FXSKS"
;AMPLABEL:CO 6568612
signalling=fxs_ks
callerid=asreceived
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=0
context=from-dahdi
faxbuffers => 12,half
faxdetect=incoming
;;rxgain=5.0
;;txgain=0.0
channel => 3


; Span 2: WCTDM/4 "Wildcard TDM400P REV I Board 5"
;;; line="5 WCTDM/4/0 FXOKS"
signalling=fxo_ks
callerid="Channel 5" <4025>
mailbox=4025
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=5
context=from-internal
channel => 5

;;; line="6 WCTDM/4/1 FXOKS"
signalling=fxo_ks
callerid="Channel 6" <4026>
mailbox=4026
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=5
context=from-internal
channel => 6

;;; line="7 WCTDM/4/2 FXOKS"
signalling=fxo_ks
callerid="Channel 7" <4027>
mailbox=4027
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=5
context=from-internal
channel => 7

;;; line="8 WCTDM/4/3 FXOKS"
signalling=fxo_ks
callerid="Channel 8" <4028>
mailbox=4028
echocancel=512
echocancelwhenbridged=yes
echotraining=800
group=5
context=from-internal
channel => 8

/etc/asterisk/chan_dahdi_additional.conf
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make    ;
; custom modifications, details at: http://freepbx.org/configuration_files       ;
;--------------------------------------------------------------------------------;
;

;;;;;;[421]
signalling=fxo_ks
pickupgroup=
mailbox=421@default
immediate=no
echotraining=800
echocancelwhenbridged=yes
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <421>
busydetect=no
busycount=7
accountcode=
channel=>5

;;;;;;[422]
signalling=fxo_ks
pickupgroup=
mailbox=422@default
immediate=no
echotraining=800
echocancelwhenbridged=yes
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <422>
busydetect=no
busycount=7
accountcode=
channel=>6

;;;;;;[423]
signalling=fxo_ks
pickupgroup=
mailbox=423@default
immediate=no
echotraining=800
echocancelwhenbridged=yes
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <423>
busydetect=no
busycount=7
accountcode=
channel=>7

;;;;;;[430]
signalling=fxo_ks
pickupgroup=
mailbox=430@default
immediate=no
echotraining=800
echocancelwhenbridged=yes
echocancel=yes
context=from-internal
callprogress=no
callgroup=
callerid=device <430>
busydetect=no
busycount=7
accountcode=
channel=>8

/etc/asterisk/chan_dahdi_custom.conf
<empty>
Comments:By: Leif Madsen (lmadsen) 2011-04-18 16:59:35

Please contact Digium support directly for issues with Digium hardware. Thanks!

By: Vladimir Mikhelson (vmikhelson) 2011-04-19 01:13:15

Please note the following:
1. the problem is experienced on a generic hardware, Digium card faces outside, the immediate problem is on the internal extensions;
2. the problem started manifesting itself after Asterisk 1.8 started being used;
3. there is strange interdependency between gain settings on one card and problem worsening on another.

What makes you think that it is necessarily a hardware issue?

Thanks.

By: Leif Madsen (lmadsen) 2011-04-19 07:25:29

If you can reproduce this with SIP channels or other channels other than those going through analog hardware then feel free to reopen this issue, otherwise it does appear to me to be a hardware issue. Please try reproducing this with Digium hardware on the inside interfaces, and if you can reproduce it there, then you can call Digium support, and if after they perform diagnosis determine it is not hardware related, then the issue will get moved over to the appropriate development team. Otherwise there isn't much we can do here.