[asterisk-bugs] [DAHDI-linux 0009096]: [patch] DTMF CID without polarity reversal implementation in wctdm for Denmark, Brazil, etc

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Apr 27 04:08:50 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=9096 
====================================================================== 
Reported By:                fleed
Assigned To:                sruffell
====================================================================== 
Project:                    DAHDI-linux
Issue ID:                   9096
Category:                   NewFeature
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Target Version:             2.2.0
====================================================================== 
Date Submitted:             2007-02-18 19:02 CST
Last Modified:              2009-04-27 04:08 CDT
====================================================================== 
Summary:                    [patch] DTMF CID without polarity reversal
implementation in wctdm for Denmark, Brazil, etc
Description: 
Caller id signaling in Denmark, Brazil and other places is done through
DTMF tones before the first ring, without polarity reversal to indicate the
start of incoming data. Currently wctdm can only detect dtmf callerid if
there is a polarity reversal before the dtmf digits, so it's not working in
some countries.

This uses the idea reported in bug id 9 for wcfxo, but implements it in
wctdm. It fakes a polarity reversal so that the code already in chan_zap
can take that and pass it through the dtmf bit.

To use, patch and build the zaptel part, load the module with option
dtmf=1. Then use the following in zapata.conf:
callerid=asreceived
usecallerid=yes
cidsignalling=dtmf
hidecallerid=no
cidstart=polarity

Works fine in Brazil, on a Telemar line.

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0000009 [patch] DTMF CLIP not supported by Aste...
related to          0012658 [patch] DTMF issues on Zap
related to          0009201 Problem with caller ID detection when D...
====================================================================== 

---------------------------------------------------------------------- 
 (0103783) hahmed (reporter) - 2009-04-27 04:08
 http://bugs.digium.com/view.php?id=9096#c103783 
---------------------------------------------------------------------- 
tzafrir: 9096.nopolaritypatch-dahdi-linux-2.1.0.3-v2.diff applies and
builds cleanly on both dahdi 2.1.0.3 and 2.1.0.4 but gives kernel panic on
at least the following kernels:

2.6.18 (Elastix 1.5.2)
2.6.23 (Ubuntu Hardy Heron)

Tested with a Digium TDM800 card with 8 FXO lines

Kernel crash log:

dahdi_transcode: Unloaded.
ACPI: PCI interrupt for device 0000:0a:01.0 disabled
Freed a Wildcard
dahdi: Telephony Interface Unloaded
dahdi: Telephony Interface Registered on major 196
dahdi: Version: 2.1.0.4
PCI: Enabling device 0000:0a:01.0 (0150 -> 0153)
ACPI: PCI Interrupt 0000:0a:01.0[A] -> GSI 26 (level, low) -> IRQ 201
ProSLIC on module 0, product 3, version 15
VoiceDAA System: 04
ISO-Cap is now up, line side: 03 rev 06
setting FXO tx gain for card=0 to 0
setting FXO rx gain for card=0 to 0
DEBUG fxotxgain:0.0 fxorxgain:0.0
Port 1: Installed -- AUTO FXO (FCC mode)
BUG: unable to handle kernel NULL pointer dereference at virtual address
00000000
 printing eip:
