diff --git a/res/res_sip_acl.c b/res/res_sip_acl.c
index f626a976fc321c99f958ff32e71e192aef3d9821..057ae96f7ce60e71e21b1e1434b33cad43c8617f 100644
--- a/res/res_sip_acl.c
+++ b/res/res_sip_acl.c
@@ -226,7 +226,7 @@ static void sip_acl_destructor(void *obj)
 
 static void *sip_acl_alloc(const char *name)
 {
-	struct sip_acl *acl = ao2_alloc(sizeof(*acl), sip_acl_destructor);
+	struct sip_acl *acl = ast_sorcery_generic_alloc(sizeof(*acl), sip_acl_destructor);
 	if (!acl) {
 		return NULL;
 	}
diff --git a/res/res_sip_endpoint_identifier_ip.c b/res/res_sip_endpoint_identifier_ip.c
index 89bf1d554395931dc0a31467b72798e39500fedb..9e39b277ad227223331a019d6ac380bb9a7e1e54 100644
--- a/res/res_sip_endpoint_identifier_ip.c
+++ b/res/res_sip_endpoint_identifier_ip.c
@@ -74,7 +74,7 @@ static void ip_identify_destroy(void *obj)
 /*! \brief Allocator function for a matching object */
 static void *ip_identify_alloc(const char *name)
 {
-	struct ip_identify_match *identify = ao2_alloc(sizeof(*identify), ip_identify_destroy);
+	struct ip_identify_match *identify = ast_sorcery_generic_alloc(sizeof(*identify), ip_identify_destroy);
 
 	if (!identify || ast_string_field_init(identify, 256)) {
 		ao2_cleanup(identify);
diff --git a/res/res_sip_outbound_registration.c b/res/res_sip_outbound_registration.c
index 203ecfc5a863359f74b4ef008493464ef688350c..d3c4ad8158d6929fe8628c5621843c3a4c909772 100644
--- a/res/res_sip_outbound_registration.c
+++ b/res/res_sip_outbound_registration.c
@@ -469,7 +469,7 @@ static void sip_outbound_registration_destroy(void *obj)
 /*! \brief Allocator function for registration information */
 static void *sip_outbound_registration_alloc(const char *name)
 {
-	struct sip_outbound_registration *registration = ao2_alloc(sizeof(*registration), sip_outbound_registration_destroy);
+	struct sip_outbound_registration *registration = ast_sorcery_generic_alloc(sizeof(*registration), sip_outbound_registration_destroy);
 
 	if (!registration || ast_string_field_init(registration, 256)) {
 		ao2_cleanup(registration);