[asterisk-commits] mmichelson: branch 1.6.0 r208264 - in /branches/1.6.0: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 23 10:47:40 CDT 2009


Author: mmichelson
Date: Thu Jul 23 10:47:36 2009
New Revision: 208264

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=208264
Log:
Merged revisions 208263 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
  r208263 | mmichelson | 2009-07-23 10:46:34 -0500 (Thu, 23 Jul 2009) | 15 lines
  
  Merged revisions 208262 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r208262 | mmichelson | 2009-07-23 10:43:07 -0500 (Thu, 23 Jul 2009) | 8 lines
    
    Properly handle 183 responses which do not contain an SDP.
    
    (closes issue #15442)
    Reported by: ffloimair
    Patches:
          15442.patch uploaded by mmichelson (license 60)
    Tested by: tkarl, ffloimair
  ........
................

Modified:
    branches/1.6.0/   (props changed)
    branches/1.6.0/channels/chan_sip.c

Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.0/channels/chan_sip.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.6.0/channels/chan_sip.c?view=diff&rev=208264&r1=208263&r2=208264
==============================================================================
--- branches/1.6.0/channels/chan_sip.c (original)
+++ branches/1.6.0/channels/chan_sip.c Thu Jul 23 10:47:36 2009
@@ -15635,7 +15635,6 @@
 	case 183:	/* Session progress */
 		if (!req->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;
@@ -15643,6 +15642,18 @@
 			if (!req->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 (!req->ignore && p->owner) {
+				ast_queue_control(p->owner, AST_CONTROL_RINGING);
 			}
 		}
 		check_pendings(p);




More information about the asterisk-commits mailing list