]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_prometheus: Optional load res_pjsip_outbound_registration.so
authorBoris P. Korzun <drtr0jan@yandex.ru>
Thu, 9 Jun 2022 07:10:19 +0000 (10:10 +0300)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Tue, 5 Jul 2022 11:37:12 +0000 (06:37 -0500)
Switched res_pjsip_outbound_registration.so dep to optional. Added
module loaded check before using it.

ASTERISK-30101 #close

Change-Id: Ia34f1684d984e821fbdd4de8911f930337703666

res/res_prometheus.c

index 4aacf6e85ce4b637fab77419a35993bfb6d1c938..5d277f1e114b0b157d607001e61b754eb70529bb 100644 (file)
@@ -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
 );