diff --git a/res/res_prometheus.c b/res/res_prometheus.c index 4aacf6e85c..9e4618132e 100644 --- a/res/res_prometheus.c +++ b/res/res_prometheus.c @@ -974,8 +974,13 @@ static int load_module(void) if (cli_init() || channel_metrics_init() || endpoint_metrics_init() - || bridge_metrics_init() - || pjsip_outbound_registration_metrics_init()) { + || bridge_metrics_init()) { + goto cleanup; + } + + if(ast_module_check("res_pjsip_outbound_registration.so")) { + /* Call a local function, used in the core prometheus code only */ + if (pjsip_outbound_registration_metrics_init()) goto cleanup; } @@ -1004,6 +1009,7 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_ .load_pri = AST_MODPRI_DEFAULT, #ifdef HAVE_PJPROJECT /* This module explicitly calls into res_pjsip if Asterisk is built with PJSIP support, so they are required. */ - .requires = "res_pjsip,res_pjsip_outbound_registration", + .requires = "res_pjsip", + .optional_modules = "res_pjsip_outbound_registration", #endif );