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 c81ec6f..4a01cd4 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);