[asterisk-bugs] [Asterisk 0015924]: pulse and hardware dtmf digits not detected in chan_dahdi/trunk

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Oct 6 11:20:45 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15924 
====================================================================== 
Reported By:                tzafrir
Assigned To:                jpeeler
====================================================================== 
Project:                    Asterisk
Issue ID:                   15924
Category:                   Channels/chan_dahdi
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     closed
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 219719 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-09-21 10:17 CDT
Last Modified:              2009-10-06 11:20 CDT
====================================================================== 
Summary:                    pulse and hardware dtmf digits not detected in
chan_dahdi/trunk
Description: 
sig_analog (in the chan_dahdi rewrite) fails to detect pulse digits events
as well as DTMF up events sent from DAHDI.

The events 'pulse digit N', 'dtmf digit N down', and 'dtmf digit N up' are
marked by (N | 1<<16) , (N | 1<<17) and (N | 1<<18), respectively. See
dahdi/include/user.h .

However in chan_dahdi.c:my_get_event() , the raw event number is filtered
through dahdievent_to_analogevent() . Which does not find those events and
thus returns ANALOG_EVENT_ERROR . This has the unlucky value of 13. Sadly,
though, computers are over-rational and don't consider 13 as an error
value. And generally this functionality is missing.

Generally implementing pulse dialing should be simple. Supporting DTMF
down/up events involves muting the line.
====================================================================== 

---------------------------------------------------------------------- 
 (0111910) svnbot (reporter) - 2009-10-06 11:20
 https://issues.asterisk.org/view.php?id=15924#c111910 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 222237

U   trunk/channels/chan_dahdi.c

------------------------------------------------------------------------
r222237 | tzafrir | 2009-10-06 11:20:43 -0500 (Tue, 06 Oct 2009) | 12
lines

Make sure digit events are not reported as "ERROR"

dahdievent_to_analogevent used a simple switch statement to convert DAHDI
event numbers to "ANALOG_*" event numbers. However "digit" events
(DAHDI_EVENT_PULSEDIGIT, DAHDI_EVENT_DTMFDOWN, DAHDI_EVENT_DTMFUP)
are accompannied by the digit in the low word of the event number.

This fix makes dahdievent_to_analogevent() return the event number as-is
for such an event.

This is also required to fix https://issues.asterisk.org/view.php?id=15924 (in
addition to r222108).  

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=222237 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-10-06 11:20 svnbot         Checkin                                      
2009-10-06 11:20 svnbot         Note Added: 0111910                          
======================================================================




More information about the asterisk-bugs mailing list