|
|
@ -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 */
|
|
|
|