diff options
author | Olle Johansson <oej@edvina.net> | 2007-02-21 08:39:15 +0000 |
---|---|---|
committer | Olle Johansson <oej@edvina.net> | 2007-02-21 08:39:15 +0000 |
commit | 4534fbb7bcecf82c6791e1ffc8d8cf156a3674ee (patch) | |
tree | dd9d4f9007a04fdc2f32a3b8cf109867e0a12599 /channels | |
parent | 8f28800765bf15afce085a96dc75974e2bbceddb (diff) |
Merged revisions 55834 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r55834 | oej | 2007-02-21 09:32:34 +0100 (Wed, 21 Feb 2007) | 2 lines
Issue #8848 - Turn off lamp more quickly after transfer (decrement inuse early on transferer's call leg)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3fed33dbb..21709d6ba 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3578,6 +3578,11 @@ 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 (option_debug && sipdebug) + ast_log(LOG_DEBUG, "update_call_counter(%s) - decrement call limit counter on hangup\n", p->username); + update_call_counter(p, DEC_CALL_LIMIT); + } if (option_debug >3) ast_log(LOG_DEBUG, "SIP Transfer: Not hanging up right now... Rescheduling hangup for %s.\n", p->callid); if (p->autokillid > -1) @@ -3601,9 +3606,11 @@ static int sip_hangup(struct ast_channel *ast) ast_log(LOG_DEBUG, "Hanging up zombie call. Be scared.\n"); sip_pvt_lock(p); - if (option_debug && sipdebug) - ast_log(LOG_DEBUG, "update_call_counter(%s) - decrement call limit counter on hangup\n", p->username); - update_call_counter(p, DEC_CALL_LIMIT); + if (ast_test_flag(&p->flags[0], SIP_INC_COUNT)) { + if (option_debug && sipdebug) + ast_log(LOG_DEBUG, "update_call_counter(%s) - decrement call limit counter on hangup\n", p->username); + update_call_counter(p, DEC_CALL_LIMIT); + } /* Determine how to disconnect */ if (p->owner != ast) { |