aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-09 12:14:03 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-09 12:14:03 +0000
commit5f2ffca9a2e72bd4d95db5520b59ecfda6508e9e (patch)
treec27dcd5025d4692524e457968922299f8d7b4e9e
parent98c0623f32adfc477d2d452009fa439489816d7d (diff)
- Reset proper flag
- Don't delete SIP dialog prematurely Strangely enough imported from svn trunk... It's confusing here in Greenland. (Committing from 36.000 feet above Greenland, on the way to asterisk@von http://www.pulver.com/asterisk ) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@42535 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b51ed4b5b..a86f2c0ee 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9572,16 +9572,14 @@ static void check_pendings(struct sip_pvt *p)
{
if (ast_test_flag(p, SIP_PENDINGBYE)) {
/* if we can't BYE, then this is really a pending CANCEL */
- if (!ast_test_flag(p, SIP_CAN_BYE)) {
+ if (!ast_test_flag(p, SIP_CAN_BYE))
transmit_request_with_auth(p, SIP_CANCEL, p->ocseq, 1, 0);
/* Actually don't destroy us yet, wait for the 487 on our original
INVITE, but do set an autodestruct just in case we never get it. */
- sip_scheddestroy(p, 32000);
- } else {
+ else
transmit_request_with_auth(p, SIP_BYE, 0, 1, 1);
- ast_set_flag(p, SIP_NEEDDESTROY);
- ast_clear_flag(p, SIP_NEEDREINVITE);
- }
+ ast_clear_flag(p, SIP_PENDINGBYE);
+ sip_scheddestroy(p, 32000);
} else if (ast_test_flag(p, SIP_NEEDREINVITE)) {
ast_log(LOG_DEBUG, "Sending pending reinvite on '%s'\n", p->callid);
/* Didn't get to reinvite yet, so do it now */