aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-09 14:40:05 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-04-09 14:40:05 +0000
commitdbcca480c3520ec59cab23496f2d031726271596 (patch)
treea2d621d71a890c3e36ed86a0dc12c6164e885101 /channels
parent5a2f4a2021ce2180628f3ed1e7a42e5394037e2f (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.4@113681 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 4f4792f00..fa6fcd925 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 */