[Asterisk-cvs] asterisk/channels chan_sip.c,1.269,1.270

jeremy at lists.digium.com jeremy at lists.digium.com
Sun Jan 11 15:46:03 CST 2004


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

Modified Files:
	chan_sip.c 
Log Message:
Fix ast-db seeding. Bug #767


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.269
retrieving revision 1.270
diff -u -d -r1.269 -r1.270
--- chan_sip.c	11 Jan 2004 19:24:15 -0000	1.269
+++ chan_sip.c	11 Jan 2004 21:37:50 -0000	1.270
@@ -3209,7 +3209,7 @@
 {
 	char data[80];
 	struct in_addr in;
-	char *c, *d;
+	char *c, *d, *u;
 	int expiry;
 	if (!ast_db_get("SIP/Registry", p->name, data, sizeof(data))) {
 		c = strchr(data, ':');
@@ -3221,8 +3221,14 @@
 				if (d) {
 					*d = '\0';
 					d++;
-					ast_verbose(VERBOSE_PREFIX_3 "SIP Seeding '%s' at %s:%d for %d\n", p->name, 
-						inet_ntoa(in), atoi(c), atoi(d));
+					u = strchr(d, ':');
+					if (u) {
+						*u = '\0';
+						u++;
+						strncpy(p->username, u, sizeof(p->username));
+					}
+					ast_verbose(VERBOSE_PREFIX_3 "SIP Seeding '%s' at %s@%s:%d for %d\n", p->name, 
+						p->username, inet_ntoa(in), atoi(c), atoi(d));
 					sip_poke_peer(p);
 					expiry = atoi(d);
 					memset(&p->addr, 0, sizeof(p->addr));
@@ -3334,7 +3340,7 @@
 	pvt->expiry = expiry;
 	if (inaddrcmp(&p->addr, &oldsin)) {
 		sip_poke_peer(p);
-		snprintf(data, sizeof(data), "%s:%d:%d", inet_ntoa(p->addr.sin_addr), ntohs(p->addr.sin_port), expiry);
+		snprintf(data, sizeof(data), "%s:%d:%d:%s", inet_ntoa(p->addr.sin_addr), ntohs(p->addr.sin_port), expiry, p->username);
 		ast_db_put("SIP/Registry", p->name, data);
 		if (option_verbose > 2)
 			ast_verbose(VERBOSE_PREFIX_3 "Registered SIP '%s' at %s port %d expires %d\n", p->name, inet_ntoa(p->addr.sin_addr), ntohs(p->addr.sin_port), expiry);




More information about the svn-commits mailing list