[asterisk-commits] trunk r16688 - /trunk/channels/chan_sip.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri Mar 31 08:07:37 MST 2006


Author: oej
Date: Fri Mar 31 09:07:36 2006
New Revision: 16688

URL: http://svn.digium.com/view/asterisk?rev=16688&view=rev
Log:
Don't accept new INVITE if we already have one pending.

Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?rev=16688&r1=16687&r2=16688&view=diff
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Fri Mar 31 09:07:36 2006
@@ -10584,6 +10584,16 @@
 		/* We do NOT destroy p here, so that our response will be accepted */
 		return 0;
 	}
+
+	if (!ignore && p->pendinginvite) {
+		/* We already have a pending invite. Sorry. You are on hold. */
+		transmit_response(p, "491 Request Pending", req);
+		if (option_debug > 1)
+			ast_log(LOG_DEBUG, "Got INVITE on call where we already have pending INVITE, deferring that - %s\n", p->callid);
+		/* Do NOT destroy dialog */
+		return 0;
+	}
+
 	if (!ignore) {
 		/* Use this as the basis */
 		if (debug)



More information about the asterisk-commits mailing list