Merged revisions 75623 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 18 Jul 2007 15:45:18 +0000 (15:45 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 18 Jul 2007 15:45:18 +0000 (15:45 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75623 | file | 2007-07-18 12:44:02 -0300 (Wed, 18 Jul 2007) | 2 lines

Few more places that needs to check for onhold state.

........

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

channels/chan_sip.c

index 6153492..83c6e7b 100644 (file)
@@ -3683,7 +3683,7 @@ static int sip_hangup(struct ast_channel *ast)
        }
 
        if (ast_test_flag(&p->flags[0], SIP_DEFER_BYE_ON_TRANSFER)) {
-               if (ast_test_flag(&p->flags[0], SIP_INC_COUNT)) {
+               if (ast_test_flag(&p->flags[0], SIP_INC_COUNT) || ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD)) {
                        if (sipdebug)
                                ast_debug(1, "update_call_counter(%s) - decrement call limit counter on hangup\n", p->username);
                        update_call_counter(p, DEC_CALL_LIMIT);
@@ -3707,7 +3707,7 @@ static int sip_hangup(struct ast_channel *ast)
                ast_debug(1, "Hanging up zombie call. Be scared.\n");
 
        sip_pvt_lock(p);
-       if (ast_test_flag(&p->flags[0], SIP_INC_COUNT)) {
+       if (ast_test_flag(&p->flags[0], SIP_INC_COUNT) || ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD)) {
                if (sipdebug)
                        ast_debug(1, "update_call_counter(%s) - decrement call limit counter on hangup\n", p->username);
                update_call_counter(p, DEC_CALL_LIMIT);
@@ -15011,7 +15011,7 @@ static int handle_request_cancel(struct sip_pvt *p, struct sip_request *req)
                return 0;
        }
 
-       if (ast_test_flag(&p->flags[0], SIP_INC_COUNT)) 
+       if (ast_test_flag(&p->flags[0], SIP_INC_COUNT) || ast_test_flag(&p->flags[1], SIP_PAGE2_CALL_ONHOLD)) 
                update_call_counter(p, DEC_CALL_LIMIT);
 
        stop_media_flows(p); /* Immediately stop RTP, VRTP and UDPTL as applicable */