From 82ba10bb47dafd14fbce5c75a8e0b50286c36736 Mon Sep 17 00:00:00 2001 From: Kinsey Moore <kmoore@digium.com> Date: Thu, 15 Aug 2013 12:17:41 +0000 Subject: [PATCH] Fix feature_attended_transfer test 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 | 2 ++ main/bridge.c | 2 ++ main/features.c | 3 --- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index 01060976d7..79631225e2 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -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 */ diff --git a/main/bridge.c b/main/bridge.c index bc983b1b3c..b53079552a 100644 --- a/main/bridge.c +++ b/main/bridge.c @@ -3204,6 +3204,8 @@ int ast_bridge_features_init(struct ast_bridge_features *features) return -1; } + features->dtmf_passthrough = 1; + return 0; } diff --git a/main/features.c b/main/features.c index 6585aeccdb..3df0555af4 100644 --- a/main/features.c +++ b/main/features.c @@ -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); -- GitLab