[svn-commits] mmichelson: branch 1.4 r208262 - /branches/1.4/channels/chan_sip.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Jul 23 10:43:11 CDT 2009


Author: mmichelson
Date: Thu Jul 23 10:43:07 2009
New Revision: 208262

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=208262
Log:
Properly handle 183 responses which do not contain an SDP.


Modified:
    branches/1.4/channels/chan_sip.c

Modified: branches/1.4/channels/chan_sip.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.4/channels/chan_sip.c?view=diff&rev=208262&r1=208261&r2=208262
==============================================================================
--- branches/1.4/channels/chan_sip.c (original)
+++ branches/1.4/channels/chan_sip.c Thu Jul 23 10:43:07 2009
@@ -12680,7 +12680,6 @@
 	case 183:	/* Session progress */
 		if (!ast_test_flag(req, SIP_PKT_IGNORE) && (p->invitestate != INV_CANCELLED) && sip_cancel_destroy(p))
 			ast_log(LOG_WARNING, "Unable to cancel SIP destruction.  Expect bad things.\n");
-		/* Ignore 183 Session progress without SDP */
 		if (find_sdp(req)) {
 			if (p->invitestate != INV_CANCELLED)
 				p->invitestate = INV_EARLY_MEDIA;
@@ -12688,6 +12687,18 @@
 			if (!ast_test_flag(req, SIP_PKT_IGNORE) && p->owner) {
 				/* Queue a progress frame */
 				ast_queue_control(p->owner, AST_CONTROL_PROGRESS);
+			}
+		} else {
+			/* Alcatel PBXs are known to send 183s with no SDP after sending
+			 * a 100 Trying response. We're just going to treat this sort of thing
+			 * the same as we would treat a 180 Ringing
+			 */
+			/*XXX I'm just following the same procedure for a 180 response, which
+			 * doesn't change the invitestate of p. Shouldn't it be INV_PROCEEDING
+			 * though?
+			 */
+			if (!ast_test_flag(req, SIP_PKT_IGNORE) && p->owner) {
+				ast_queue_control(p->owner, AST_CONTROL_RINGING);
 			}
 		}
 		check_pendings(p);




More information about the svn-commits mailing list