[Asterisk-cvs] asterisk/channels chan_sip.c,1.510.2.54,1.510.2.55

russell at lists.digium.com russell at lists.digium.com
Mon Mar 28 00:41:18 CST 2005


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv753/channels

Modified Files:
      Tag: v1-0
	chan_sip.c 
Log Message:
don't send a "to" on a "100 Trying", also be case insensitive when parsing the "to" tag (bug #3801)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.510.2.54
retrieving revision 1.510.2.55
diff -u -d -r1.510.2.54 -r1.510.2.55
--- chan_sip.c	2 Mar 2005 17:38:27 -0000	1.510.2.54
+++ chan_sip.c	28 Mar 2005 06:35:09 -0000	1.510.2.55
@@ -2387,7 +2387,7 @@
 			strncpy(tmp, get_header(req, "To"), sizeof(tmp) - 1);
 		else
 			strncpy(tmp, get_header(req, "From"), sizeof(tmp) - 1);
-		tag = strstr(tmp, "tag=");
+		tag = ast_strcasestr(tmp, "tag=");
 		if (tag) {
 			tag += 4;
 			c = strchr(tag, ';');
@@ -3077,7 +3077,7 @@
 	if (msg[0] == '2') copy_all_header(resp, req, "Record-Route");
 	copy_header(resp, req, "From");
 	ot = get_header(req, "To");
-	if (!strstr(ot, "tag=")) {
+	if (!ast_strcasestr(ot, "tag=") && strncmp(msg, "100", 3)) {
 		/* Add the proper tag if we don't have it already.  If they have specified
 		   their tag, use it.  Otherwise, use our own tag */
 		if (!ast_strlen_zero(p->theirtag) && p->outgoing)
@@ -3177,7 +3177,7 @@
 
 	/* Add tag *unless* this is a CANCEL, in which case we need to send it exactly
 	   as our original request, including tag (or presumably lack thereof) */
-	if (!strstr(ot, "tag=") && strcasecmp(msg, "CANCEL")) {
+	if (!ast_strcasestr(ot, "tag=") && strcasecmp(msg, "CANCEL")) {
 		/* Add the proper tag if we don't have it already.  If they have specified
 		   their tag, use it.  Otherwise, use our own tag */
 		if (p->outgoing && !ast_strlen_zero(p->theirtag))
@@ -6612,7 +6612,7 @@
 		__sip_ack(p, seqno, 0, msg);
 	/* Get their tag if we haven't already */
 	to = get_header(req, "To");
-	to = strstr(to, "tag=");
+	to = ast_strcasestr(to, "tag=");
 	if (to) {
 		to += 4;
 		strncpy(p->theirtag, to, sizeof(p->theirtag) - 1);
@@ -7199,7 +7199,7 @@
 		}
 		if (ast_strlen_zero(p->theirtag)) {
 			from = get_header(req, "From");
-			from = strstr(from, "tag=");
+			from = ast_strcasestr(from, "tag=");
 			if (from) {
 				from += 4;
 				strncpy(p->theirtag, from, sizeof(p->theirtag) - 1);




More information about the svn-commits mailing list