diff options
author | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-02 18:52:55 +0000 |
---|---|---|
committer | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-10-02 18:52:55 +0000 |
commit | 62bd30d9725c38b364c29ca7363b143d91c07df7 (patch) | |
tree | 5a5ca8035335e17343489c85a8f4f5fe60b94f73 /res | |
parent | 1ed2a899a5c0c910d9acdf72b3931a50cfa78507 (diff) |
Finish up on transferee channel before return on failure.
Issue 10821, patch by Ivan
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84410 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_features.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/res/res_features.c b/res/res_features.c index 0cf317843..e738d1477 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -816,8 +816,11 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st 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; + }; memset(&bconfig,0,sizeof(struct ast_bridge_config)); ast_set_flag(&(bconfig.features_caller), 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; } - if (check_compat(transferee, newchan)) + if (check_compat(transferee, newchan)) { + finishup(transferee); return -1; + }; ast_indicate(transferee, AST_CONTROL_UNHOLD); |