[svn-commits] rmudgett: branch 1.4 r1489 - /branches/1.4/q931.c
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu Feb 11 15:47:28 CST 2010
Author: rmudgett
Date: Thu Feb 11 15:47:24 2010
New Revision: 1489
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1489
Log:
Must send DISCONNECT if we have sent a response to a SETUP message.
Q.931 Section 5.3.2 a) says we send a RELEASE_COMPLETE to reject a call
SETUP if we have not already sent a message in response to the SETUP
message.
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=1489&r1=1488&r2=1489
==============================================================================
--- branches/1.4/q931.c (original)
+++ branches/1.4/q931.c Thu Feb 11 15:47:24 2010
@@ -5290,6 +5290,26 @@
case PRI_CAUSE_REQUESTED_CHAN_UNAVAIL:
case PRI_CAUSE_IDENTIFIED_CHANNEL_NOTEXIST:
case PRI_CAUSE_UNALLOCATED:
+ /* See Q.931 Section 5.3.2 a) */
+ switch (c->ourcallstate) {
+ case Q931_CALL_STATE_NULL:
+ case Q931_CALL_STATE_CALL_INITIATED:
+ case Q931_CALL_STATE_CALL_PRESENT:
+ /*
+ * Send RELEASE_COMPLETE because some other message
+ * has not been sent previously.
+ */
+ disconnect = 0;
+ release_compl = 1;
+ break;
+ default:
+ /*
+ * Send DISCONNECT because some other message
+ * has been sent previously.
+ */
+ break;
+ }
+ break;
case PRI_CAUSE_INVALID_CALL_REFERENCE:
/* We'll send RELEASE_COMPLETE with these causes */
disconnect = 0;
More information about the svn-commits
mailing list