From a0a8a4d68e10b2c7e08e3014f06c9c800d18383f Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Tue, 27 Jan 2009 15:00:19 +0000 Subject: [PATCH] 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/trunk@171528 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 6e2f44986a..97dba79877 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9817,7 +9817,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);