[asterisk-commits] file: trunk r88673 - in /trunk: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Nov 5 12:52:12 CST 2007
Author: file
Date: Mon Nov 5 12:52:12 2007
New Revision: 88673
URL: http://svn.digium.com/view/asterisk?view=rev&rev=88673
Log:
Merged revisions 88671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r88671 | file | 2007-11-05 14:47:13 -0400 (Mon, 05 Nov 2007) | 7 lines
If a SIP channel is put on hold multiple times do not keep incrementing the onHold value.
(closes issue #11085)
Reported by: francesco_r
Tested by: blitzrage
(closes issue #10474)
Reported by: acennami
........
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=88673&r1=88672&r2=88673
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Nov 5 12:52:12 2007
@@ -6089,6 +6089,7 @@
sip_peer_hold(p, FALSE);
ast_clear_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD); /* Clear both flags */
} else if (!sin.sin_addr.s_addr || (sendonly && sendonly != -1)) {
+ int already_on_hold = ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD);
ast_queue_control_data(p->owner, AST_CONTROL_HOLD,
S_OR(p->mohsuggest, NULL),
!ast_strlen_zero(p->mohsuggest) ? strlen(p->mohsuggest) + 1 : 0);
@@ -6112,7 +6113,7 @@
ast_set_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD_INACTIVE);
else
ast_set_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD_ACTIVE);
- if (global_notifyhold)
+ if (global_notifyhold && !already_on_hold)
sip_peer_hold(p, TRUE);
}
More information about the asterisk-commits
mailing list