[Asterisk-cvs] asterisk/channels chan_mgcp.c,1.34.2.3,1.34.2.4

markster at lists.digium.com markster at lists.digium.com
Sat Apr 24 11:50:29 CDT 2004


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

Modified Files:
      Tag: v1-0_stable
	chan_mgcp.c 
Log Message:
Support doted IP's in -stable too


Index: chan_mgcp.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_mgcp.c,v
retrieving revision 1.34.2.3
retrieving revision 1.34.2.4
diff -u -d -r1.34.2.3 -r1.34.2.4
--- chan_mgcp.c	22 Apr 2004 00:50:10 -0000	1.34.2.3
+++ chan_mgcp.c	24 Apr 2004 15:55:55 -0000	1.34.2.4
@@ -303,6 +303,7 @@
 static struct mgcp_gateway {
 	/* A gateway containing one or more endpoints */
 	char name[80];
+    int isnamedottedip; /* SC: is the name dotted ip */
 	struct sockaddr_in addr;
 	struct sockaddr_in defaddr;
 	struct in_addr ourip;
@@ -1364,7 +1365,11 @@
 		return -1;
 	}
 	req->header[req->headers] = req->data + req->len;
-	snprintf(req->header[req->headers], sizeof(req->data) - req->len, "%s %d %s@%s MGCP 1.0\r\n", verb, oseq, p->name, p->parent->name);
+    /* SC: check if we need brackets around the gw name */
+    if (p->parent->isnamedottedip)
+        snprintf(req->header[req->headers], sizeof(req->data) - req->len, "%s %d %s@[%s] MGCP 1.0\r\n", verb, oseq, p->name, p->parent->name);
+    else
+        snprintf(req->header[req->headers], sizeof(req->data) - req->len, "%s %d %s@%s MGCP 1.0\r\n", verb, oseq, p->name, p->parent->name);
 	req->len += strlen(req->header[req->headers]);
 	if (req->headers < MGCP_MAX_HEADERS)
 		req->headers++;
@@ -2647,6 +2652,9 @@
 		memset(gw, 0, sizeof(struct mgcp_gateway));
 		gw->expire = -1;
 		strncpy(gw->name, cat, sizeof(gw->name) - 1);
+        /* SC: check if the name is numeric ip */
+        if (inet_addr(gw->name) != INADDR_NONE)
+            gw->isnamedottedip = 1;
 		while(v) {
 			if (!strcasecmp(v->name, "host")) {
 				if (!strcasecmp(v->value, "dynamic")) {




More information about the svn-commits mailing list