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
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@208265 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.1
Mark Michelson 17 years ago
parent 5573649cca
commit b2cd6bc4f3

@ -16427,7 +16427,6 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
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;
@ -16436,6 +16435,18 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
/* 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);
break;

Loading…
Cancel
Save