--- asterisk/channels/chan_sip.c 2004-01-28 13:18:13.000000000 +0100 +++ myasterisk/channels/chan_sip.c 2004-01-28 13:19:48.000000000 +0100 @@ -317,6 +317,7 @@ }; struct sip_peer { + char tempaddr[20]; char name[80]; char secret[80]; char md5secret[80]; @@ -737,7 +738,7 @@ } else if (!strcasecmp(fields[x].name, "context")) { strncpy(p->context, rowval[x], sizeof(p->context) - 1); } else if (!strcasecmp(fields[x].name, "ipaddr")) { - inet_aton(rowval[x], &p->addr.sin_addr); + strncpy(p->tempaddr,rowval[x],sizeof(p->tempaddr) - 1); } else if (!strcasecmp(fields[x].name, "port")) { if (sscanf(rowval[x], "%i", &port) != 1) port = 0; @@ -790,8 +791,10 @@ p = p->next; } #ifdef MYSQL_FRIENDS - if (!p) + if (!p) { p = mysql_peer(peer, NULL); + inet_aton(p->tempaddr, &p->addr.sin_addr); + } #endif if (p) {