diff --git a/res/res_sip/sip_options.c b/res/res_sip/sip_options.c index 4f21238b7ab23a070c7734fc1edc66c7febddff3..ca5f3bf72cfc1c6465d143a181184b8a28ea9210 100644 --- a/res/res_sip/sip_options.c +++ b/res/res_sip/sip_options.c @@ -688,11 +688,6 @@ int ast_sip_initialize_sorcery_qualify(struct ast_sorcery *sorcery) ast_sorcery_object_field_register(sorcery, CONTACT_STATUS, "rtt", "0", OPT_UINT_T, 1, FLDSET(struct ast_sip_contact_status, rtt)); - if (ast_sorcery_observer_add(sorcery, "contact", &contact_observer)) { - ast_log(LOG_WARNING, "Unable to add contact observer\n"); - return -1; - } - return 0; } @@ -777,6 +772,11 @@ int ast_res_sip_init_options_handling(int reload) return -1; } + if (ast_sorcery_observer_add(ast_sip_get_sorcery(), "contact", &contact_observer)) { + ast_log(LOG_WARNING, "Unable to add contact observer\n"); + return -1; + } + qualify_and_schedule_permanent(); ast_cli_register_multiple(cli_options, ARRAY_LEN(cli_options));