]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 271831 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Tue, 22 Jun 2010 15:49:41 +0000 (15:49 +0000)
committerDavid Vossel <dvossel@digium.com>
Tue, 22 Jun 2010 15:49:41 +0000 (15:49 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r271831 | dvossel | 2010-06-22 10:46:22 -0500 (Tue, 22 Jun 2010) | 10 lines

  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/branches/1.6.2@271832 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index 4370014b32843f3da01063a30c0a50ad449baaf5..3675a9d6a83484b5b55f39ea132d8b6018744fce 100644 (file)
@@ -1688,6 +1688,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;
        }
 }