From: Mark Michelson Date: Wed, 9 Apr 2008 14:40:05 +0000 (+0000) Subject: If Asterisk receives a 488 on an INVITE (not a reinvite), then X-Git-Tag: 1.4.20-rc1~80 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=784d1b7b3e2bd65843c377cd405109b02b7a14f2;p=thirdparty%2Fasterisk.git If Asterisk receives a 488 on an INVITE (not a reinvite), then we should not send a BYE. (closes issue #12392) Reported by: fnordian Patches: chan_sip.patch uploaded by fnordian (license 110) with small modification from me git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@113681 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 4f4792f006..fa6fcd9258 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12350,7 +12350,10 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru /* We can't set up this call, so give up */ if (p->owner && !ast_test_flag(req, SIP_PKT_IGNORE)) ast_queue_control(p->owner, AST_CONTROL_CONGESTION); - ast_set_flag(&p->flags[0], SIP_NEEDDESTROY); + ast_set_flag(&p->flags[0], SIP_NEEDDESTROY); + /* If there's no dialog to end, then mark p as already gone */ + if (!reinvite) + sip_alreadygone(p); } break; case 491: /* Pending */