if ((sql = switch_mprintf(
"select proto,sip_user,sip_host,sub_to_user,sub_to_host,event,contact,call_id,full_from,"
"full_via,expires,user_agent,accept,profile_name"
- ",-1,'unavailable','unavailable' from sip_subscriptions where event='presence'"))) {
+ ",-1,'unavailable','unavailable' from sip_subscriptions where event='presence' and hostname='%q'",
+ mod_sofia_globals.hostname))) {
switch_mutex_lock(mod_sofia_globals.hash_mutex);
for (hi = switch_hash_first(NULL, mod_sofia_globals.profile_hash); hi; hi = switch_hash_next(hi)) {
switch_hash_this(hi, NULL, NULL, &val);
if (now) {
- switch_snprintf(sql, sizeof(sql), "select call_id,sip_user,sip_host,contact,status,rpid,expires,user_agent,server_user,server_host,profile_name"
- " from sip_registrations where status like '%%AUTO-NAT%%' or status like '%%UDP-NAT%%'");
+ switch_snprintf(sql, sizeof(sql), "select call_id,sip_user,sip_host,contact,status,rpid,"
+ "expires,user_agent,server_user,server_host,profile_name"
+ " from sip_registrations where (status like '%%AUTO-NAT%%' "
+ "or status like '%%UDP-NAT%%') and hostname='%s'", mod_sofia_globals.hostname);
+
sofia_glue_execute_sql_callback(profile, SWITCH_TRUE, NULL, sql, sofia_reg_nat_callback, profile);
}