[Asterisk-cvs] asterisk/channels chan_sip.c,1.510.2.37,1.510.2.38

russell at lists.digium.com russell at lists.digium.com
Wed Jan 12 22:30:02 CST 2005


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

Modified Files:
      Tag: v1-0
	chan_sip.c 
Log Message:
fix message sent on codec mismatch (bug #3306)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.510.2.37
retrieving revision 1.510.2.38
diff -u -d -r1.510.2.37 -r1.510.2.38
--- chan_sip.c	13 Jan 2005 03:00:02 -0000	1.510.2.37
+++ chan_sip.c	13 Jan 2005 04:34:01 -0000	1.510.2.38
@@ -2770,7 +2770,7 @@
 			ast_getformatname_multiple(s3, slen, p->noncodeccapability));
 	}
 	if (!p->jointcapability) {
-		ast_log(LOG_WARNING, "No compatible codecs!\n");
+		ast_log(LOG_NOTICE, "No compatible codecs!\n");
 		return -1;
 	}
 	if (p->owner) {
@@ -7385,12 +7385,20 @@
 			}
 		} else {
 			if (p && !p->needdestroy) {
-				ast_log(LOG_NOTICE, "Unable to create/find channel\n");
-				if (ignore)
-					transmit_response(p, "503 Unavailable", req);
-				else
-					transmit_response_reliable(p, "503 Unavailable", req, 1);
-				p->needdestroy = 1;
+				if (!p->jointcapability) {
+					if (ignore)
+						transmit_response(p, "488 Not Acceptable Here", req);
+					else
+						transmit_response_reliable(p, "488 Not Acceptable Here", req, 1);
+					p->needdestroy = 1;	
+				} else {
+					ast_log(LOG_NOTICE, "Unable to create/find channel\n");
+					if (ignore)
+						transmit_response(p, "503 Unavailable", req);
+					else
+						transmit_response_reliable(p, "503 Unavailable", req, 1);
+					p->needdestroy = 1;	
+				}
 			}
 		}
 	} else if (!strcasecmp(cmd, "REFER")) {




More information about the svn-commits mailing list