f8b67712
*pde = 7ec50067
Oops: 0000 [http://bugs.digium.com/view.php?id=1]
SMP
last sysfs file: /class/dahdi/dahdi!ctl/dev
Modules linked in: wctdm24xxp(U) wcte11xp(U) wct1xxp(U) wcte12xp(U)
wct4xxp(U) dahdi(U) ipv6 xfrm_nalgo crypto_api crc_ccitt sunrpc
dm_multipath video sbs backlight i2c_ec button battery asus_acpi ac
parport_pc lp parport scb2_flash mtdc
ore chipreg pcspkr tg3 floppy i2c_piix4 i2c_core cpqphp serio_raw
dm_snapshot dm_zero dm_mirror dm_mod cciss sd_mod scsi_mod ext3 jbd
uhci_hcd ohci_hcd ehci_hcd
CPU:    0
EIP:    0060:[<f8b67712>]    Tainted: G      VLI
EFLAGS: 00010246   (2.6.18-92.1.22.el5 http://bugs.digium.com/view.php?id=1)
EIP is at handle_receive+0x2bc/0x617 [wctdm24xxp]
eax: 00000000   ebx: 00000000   ecx: f6f36000   edx: f6a94000
esi: 07901d00   edi: f6f36000   ebp: 0000000a   esp: c074cf84
ds: 007b   es: 007b   ss: 0068
Process kjournald (pid: 415, ti=c074c000 task=f7f81aa0 task.ti=f7f82000)
Stack: 00000016 7b4d3800 00000082 00000082 00000000 00000246 f6511c18
f6511c00
       f6e7be14 f6e7be00 f6512400 f6511c00 f8b78faf 00000041 f74231e0
00000000
       00000000 000000c9 c044deb3 f7f82f04 c06e5300 000000c9 f74231e0
c06e5328
Call Trace:
 [<f8b78faf>] vb_isr+0x1af/0x634 [wctdm24xxp]
 [<c044deb3>] handle_IRQ_event+0x23/0x49
 [<c044df5d>] __do_IRQ+0x84/0xd6
 [<c04073f4>] do_IRQ+0x93/0xae
 [<c040592e>] common_interrupt+0x1a/0x20
 [<f8852dde>] journal_file_buffer+0x44/0x62 [jbd]
 [<f88537c1>] journal_commit_transaction+0x961/0xf18 [jbd]
 [<c042d934>] lock_timer_base+0x15/0x2f
 [<f8856c01>] kjournald+0xa1/0x1c2 [jbd]
 [<c0435f3b>] autoremove_wake_function+0x0/0x2d
 [<f8856b60>] kjournald+0x0/0x1c2 [jbd]
 [<c0435e79>] kthread+0xc0/0xeb
 [<c0435db9>] kthread+0x0/0xeb
 [<c0405c3b>] kernel_thread_helper+0x7/0x10
 =======================
Code: 00 0f 85 80 00 00 00 8b 81 84 04 00 00 05 90 01 00 00 39 87 10 02 00
00 76 6d 8b 94 9f 48 11 00 00 8b 44 24 10 03 82 94 00 00 00 <0f> b6 00 01
c0 03 82 9c 08 00 00 0f bf 00 05 d0 07 00 00 3d a0
EIP: [<f8b67712>] handle_receive+0x2bc/0x617 [wctdm24xxp] SS:ESP
0068:c074cf84
 BUG: warning at arch/i386/kernel/crash.c:145/nmi_shootdown_cpus()
(Tainted: G     )
 [<c041b332>] machine_crash_shutdown+0x88/0xc5
 [<c04441f5>] crash_kexec+0x96/0xad
 [<f8b67712>] handle_receive+0x2bc/0x617 [wctdm24xxp]
 [<c04064b3>] die+0x233/0x291
 [<c060ae93>] do_page_fault+0x3ea/0x4b8
 [<c060aaa9>] do_page_fault+0x0/0x4b8
 [<c0405a71>] error_code+0x39/0x40
 [<f8b67712>] handle_receive+0x2bc/0x617 [wctdm24xxp]
 [<f8b78faf>] vb_isr+0x1af/0x634 [wctdm24xxp]
 [<c044deb3>] handle_IRQ_event+0x23/0x49
 [<c044df5d>] __do_IRQ+0x84/0xd6
 [<c04073f4>] do_IRQ+0x93/0xae
 [<c040592e>] common_interrupt+0x1a/0x20
 [<f8852dde>] journal_file_buffer+0x44/0x62 [jbd]
 [<f88537c1>] journal_commit_transaction+0x961/0xf18 [jbd]
 [<c042d934>] lock_timer_base+0x15/0x2f
 [<f8856c01>] kjournald+0xa1/0x1c2 [jbd]
 [<c0435f3b>] autoremove_wake_function+0x0/0x2d
 [<f8856b60>] kjournald+0x0/0x1c2 [jbd]
 [<c0435e79>] kthread+0xc0/0xeb
 [<c0435db9>] kthread+0x0/0xeb
 [<c0405c3b>] kernel_thread_helper+0x7/0x10
 ======================= 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-04-27 04:08 hahmed         Note Added: 0103783                          
======================================================================




More information about the asterisk-bugs mailing list