[Home]

Summary:ASTERISK-25277: Asterisk forwards DTMF when call is on hold
Reporter:NITESH BANSAL (nbansal)Labels:
Date Opened:2015-07-24 09:09:47Date Closed:
Priority:MinorRegression?
Status:Open/NewComponents:Resources/res_rtp_asterisk
Versions:11.4.0 13.18.4 Frequency of
Occurrence
Related
Issues:
Environment:debian wheezyAttachments:( 0) dont_forward_dtmf_when_on_hold.patch
( 1) full_ast_139_logs.txt
Description:Scenario:
Audio call going on with P2P bridge enabled and calling party sending RTP event DTMF packets.
In the middle of DTMF, called party puts the call on hold, call hold with break P2P bridge.
While the call is on hold, if asterisk receives a continuation packet from calling side, it creates a new DTMF and forwards it to the called party.
This behavior seems incorrect to me.
In my opinion, it should just ignore any DTMF packets received while call is on hold.

Regards,
Nitesh
Comments:By: Asterisk Team (asteriskteam) 2015-07-24 09:09:49.952-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

By: NITESH BANSAL (nbansal) 2015-07-24 09:19:24.281-0500

Proposed fix for this.
It checks  for the flag FLAG_HOLD and returns immediately if it is set.

By: NITESH BANSAL (nbansal) 2015-07-24 09:22:58.065-0500

Full logs of asterisk with rtp logging enabled, you can see in the logs that after
receving the REINVITE with a line
{code}
a=inactive
{code}
Asterisk starts regenerating DTMF on the receipt of DTMF continuation packets from the caller.