summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2013-08-15 12:17:41 +0000
committerKinsey Moore <kmoore@digium.com>2013-08-15 12:17:41 +0000
commit82ba10bb47dafd14fbce5c75a8e0b50286c36736 (patch)
treea65ee523fc3d930d7fc473cf313a134494c06ad4
parent3f46d461bf294a7047a370255adaddbc67006723 (diff)
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
-rw-r--r--apps/app_confbridge.c2
-rw-r--r--main/bridge.c2
-rw-r--r--main/features.c3
3 files changed, 4 insertions, 3 deletions
diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c
index 01060976d..79631225e 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 bc983b1b3..b53079552 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 6585aeccd..3df0555af 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);