static int load_module(void) { CHECK_PJSIP_MODULE_LOADED(); if (ast_sip_register_subscription_handler(&mwi_handler)) { return AST_MODULE_LOAD_DECLINE; } unsolicited_mwi = ao2_container_alloc(MWI_BUCKETS, mwi_sub_hash, mwi_sub_cmp); if (!unsolicited_mwi) { 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); if (ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) { ast_sip_push_task(NULL, send_initial_notify_all, NULL); } else { stasis_subscribe_pool(ast_manager_get_topic(), mwi_startup_event_cb, NULL); } return AST_MODULE_LOAD_SUCCESS; }
static int load_module(void) { CHECK_PJSIP_MODULE_LOADED(); if (ast_sip_register_subscription_handler(&mwi_handler)) { return AST_MODULE_LOAD_DECLINE; } create_mwi_subscriptions(); return AST_MODULE_LOAD_SUCCESS; }
static int reload(void) { create_mwi_subscriptions(); return 0; }