summaryrefslogtreecommitdiff
path: root/apps/app_bridgewait.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2013-08-14 21:28:21 +0000
committerRichard Mudgett <rmudgett@digium.com>2013-08-14 21:28:21 +0000
commit08991ac281974025eec8bf6d9e74dad429fb0d4c (patch)
tree12d3d54cd48cb208620182e8f80b2c87c6d38805 /apps/app_bridgewait.c
parent0f31413bca3d8eca13a0873b0abc3a930bef5a04 (diff)
app_bridgewait: Inhibit local channel optimizations to the bridge.
Holding bridges can allow local channel move/swap optimization to the bridge. However, we cannot allow it for the BridgeWait holding bridge because the call will lose the channel roles and dialplan location as a result. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396695 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_bridgewait.c')
-rw-r--r--apps/app_bridgewait.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/app_bridgewait.c b/apps/app_bridgewait.c
index 5697a79d0..f97f5f977 100644
--- a/apps/app_bridgewait.c
+++ b/apps/app_bridgewait.c
@@ -349,10 +349,16 @@ static struct wait_bridge_wrapper *get_wait_bridge_wrapper(const char *bridge_na
return wrapper;
}
+ /*
+ * Holding bridges can allow local channel move/swap
+ * optimization to the bridge. However, we cannot allow it for
+ * this holding bridge because the call will lose the channel
+ * roles and dialplan location as a result.
+ */
bridge = ast_bridge_base_new(AST_BRIDGE_CAPABILITY_HOLDING,
AST_BRIDGE_FLAG_MERGE_INHIBIT_TO | AST_BRIDGE_FLAG_MERGE_INHIBIT_FROM
- | AST_BRIDGE_FLAG_SWAP_INHIBIT_FROM | AST_BRIDGE_FLAG_TRANSFER_PROHIBITED
- | AST_BRIDGE_FLAG_DISSOLVE_EMPTY);
+ | AST_BRIDGE_FLAG_SWAP_INHIBIT_TO | AST_BRIDGE_FLAG_SWAP_INHIBIT_FROM
+ | AST_BRIDGE_FLAG_TRANSFER_PROHIBITED | AST_BRIDGE_FLAG_DISSOLVE_EMPTY);
if (!bridge) {
return NULL;