diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-09 14:40:05 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-04-09 14:40:05 +0000 |
commit | dbcca480c3520ec59cab23496f2d031726271596 (patch) | |
tree | a2d621d71a890c3e36ed86a0dc12c6164e885101 /channels | |
parent | 5a2f4a2021ce2180628f3ed1e7a42e5394037e2f (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.c | 5 |
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 */ |