* Check that the contact's reg_server matches the host's name before
deleting any prune_on_boot contacts. We don't want to delete reliable
transport contacts made with other servers if the ps_contacts database
table is shared with other servers.
Thanks to Ross Beer for pointing out that the original prune logic would
delete reliable transport contacts from other servers.
ASTERISK-27147
Change-Id: I8e439d0d1c266ffdfd7b73d1e5e466180a689bd0
{
struct ast_sip_contact *contact = obj;
- if (contact->prune_on_boot) {
+ if (contact->prune_on_boot
+ && !strcmp(contact->reg_server, ast_config_AST_SYSTEM_NAME ?: "")) {
+ ast_verb(3, "Removed contact '%s' from AOR '%s' due to system boot\n",
+ contact->uri, contact->aor);
ast_sip_location_delete_contact(contact);
}