summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2011-05-18 23:18:32 +0000
committerTerry Wilson <twilson@digium.com>2011-05-18 23:18:32 +0000
commit573108e63ca126e56771b49ab8c826c7a185f1c1 (patch)
treebc4cf7103c009b198fc745785e5f37c1bb3d4046
parent99aaceacad5fe9039a62bb161467d59d00cdeea9 (diff)
Merged revisions 319654 via svnmerge from
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
-rw-r--r--channels/chan_sip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index c81ec6f86..4a01cd434 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -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);