aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-18 23:18:32 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-18 23:18:32 +0000
commit62a7dfb3025ec7d23f853095746092305824f76c (patch)
treebc4cf7103c009b198fc745785e5f37c1bb3d4046 /channels/chan_sip.c
parentc147f3272d4bc200c8ba3c91489066efe25e071c (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: http://svn.digium.com/svn/asterisk/trunk@319661 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-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);