Bug#262011: asterisk: SIP cancels fail due to Request-URI mismatch

Jan Niehusmann Jan Niehusmann <jan@debian.org>, 262011@bugs.debian.org
Thu, 29 Jul 2004 15:05:04 +0200


Package: asterisk
Severity: normal
Tags: patch

This bug is known to and fixed by upstream (http://bugs.digium.com/bug_view_page.php?bug_id=0002134).

Could you consider applying the following patch (from upstream CVS)? Of
course, upgrading to a current CVS checkout would do the trick as well.

Index: channels/chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.460
retrieving revision 1.461
diff -u -1 -b -p -r1.460 -r1.461
--- channels/chan_sip.c	22 Jul 2004 23:16:40 -0000	1.460
+++ channels/chan_sip.c	27 Jul 2004 04:04:45 -0000	1.461
@@ -3107,4 +3107,6 @@ static int reqprep(struct sip_request *r
 	}
-
-	if (!ast_strlen_zero(p->uri)) {
+	if (!strcasecmp(msg, "CANCEL")) {
+		/* MUST use original URI */
+		c = p->initreq.rlPart2;
+	} else if (!ast_strlen_zero(p->uri)) {
 		c = p->uri;


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.4.22
Locale: LANG=C, LC_CTYPE=de_DE@euro