Summary:ASTERISK-21876: Bridge API Enhancements - add CHANNEL(dtmf-features)=[tkhwx] feature
Reporter:Matt Jordan (mjordan)Labels:Asterisk12
Date Opened:2013-06-06 13:23:47Date Closed:2013-07-23 16:33:04
Versions:Frequency of
Description:Features are typically added to a channel by an application. This includes the ability to hangup via one touch hangup; transfer the call; park the call; etc.

Ideally, we would be able to set the ability for a channel to perform these functions via a function call. While the {{FEATURE}} and {{FEATUREMAP}} functions let you set the DTMF key to enable a feature and the properties of certain features, they don't actually enable the feature on the channel - that still has to be done by the Dial, Bridge, Queue, or other application.

This function should:
* Enable or disable the DTMF features on a channel when set
** Setting options should remove all previous options and set the options specified
** If no options are specified, all options are removed
* Retrieve the DTMF features set on a channel when read

Because we can execute pre-dial and pre-bridge handlers on a channel, this only needs to account for the settings for the 'caller' channel, not the 'callee/peer'. Thus, the lower-case options are sufficient to be specified via the function.

The syntax should be:



This addresses the following *BUGBUG* comment in trunk:

{{./funcs/func_channel.c: * BUGBUG add CHANNEL(dtmf_features)=tkhwx sets channel dtmf features to specified. (transfer, park, hangup, monitor, mixmonitor)}}