diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-07 23:42:16 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-07 23:42:16 +0000 |
commit | 43715a8e2b7cc0021a4764e979cb1403e770e36e (patch) | |
tree | dca100c30c5d45f545f5bbc6f9538eb1538d5a48 /channels | |
parent | 852bdde05ca67c95411b8f79fa9176b8c37e048c (diff) |
Merged revisions 155467 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r155467 | mmichelson | 2008-11-07 17:41:44 -0600 (Fri, 07 Nov 2008) | 12 lines
Set the invite state to INV_CANCELLED in a place that
makes more sense. Where it was set before, it was impossible
to actually delay sending a CANCEL if we had not yet received
a provisional response to an INVITE.
(closes issue #13626)
Reported by: atis
Patches:
13626.patch uploaded by putnopvut (license 60)
Tested by: atis
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@155468 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 12e1e777d..69dfa7598 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4848,7 +4848,6 @@ static int sip_hangup(struct ast_channel *ast) if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) { /* stop retransmitting an INVITE that has not received a response */ __sip_pretend_ack(p); - p->invitestate = INV_CANCELLED; /* if we can't send right now, mark it pending */ if (p->invitestate == INV_CALLING) { @@ -4858,6 +4857,7 @@ static int sip_hangup(struct ast_channel *ast) sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); append_history(p, "DELAY", "Not sending cancel, waiting for timeout"); } else { + p->invitestate = INV_CANCELLED; /* Send a new request: CANCEL */ transmit_request(p, SIP_CANCEL, p->lastinvite, XMIT_RELIABLE, FALSE); /* Actually don't destroy us yet, wait for the 487 on our original |