Problem with tone regeneration related to on-demand call recording

I have noticed a problem relating to tone generation (or regeneration) on 1.4.21.2 with freepbx 2.8.0.3 and related modules…

I HAVE got on demand recording working (procedure noted below) but here’s the issue… enabling call recording (notably adding the wW options) seems to cause asterisk to re-generate touch tones which seems to be where the problem is.

In this scenario, touch tones get regenerated in a distorted way. The distortion causes the tones to be misinterpeted by the receiving server…

For example if I dial 1223334 I will see 1 2 3 4 on the receiving side (but the 2 and 3 will be much longer tones…

removing the W option seems to eliminate this problem.

DOES ANYONE HAVE ANY IDEAS PLEASE?

At the moment we have disabled the W option, but we want it to work as well.

Thanks!

Note, for call recording to work as expected, the internal dial command needs to contain w while the OUTBOUND dial command needs to contain W. Putting W on the internal dial command seems to allow the outside party to initiate call recording (not really what you want). Is this a bug?

Our set up of these features was like this:

N.B. You need to enable UniqueID logging for all gui tools to be able to access recorded calls.

EDIT THE FILE /etc/asterisk/features_general_custom.conf

featuredigittimeout = 2000
courtesytone=beep

N.B. Only the person initiating the recording can hear the beep.

IN THE FREEPBX GUI:

GENERAL SETTINGS (add these to your existing settings):
Asterisk Dial command options:w
Asterisk Outbound Dial command options:W

Setting the t allow the call recipient to transfer the call (*2 or ##).
Setting the T allow the call initiator to transfer the call (*2 or ##).
Setting the w allows the call recipient to toggle recording (*1).
Setting the W allows the call initiator to toggle call recording (*1).

The above settings allow the in-house user to toggle recording and transfer a call when making or receiving a call – setting both tw & TW on each of the above would allow outside users to toggle call recording and transfer (not something I think we want).

FEATURE CODES:
In-Call Asterisk Attended Transfer
In-Call Asterisk Blind Transfer
In-Call Asterisk Disconnect Code
In-Call Asterisk Toggle Call Recording

Per Extension, set the Recording options:
Record Incoming: On Demand
Record Outgoing: On Demand

On Demand allows *1 to function.
Always and Never should be obvious.