From a68cd825fecef5769437876cdf7aea85f65b2015 Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Tue, 27 Jan 2009 15:19:52 +0000 Subject: [PATCH] Merged revisions 171528 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r171528 | oej | 2009-01-27 16:00:19 +0100 (Tis, 27 Jan 2009) | 23 lines Solving the same issue, but a bit different in trunk... Merged revisions 171527 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r171527 | oej | 2009-01-27 15:33:20 +0100 (Tis, 27 Jan 2009) | 13 lines Use the same branch tag in CANCEL as in INVITE Originally putnopvut implemented some changes in revision 142079 that according to the bug report seemed to have worked then, but somehow fails now. I guess code, as humans, get old and forget stuff. Anyway, this bug caused CANCEL not to work with picky systems. Thanks Fredrik for pointing out where the bug in the SIP messaging was. (closes issue #14346) Reported by: oej Patches: bug14346.diff uploaded by oej (license 306) Tested by: oej ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@171540 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a488fe66f2..aadc5fac58 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9314,7 +9314,8 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init) if (init > 1) initreqprep(&req, p, sipmethod); else - reqprep(&req, p, sipmethod, 0, 1); + /* If init=1, we should not generate a new branch. If it's 0, we need a new branch. */ + reqprep(&req, p, sipmethod, 0, init ? 0 : 1); if (p->options && p->options->auth) add_header(&req, p->options->authheader, p->options->auth);