]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix feature_attended_transfer test
authorKinsey Moore <kmoore@digium.com>
Thu, 15 Aug 2013 12:17:41 +0000 (12:17 +0000)
committerKinsey Moore <kmoore@digium.com>
Thu, 15 Aug 2013 12:17:41 +0000 (12:17 +0000)
The feature_attended_transfer test is failing due to Asterisk not
passing DTMF in the bridges created for internal attended transfers.
This sets the features initialization routine to set this flag by
default and adjusts the basic bridge and confbridge's use of the
bridging system accordingly as per Richard's suggestion instead of
adjusting this individual case. This change allows the necessary DTMF
to pass through the attended transfer bridge and complete the test
successfully.

Review: https://reviewboard.asterisk.org/r/2759/
(closes issue ASTERISK-22222)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396724 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_confbridge.c
main/bridge.c
main/features.c

index 01060976d7737995fa535f96786c37071a0a5867..79631225e271c21cfdd833cba36174333fbc2269 100644 (file)
@@ -1587,6 +1587,8 @@ static int confbridge_exec(struct ast_channel *chan, const char *data)
        /* Set if DTMF should pass through for this user or not */
        if (ast_test_flag(&user.u_profile, USER_OPT_DTMF_PASS)) {
                user.features.dtmf_passthrough = 1;
+       } else {
+               user.features.dtmf_passthrough = 0;
        }
 
        /* Set dsp threshold values if present */
index bc983b1b3c07b2d136b9420e3adc456f183f4dbb..b53079552a35d748d1e74c40aae41526780c2d84 100644 (file)
@@ -3204,6 +3204,8 @@ int ast_bridge_features_init(struct ast_bridge_features *features)
                return -1;
        }
 
+       features->dtmf_passthrough = 1;
+
        return 0;
 }
 
index 6585aeccdb70ac41ed9242d2383845465821876e..3df0555af4c77cf336ba44fe2592ddeb40294e73 100644 (file)
@@ -797,9 +797,6 @@ int ast_bridge_channel_setup_features(struct ast_bridge_channel *bridge_channel)
 {
        int res = 0;
 
-       /* Always pass through any DTMF digits. */
-       bridge_channel->features->dtmf_passthrough = 1;
-
        res |= setup_bridge_features_builtin(bridge_channel->features, bridge_channel->chan);
        res |= setup_bridge_features_dynamic(bridge_channel->features, bridge_channel->chan);