Merged revisions 77536 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Fri, 27 Jul 2007 16:29:40 +0000 (16:29 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 27 Jul 2007 16:29:40 +0000 (16:29 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77536 | file | 2007-07-27 13:27:16 -0300 (Fri, 27 Jul 2007) | 6 lines

(closes issue #10323)
Reported by: julianjm
Patches:
      chan_sip_device_state_hold_fix.v1.diff.txt uploaded by julianjm (license 99)
Clear ONHOLD flag when decrementing the onHold peer count. If we did not do this the count may keep decreasing.

........

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

channels/chan_sip.c

index 659690a..17b0768 100644 (file)
@@ -3616,8 +3616,10 @@ static int update_call_counter(struct sip_pvt *fup, int event)
                        ast_clear_flag(&fup->flags[1], SIP_PAGE2_INC_RINGING);
                }
                /* Decrement onhold count if applicable */
-               if (ast_test_flag(&fup->flags[1], SIP_PAGE2_CALL_ONHOLD) && global_notifyhold)
+               if (ast_test_flag(&fup->flags[1], SIP_PAGE2_CALL_ONHOLD) && global_notifyhold) {
+                       ast_clear_flag(&fup->flags[1], SIP_PAGE2_CALL_ONHOLD);
                        sip_peer_hold(fup, FALSE);
+               }
                if (sipdebug)
                        ast_debug(2, "Call %s %s '%s' removed from call limit %d\n", outgoing ? "to" : "from", u ? "user":"peer", name, *call_limit);
                break;