[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