[svn-commits] rmudgett: branch 1.4 r1255 - /branches/1.4/q931.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Nov 2 17:29:03 CST 2009


Author: rmudgett
Date: Mon Nov  2 17:28:59 2009
New Revision: 1255

URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1255
Log:
NT PTMP did not report busy when calling a busy phone.

The caller would not get a busy indication when calling a busy phone.
Timer T303 is not supposed to be stopped when RELEASE_COMPLETE received.
When T303 expires we will now report the last clearing cause code to the
caller if we received one.

Modified:
    branches/1.4/q931.c

Modified: branches/1.4/q931.c
URL: http://svnview.digium.com/svn/libpri/branches/1.4/q931.c?view=diff&rev=1255&r1=1254&r2=1255
==============================================================================
--- branches/1.4/q931.c (original)
+++ branches/1.4/q931.c Mon Nov  2 17:28:59 2009
@@ -4473,7 +4473,10 @@
 	c->t303_expirycnt++;
 	c->t303_timer = 0;
 
-	if (c->t303_expirycnt < 2) {
+	if (c->cause != -1) {
+		/* We got a DISCONNECT, RELEASE, or RELEASE_COMPLETE and no other responses. */
+		pri_fake_clearing(c);
+	} else if (c->t303_expirycnt < 2) {
 		if (ctrl->subchannel && !ctrl->bri)
 			res = send_message(ctrl, c, Q931_SETUP, gr303_setup_ies);
 		else if (c->cis_call)
@@ -6581,7 +6584,6 @@
 		}
 		break;
 	case Q931_RELEASE_COMPLETE:
-		stop_t303(c);
 		c->hangupinitiated = 1;
 		UPDATE_OURCALLSTATE(ctrl, c, Q931_CALL_STATE_NULL);
 		c->peercallstate = Q931_CALL_STATE_NULL;




More information about the svn-commits mailing list