Finish up on transferee channel before return on failure.

Issue 10821, patch by Ivan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Jason Parker 18 years ago
parent f741decf40
commit 01480eb1fb

@ -816,8 +816,11 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
return FEATURE_RETURN_SUCCESS; return FEATURE_RETURN_SUCCESS;
} }
if (check_compat(transferer, newchan)) if (check_compat(transferer, newchan)) {
/* we do mean transferee here, NOT transferer */
finishup(transferee);
return -1; return -1;
};
memset(&bconfig,0,sizeof(struct ast_bridge_config)); memset(&bconfig,0,sizeof(struct ast_bridge_config));
ast_set_flag(&(bconfig.features_caller), AST_FEATURE_DISCONNECT); ast_set_flag(&(bconfig.features_caller), AST_FEATURE_DISCONNECT);
ast_set_flag(&(bconfig.features_callee), AST_FEATURE_DISCONNECT); ast_set_flag(&(bconfig.features_callee), AST_FEATURE_DISCONNECT);
@ -831,8 +834,10 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
return FEATURE_RETURN_SUCCESS; return FEATURE_RETURN_SUCCESS;
} }
if (check_compat(transferee, newchan)) if (check_compat(transferee, newchan)) {
finishup(transferee);
return -1; return -1;
};
ast_indicate(transferee, AST_CONTROL_UNHOLD); ast_indicate(transferee, AST_CONTROL_UNHOLD);

Loading…
Cancel
Save