From: Alexei Gradinari Date: Mon, 12 Jun 2017 14:57:24 +0000 (-0400) Subject: res_pjsip_mwi: don't create mwi subscriptions if initial unsolicited disabled X-Git-Tag: 13.17.0-rc1~42^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59c9bbe6961a5677ddb13eed2a130d16b6ffc0ee;p=thirdparty%2Fasterisk.git res_pjsip_mwi: don't create mwi subscriptions if initial unsolicited disabled 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 --- diff --git a/res/res_pjsip_mwi.c b/res/res_pjsip_mwi.c index 5ae2af5d31..206a373b3c 100644 --- a/res/res_pjsip_mwi.c +++ b/res/res_pjsip_mwi.c @@ -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 {