Don't treat a host lookup as failed if sipregs is not in use when doing a realtime lookup. (issue #9255 reported by sergee)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Joshua Colp 18 years ago
parent cc2aa89fa9
commit c4c2def716

@ -2657,14 +2657,16 @@ static struct sip_peer *realtime_peer(const char *newpeername, struct sockaddr_i
} else if (sin) { /* Then check on IP address for dynamic peers */ } else if (sin) { /* Then check on IP address for dynamic peers */
ast_copy_string(ipaddr, ast_inet_ntoa(sin->sin_addr), sizeof(ipaddr)); ast_copy_string(ipaddr, ast_inet_ntoa(sin->sin_addr), sizeof(ipaddr));
var = ast_load_realtime("sippeers", "host", ipaddr, NULL); /* First check for fixed IP hosts */ var = ast_load_realtime("sippeers", "host", ipaddr, NULL); /* First check for fixed IP hosts */
if (var && realtimeregs) { if (var) {
tmp = var; if (realtimeregs) {
while (tmp) { tmp = var;
if (!newpeername && !strcasecmp(tmp->name, "name")) while (tmp) {
newpeername = tmp->value; if (!newpeername && !strcasecmp(tmp->name, "name"))
tmp = tmp->next; newpeername = tmp->value;
tmp = tmp->next;
}
varregs = ast_load_realtime("sipregs", "name", newpeername, NULL);
} }
varregs = ast_load_realtime("sipregs", "name", newpeername, NULL);
} else { } else {
if (realtimeregs) if (realtimeregs)
varregs = ast_load_realtime("sipregs", "ipaddr", ipaddr, NULL); /* Then check for registered hosts */ varregs = ast_load_realtime("sipregs", "ipaddr", ipaddr, NULL); /* Then check for registered hosts */

Loading…
Cancel
Save