ASTERISK-24811: Add ast_sorcery_apply_config() to res_pjsip_publish_asterisk.
[asterisk/asterisk.git] / res / res_pjsip_acl.c
index 7cb56e7..ec9f3ae 100644 (file)
@@ -233,8 +233,9 @@ static int acl_handler(const struct aco_option *opt, struct ast_variable *var, v
        struct ast_sip_acl *sip_acl = obj;
        int error = 0;
        int ignore;
-       if (!strncmp(var->name, "contact", 7)) {
-               ast_append_acl(var->name + 7, var->value, &sip_acl->contact_acl, &error, &ignore);
+
+       if (!strncmp(var->name, "contact_", 8)) {
+               ast_append_acl(var->name + 8, var->value, &sip_acl->contact_acl, &error, &ignore);
        } else {
                ast_append_acl(var->name, var->value, &sip_acl->acl, &error, &ignore);
        }
@@ -266,6 +267,9 @@ static void *acl_alloc(const char *name)
 
 static int load_module(void)
 {
+       CHECK_PJSIP_MODULE_LOADED();
+
+       ast_sorcery_apply_config(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE);
        ast_sorcery_apply_default(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE,
                                  "config", "pjsip.conf,criteria=type=acl");
 
@@ -285,6 +289,8 @@ static int load_module(void)
        ast_sorcery_object_field_register_custom(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE, "contact_deny", "", acl_handler, NULL, NULL, 0, 0);
        ast_sorcery_object_field_register_custom(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE, "contact_acl", "", acl_handler, NULL, NULL, 0, 0);
 
+       ast_sorcery_load_object(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE);
+
        ast_sip_register_service(&acl_module);
        return AST_MODULE_LOAD_SUCCESS;
 }