]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_mwi: don't create mwi subscriptions if initial unsolicited disabled
authorAlexei Gradinari <alex2grad@gmail.com>
Mon, 12 Jun 2017 14:57:24 +0000 (10:57 -0400)
committerAlexei Gradinari <alex2grad@gmail.com>
Tue, 13 Jun 2017 14:34:12 +0000 (09:34 -0500)
If sending unsolicited mwi to all endpoints on startup is disabled
(mwi_disable_initial_unsolicited=yes) do not need to create subscriptions.
If there are many (thousands) realtime endpoints configured with unsolicited mwi
and Vociemail Storage configured as ODBC or IMAP there will be huge number of
DB/IMAP requests on startup.

ASTERISK-26230 #close

Change-Id: I50ae909639e3ee298b931a54def4b2b9e0fb86c5

res/res_pjsip_mwi.c

index e625df77a723aaf0c208269c9cfa68eaf5bbdda7..3dfccef86bc3956645590d89246c9942abf31e5f 100644 (file)
@@ -1278,7 +1278,9 @@ static struct ast_sorcery_observer global_observer = {
 
 static int reload(void)
 {
-       create_mwi_subscriptions();
+       if (!ast_sip_get_mwi_disable_initial_unsolicited()) {
+               create_mwi_subscriptions();
+       }
        return 0;
 }
 
@@ -1301,13 +1303,13 @@ static int load_module(void)
                ast_sip_unregister_subscription_handler(&mwi_handler);
                return AST_MODULE_LOAD_DECLINE;
        }
-       create_mwi_subscriptions();
 
        ast_sorcery_observer_add(ast_sip_get_sorcery(), "contact", &mwi_contact_observer);
        ast_sorcery_observer_add(ast_sip_get_sorcery(), "global", &global_observer);
        ast_sorcery_reload_object(ast_sip_get_sorcery(), "global");
 
        if (!ast_sip_get_mwi_disable_initial_unsolicited()) {
+               create_mwi_subscriptions();
                if (ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) {
                        ast_sip_push_task(NULL, send_initial_notify_all, NULL);
                } else {