summaryrefslogtreecommitdiff
path: root/main/features.c
diff options
context:
space:
mode:
authorDavid Vossel <dvossel@digium.com>2010-06-22 15:46:22 +0000
committerDavid Vossel <dvossel@digium.com>2010-06-22 15:46:22 +0000
commit6d82dbb905b78360599194bbc5881342084d1972 (patch)
tree28abcee40a6e8405b49d597da618ea698a9b7dbe /main/features.c
parent519b5a09e42d31bcd7275e15049e6b0ff2cc7d66 (diff)
fixes attended transfer behavior when both transferee and transferer hung up
If both the transferer and transferee of a attended transfer hangup before the new channel picks up, the new channel should be hung up as well as it has no endpoint to talk to. This mirrors the expected behavior used in 1.4. (closes issue #17444) Reported by: corruptor git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/features.c')
-rw-r--r--main/features.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/features.c b/main/features.c
index fff94feeb..a973004ba 100644
--- a/main/features.c
+++ b/main/features.c
@@ -2117,6 +2117,11 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
} else {
/* Transferee hung up */
finishup(transferee);
+ /* At this point both the transferer transferee have hungup,
+ * so if newchan is up, hang it up as it has no one to talk to */
+ if (newchan) {
+ ast_hangup(newchan);
+ }
return -1;
}
}