res_pjsip_outbound_registration.c: Use ast_sorcery_object_unregister() API

The sorcery pjsip 'registration' config object needs to be destroyed on
module unload.  Otherwise, a reload of res_pjsip could try to use
callbacks for a previously unloaded instance of the module provided by
ast_sorcery_object_register() or one of the variants.  Also, if
res_pjsip_outbound_registration were subsequently reloaded, the sorcery
config field objects would be registered in sorcery twice.

ASTERISK-24907
Reported by: Kevin Harwell

Change-Id: I304fad13dece2604af48353f6c6d9d5c7b064697
This commit is contained in:
Richard Mudgett
2015-06-15 15:28:41 -05:00
parent 20f3d77ab9
commit 8c6a95a9ac

View File

@@ -1775,6 +1775,8 @@ static int unload_module(void)
ast_sorcery_observer_remove(ast_sip_get_sorcery(), "auth", &observer_callbacks_auth);
ast_sorcery_instance_observer_remove(ast_sip_get_sorcery(), &observer_callbacks_registrations);
ast_sorcery_object_unregister(ast_sip_get_sorcery(), "registration");
ao2_global_obj_release(current_states);
return 0;