Revert "pjsip_location: Delete contact_status object when contact is deleted"
authorGeorge Joseph <george.joseph@fairview5.com>
Sat, 9 Jan 2016 23:57:45 +0000 (16:57 -0700)
committerGeorge Joseph <george.joseph@fairview5.com>
Sun, 10 Jan 2016 00:13:27 +0000 (18:13 -0600)
This reverts commit 0a9941de9d24093b5ff44096d1d7406f29d11e45.

Matt,

This patch causes another problem and should not have been needed.
Before this patch, persistent_endpoint_contact_deleted_observer WAS
deleting the contact_status when ast_sip_location_delete_contact was
called.  By deleting it yourself in ast_sip_location_delete_contact
it was gone before the observer could run and the observer therefore
was throwing an error and not sending stasis/AMI/statsd messages.

So, I don't think this was the cause of your original issue.  I also
had verified the contact AMI and statsd lifecycle and it was working.
I'll double check now though.

ASTERISK-25675
Reported-by: Daniel Journo

Change-Id: Ib586a6b7f90acb641b0c410f659743ab90e84f1a

res/res_pjsip/location.c

index 0452184..c070e7d 100644 (file)
@@ -317,14 +317,6 @@ int ast_sip_location_update_contact(struct ast_sip_contact *contact)
 
 int ast_sip_location_delete_contact(struct ast_sip_contact *contact)
 {
-       void *contact_status_obj;
-
-       contact_status_obj = ast_sorcery_retrieve_by_id(ast_sip_get_sorcery(), CONTACT_STATUS, ast_sorcery_object_get_id(contact));
-       if (contact_status_obj) {
-               ast_sorcery_delete(ast_sip_get_sorcery(), contact_status_obj);
-               ao2_ref(contact_status_obj, -1);
-       }
-
        return ast_sorcery_delete(ast_sip_get_sorcery(), contact);
 }