[asterisk-bugs] [Asterisk 0018723]: [branch] DTMF on outbound call leg does not match inbound DTMF duration

Asterisk Bug Tracker noreply at bugs.digium.com
Sat Feb 5 14:08:11 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18723 
====================================================================== 
Reported By:                oej
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18723
Category:                   Core/RTP
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.39.1 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2011-02-01 05:41 CST
Last Modified:              2011-02-05 14:08 CST
====================================================================== 
Summary:                    [branch] DTMF on outbound call leg does not match
inbound DTMF duration
Description: 
If two SIP phones is bridged over Asterisk, Asterisk will always have the
wrong length to the DTMF audio. The primary causes are:

 - DTMF duration is added with 160 ms for each BEGIN packet. The DTMF
Begin is transmitted three times and should have the same duration
 - One extra DTMF continue packet is generated directly after the BEGIN
packets and adds another 160 ms
 - The END packet shows the actual inbound duration + 160 since the CONT
code adds 160 after sending
 - For longer DTMF, we actually cut DTMF short since we cut DTMF off as
soon as we received the DTMF END on the inbound channel.

The attached patch solves these issues. 

This seems to affect all released versions of Asterisk

Branch:
http://svn.digium.com/svn/asterisk/team/oej/rana-dtmf-rtp-duration-1.6.0
====================================================================== 

---------------------------------------------------------------------- 
 (0131533) devmod (reporter) - 2011-02-05 14:08
 https://issues.asterisk.org/view.php?id=18723#c131533 
---------------------------------------------------------------------- 
I have the same issue on svn/asterisk/branches/1.6.2

I have one endpoint that starts at 160 and ends at 960, Asterisk console
shows like it has been recognized but nothing is going out the wire to the
other end.... 

[Feb  5 20:54:37] DTMF[25354]: channel.c:3051 __ast_read: DTMF begin '1'
received on SIP/acme.com:5060-000001ac
[Feb  5 20:54:37] DTMF[25354]: channel.c:3061 __ast_read: DTMF begin
passthrough '1' on SIP/acme.com:5060-000001ac
[Feb  5 20:54:38] DTMF[25354]: channel.c:2966 __ast_read: DTMF end '1'
received on SIP/acme.com:5060-000001ac, duration 120 ms
[Feb  5 20:54:38] DTMF[25354]: channel.c:3006 __ast_read: DTMF end
accepted with begin '1' on SIP/acme.com:5060-000001ac
[Feb  5 20:54:38] DTMF[25354]: channel.c:3035 __ast_read: DTMF end
passthrough '1' on SIP/acme.com:5060-000001ac

I also tested with this other endpoint which starts at 0 and ends at 1296,
asterisk recognizes it correctly and sends to to the other side as
(160-1760 (1760 x3 marked as end)) 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-05 14:08 devmod         Note Added: 0131533                          
======================================================================




More information about the asterisk-bugs mailing list