diff options
author | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-03 16:38:12 +0000 |
---|---|---|
committer | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-03 16:38:12 +0000 |
commit | 74daa6a562056bdda2eb97116aeb7adc8a868a22 (patch) | |
tree | cd6b0cfa312d62e7d7d40d7442ad8aae0afb6acb /channels | |
parent | dc084955d5fbaa43f349f10f999153dc0601186c (diff) |
Use the same CSEQ on CANCEL as on INVITE (according to RFC 3261)
(closes issue #9492)
Reported by: kryptolus
Patches:
bug9492.txt uploaded by oej (license 306)
Tested by: oej
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@102142 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 76f00e090..484d86d89 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3549,7 +3549,7 @@ static int sip_hangup(struct ast_channel *ast) append_history(p, "DELAY", "Not sending cancel, waiting for timeout"); } else { /* Send a new request: CANCEL */ - transmit_request(p, SIP_CANCEL, p->ocseq, XMIT_RELIABLE, FALSE); + transmit_request(p, SIP_CANCEL, p->lastinvite, XMIT_RELIABLE, FALSE); /* 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. */ needdestroy = 0; @@ -11935,7 +11935,7 @@ static void check_pendings(struct sip_pvt *p) if (ast_test_flag(&p->flags[0], SIP_PENDINGBYE)) { /* if we can't BYE, then this is really a pending CANCEL */ if (p->invitestate == INV_PROCEEDING || p->invitestate == INV_EARLY_MEDIA) - transmit_request(p, SIP_CANCEL, p->ocseq, XMIT_RELIABLE, FALSE); + transmit_request(p, SIP_CANCEL, p->lastinvite, XMIT_RELIABLE, FALSE); /* 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. */ else { |