]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 319654 via svnmerge from
authorTerry Wilson <twilson@digium.com>
Wed, 18 May 2011 23:18:32 +0000 (23:18 +0000)
committerTerry Wilson <twilson@digium.com>
Wed, 18 May 2011 23:18:32 +0000 (23:18 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319654 | twilson | 2011-05-18 16:15:58 -0700 (Wed, 18 May 2011) | 22 lines

  Merged revisions 319653 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r319653 | twilson | 2011-05-18 16:11:57 -0700 (Wed, 18 May 2011) | 15 lines

    Merged revisions 319652 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r319652 | twilson | 2011-05-18 16:04:35 -0700 (Wed, 18 May 2011) | 8 lines

      Make sure everyone gets an unhold when a transfer succeeds

      Some phones, like the Snom phones, send a hold to the transfer target after
      before sending the REFER. We need to make sure that we unhold the parties
      that are being connected after the masquerade. If Local channels with the /nm
      option are used when dialing the parties, hold music would still be playing on
      the transfer target, even after being connected with the transferee.
    ........
  ................
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319661 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index c81ec6f86f549a6e1b53ba73b73fccf775037def..4a01cd434176c5a87df198e951964974e401f4ab 100644 (file)
@@ -22659,6 +22659,9 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual *
                sip_pvt_lock(transferer); /* the transferer pvt is expected to remain locked on return */
 
                ast_indicate(target.chan1, AST_CONTROL_UNHOLD);
+               if (target.chan2) {
+                       ast_indicate(target.chan2, AST_CONTROL_UNHOLD);
+               }
 
                if (current->chan2 && current->chan2->_state == AST_STATE_RING) {
                        ast_indicate(target.chan1, AST_CONTROL_RINGING);