[svn-commits] rmudgett: branch rmudgett/call_waiting r251730 - /team/rmudgett/call_waiting/...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Mar 10 15:54:40 CST 2010


Author: rmudgett
Date: Wed Mar 10 15:54:36 2010
New Revision: 251730

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=251730
Log:
Fix call waiting hangup if a channel is still not available when the CONNECT comes in.

Modified:
    team/rmudgett/call_waiting/channels/sig_pri.c

Modified: team/rmudgett/call_waiting/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/call_waiting/channels/sig_pri.c?view=diff&rev=251730&r1=251729&r2=251730
==============================================================================
--- team/rmudgett/call_waiting/channels/sig_pri.c (original)
+++ team/rmudgett/call_waiting/channels/sig_pri.c Wed Mar 10 15:54:36 2010
@@ -3651,8 +3651,6 @@
 							sig_pri_handle_subcmds(pri, chanpos, e->e, e->answer.channel,
 								e->answer.subcmds, e->answer.call);
 							sig_pri_cc_generic_check(pri, chanpos, AST_CC_CCBS);
-							pri->pvts[chanpos]->alreadyhungup = 1;
-							pri_hangup(pri->pri, e->answer.call, PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION);
 							if (pri->pvts[chanpos]->owner) {
 								pri->pvts[chanpos]->owner->hangupcause = PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION;
 								switch (pri->pvts[chanpos]->owner->_state) {
@@ -3666,8 +3664,9 @@
 								}
 							} else {
 								pri->pvts[chanpos]->is_call_waiting = 0;
+								ast_atomic_fetchadd_int(&pri->num_call_waiting_calls, -1);
+								pri_hangup(pri->pri, e->answer.call, PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION);
 								pri->pvts[chanpos]->call = NULL;
-								ast_atomic_fetchadd_int(&pri->num_call_waiting_calls, -1);
 							}
 							sig_pri_unlock_private(pri->pvts[chanpos]);
 							break;




More information about the svn-commits mailing list