From c08769cedd7a15ea0a30d788ef1d9b35f1c1dba7 Mon Sep 17 00:00:00 2001 From: Clemence Him <clemence.him@belledonne-communications.com> Date: Fri, 7 Feb 2025 16:10:58 +0100 Subject: [PATCH] Fix: Apply proxy default values when creating AccountParams --- console/commands.c | 2 +- coreapi/help/examples/C/buddy_status.c | 2 +- coreapi/help/examples/C/notify.c | 2 +- coreapi/help/examples/C/registration.c | 2 +- coreapi/proxy.c | 4 +- daemon/commands/register.cc | 2 +- include/linphone/api/c-account-params.h | 3 +- src/account/account-params.cpp | 163 +++++++++++++++--------- src/account/account-params.h | 2 +- src/account_creator/main.cpp | 10 +- src/account_creator/utils.cpp | 2 +- src/c-wrapper/api/c-account-params.cpp | 4 +- src/c-wrapper/api/c-account.cpp | 2 +- tester/account_tester.c | 2 +- tester/call-twisted-cases.cpp | 2 +- tools/lpsendmsg.c | 2 +- tools/test_numbers.c | 2 +- 17 files changed, 124 insertions(+), 84 deletions(-) diff --git a/console/commands.c b/console/commands.c index de5678c8bb..0ddd2b3211 100644 --- a/console/commands.c +++ b/console/commands.c @@ -1368,7 +1368,7 @@ static void linphonec_proxy_add(LinphoneCore *lc) { continue; } - params = linphone_account_params_new(lc); + params = linphone_account_params_new(lc, TRUE); /*create account parameters*/ if (linphone_account_params_set_server_addr(params, clean) < 0) { linphonec_out("Invalid sip address (sip:sip.domain.tld).\n"); diff --git a/coreapi/help/examples/C/buddy_status.c b/coreapi/help/examples/C/buddy_status.c index bf775c43d7..4af11f0f79 100644 --- a/coreapi/help/examples/C/buddy_status.c +++ b/coreapi/help/examples/C/buddy_status.c @@ -129,7 +129,7 @@ int main(int argc, char *argv[]) { /*sip proxy might be requested*/ if (identity != NULL) { /*create account parameters*/ - LinphoneAccountParams *params = linphone_account_params_new(NULL); + LinphoneAccountParams *params = linphone_account_params_new(nullptr, FALSE); /*parse identity*/ LinphoneAddress *from = linphone_address_new(identity); LinphoneAuthInfo *info; diff --git a/coreapi/help/examples/C/notify.c b/coreapi/help/examples/C/notify.c index 6aba31aaaa..7cee6d9927 100644 --- a/coreapi/help/examples/C/notify.c +++ b/coreapi/help/examples/C/notify.c @@ -122,7 +122,7 @@ int main(int argc, char *argv[]) { lc = linphone_core_new(&vtable, NULL, NULL, data); /*create account parameters*/ - LinphoneAccountParams *params = linphone_account_params_new(NULL); + LinphoneAccountParams *params = linphone_account_params_new(nullptr, FALSE); /*parse identity*/ LinphoneAddress *from = linphone_address_new(identity); LinphoneAuthInfo *info; diff --git a/coreapi/help/examples/C/registration.c b/coreapi/help/examples/C/registration.c index c6a71da359..0f64b31b3b 100644 --- a/coreapi/help/examples/C/registration.c +++ b/coreapi/help/examples/C/registration.c @@ -95,7 +95,7 @@ int main(int argc, char *argv[]) { lc = linphone_core_new(&vtable, NULL, NULL, NULL); /*create account parameters*/ - LinphoneAccountParams *params = linphone_account_params_new(NULL); + LinphoneAccountParams *params = linphone_account_params_new(nullptr, FALSE); /*parse identity*/ LinphoneAddress *from = linphone_address_new(identity); LinphoneAuthInfo *info; diff --git a/coreapi/proxy.c b/coreapi/proxy.c index dcf935e39e..07ad228504 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -75,7 +75,7 @@ linphone_proxy_config_is_server_config_changed(const LinphoneProxyConfig *cfg) { } static void linphone_proxy_config_init(LinphoneCore *lc, LinphoneProxyConfig *cfg) { - LinphoneAccountParams *params = linphone_account_params_new(lc); + LinphoneAccountParams *params = linphone_account_params_new(lc, TRUE); cfg->account = linphone_account_new_with_config(lc, params, cfg); linphone_account_params_unref(params); cfg->edit = NULL; @@ -553,7 +553,7 @@ const bctbx_list_t *linphone_core_get_proxy_config_list(const LinphoneCore *lc) } LinphoneAccountParams *linphone_core_create_account_params(LinphoneCore *core) { - return linphone_account_params_new(core); + return linphone_account_params_new(core, TRUE); } LinphoneAccount *linphone_core_create_account(LinphoneCore *core, LinphoneAccountParams *params) { diff --git a/daemon/commands/register.cc b/daemon/commands/register.cc index 8aca2f92bd..e22a5c0b0d 100644 --- a/daemon/commands/register.cc +++ b/daemon/commands/register.cc @@ -81,7 +81,7 @@ void RegisterCommand::exec(Daemon *app, const string &args) { linphone_auth_info_unref(info); } } - LinphoneAccountParams *params = linphone_account_params_new(lc); + LinphoneAccountParams *params = linphone_account_params_new(lc, TRUE); linphone_account_params_set_identity_address(params, from); if (from) linphone_address_unref(from); linphone_account_params_set_server_addr(params, cproxy); diff --git a/include/linphone/api/c-account-params.h b/include/linphone/api/c-account-params.h index 6cf4f44eb2..0eb3f9f917 100644 --- a/include/linphone/api/c-account-params.h +++ b/include/linphone/api/c-account-params.h @@ -36,9 +36,10 @@ extern "C" { /** * Create a new #LinphoneAccountParams object. * @param lc The #LinphoneCore object. @maybenil + * @param use_default_values If TRUE, use proxy default values * @return The newly created #LinphoneAccountParams object. @notnil */ -LINPHONE_PUBLIC LinphoneAccountParams *linphone_account_params_new(LinphoneCore *lc); +LINPHONE_PUBLIC LinphoneAccountParams *linphone_account_params_new(LinphoneCore *lc, bool_t use_default_values); /** * Create a new #LinphoneAccountParams object from a configuration. diff --git a/src/account/account-params.cpp b/src/account/account-params.cpp index 2d49c2457a..51c21e753f 100644 --- a/src/account/account-params.cpp +++ b/src/account/account-params.cpp @@ -41,47 +41,65 @@ static string generate_account_id() { return string("proxy_config_").append(id); // TODO: change to account } -AccountParams::AccountParams(LinphoneCore *lc) { - mExpires = lc ? linphone_config_get_default_int(lc->config, "proxy", "reg_expires", 3600) : 3600; - mRegisterEnabled = lc ? !!linphone_config_get_default_int(lc->config, "proxy", "reg_sendregister", 1) : 1; - mInternationalPrefix = lc ? linphone_config_get_default_string(lc->config, "proxy", "dial_prefix", "") : ""; +AccountParams::AccountParams(LinphoneCore *lc, bool useDefaultValues) { + if (!lc && useDefaultValues) { + lWarning() << "Unable to apply proxy default values: LinphoneCore is null."; + useDefaultValues = false; + } + + mExpires = useDefaultValues ? linphone_config_get_default_int(lc->config, "proxy", "reg_expires", 3600) : 3600; + mRegisterEnabled = + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "reg_sendregister", 1) : 1; + mInternationalPrefix = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "dial_prefix", "") : ""; mInternationalPrefixIsoCountryCode = - lc ? linphone_config_get_default_string(lc->config, "proxy", "dial_prefix_iso_country_code", "") : ""; + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "dial_prefix_iso_country_code", "") + : ""; mUseInternationalPrefixForCallsAndChats = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "use_dial_prefix_for_calls_and_chats", true) : true; + useDefaultValues + ? !!linphone_config_get_default_int(lc->config, "proxy", "use_dial_prefix_for_calls_and_chats", true) + : true; mDialEscapePlusEnabled = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "dial_escape_plus", false) : false; - mPrivacy = lc ? (LinphonePrivacyMask)linphone_config_get_default_int(lc->config, "proxy", "privacy", - LinphonePrivacyDefault) - : (LinphonePrivacyMask)LinphonePrivacyDefault; - mIdentity = lc ? linphone_config_get_default_string(lc->config, "proxy", "reg_identity", "") : ""; + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "dial_escape_plus", false) : false; + mPrivacy = useDefaultValues ? (LinphonePrivacyMask)linphone_config_get_default_int(lc->config, "proxy", "privacy", + LinphonePrivacyDefault) + : (LinphonePrivacyMask)LinphonePrivacyDefault; + mIdentity = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "reg_identity", "") : ""; mIdentityAddress = Address::create(mIdentity); - mProxy = lc ? linphone_config_get_default_string(lc->config, "proxy", "reg_proxy", "") : ""; + mProxy = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "reg_proxy", "") : ""; mProxyAddress = Address::create(mProxy); - string route = lc ? linphone_config_get_default_string(lc->config, "proxy", "reg_route", "") : ""; + string route = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "reg_route", "") : ""; if (!route.empty()) { const std::list<std::shared_ptr<Address>> routes{Address::create(route)}; setRoutes(routes); } - mRealm = lc ? linphone_config_get_default_string(lc->config, "proxy", "realm", "") : ""; + mRealm = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "realm", "") : ""; mQualityReportingEnabled = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "quality_reporting_enabled", false) : false; + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "quality_reporting_enabled", false) + : false; mQualityReportingCollector = - lc ? linphone_config_get_default_string(lc->config, "proxy", "quality_reporting_collector", "") : ""; + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "quality_reporting_collector", "") + : ""; mQualityReportingInterval = - lc ? linphone_config_get_default_int(lc->config, "proxy", "quality_reporting_interval", 0) : 0; - mContactParameters = lc ? linphone_config_get_default_string(lc->config, "proxy", "contact_parameters", "") : ""; + useDefaultValues ? linphone_config_get_default_int(lc->config, "proxy", "quality_reporting_interval", 0) : 0; + mContactParameters = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "contact_parameters", "") : ""; mContactUriParameters = - lc ? linphone_config_get_default_string(lc->config, "proxy", "contact_uri_parameters", "") : ""; + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "contact_uri_parameters", "") : ""; mAllowCpimMessagesInBasicChatRooms = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "cpim_in_basic_chat_rooms_enabled", false) : false; - - mAvpfMode = lc ? static_cast<LinphoneAVPFMode>( - linphone_config_get_default_int(lc->config, "proxy", "avpf", LinphoneAVPFDefault)) - : LinphoneAVPFDefault; - mAvpfRrInterval = lc ? !!linphone_config_get_default_int(lc->config, "proxy", "avpf_rr_interval", 5) : 5; - mPublishExpires = lc ? linphone_config_get_default_int(lc->config, "proxy", "publish_expires", 600) : 600; - mPublishEnabled = lc ? !!linphone_config_get_default_int(lc->config, "proxy", "publish", false) : false; + useDefaultValues + ? !!linphone_config_get_default_int(lc->config, "proxy", "cpim_in_basic_chat_rooms_enabled", false) + : false; + + mAvpfMode = useDefaultValues ? static_cast<LinphoneAVPFMode>(linphone_config_get_default_int( + lc->config, "proxy", "avpf", LinphoneAVPFDefault)) + : LinphoneAVPFDefault; + mAvpfRrInterval = + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "avpf_rr_interval", 5) : 5; + mPublishExpires = + useDefaultValues ? linphone_config_get_default_int(lc->config, "proxy", "publish_expires", 600) : 600; + mPublishEnabled = + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "publish", false) : false; bool pushAllowedDefault = false; bool remotePushAllowedDefault = false; @@ -89,26 +107,30 @@ AccountParams::AccountParams(LinphoneCore *lc) { pushAllowedDefault = true; #endif mPushNotificationAllowed = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "push_notification_allowed", pushAllowedDefault) - : pushAllowedDefault; + useDefaultValues + ? !!linphone_config_get_default_int(lc->config, "proxy", "push_notification_allowed", pushAllowedDefault) + : pushAllowedDefault; mRemotePushNotificationAllowed = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "remote_push_notification_allowed", - remotePushAllowedDefault) - : remotePushAllowedDefault; - mForceRegisterOnPush = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "force_register_on_push", false) : false; - mUnregisterAtStop = lc ? !!linphone_config_get_default_int(lc->config, "proxy", "unregister_at_stop", true) : true; - mRefKey = lc ? linphone_config_get_default_string(lc->config, "proxy", "refkey", "") : ""; + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "remote_push_notification_allowed", + remotePushAllowedDefault) + : remotePushAllowedDefault; + mForceRegisterOnPush = useDefaultValues + ? !!linphone_config_get_default_int(lc->config, "proxy", "force_register_on_push", false) + : false; + mUnregisterAtStop = + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "unregister_at_stop", true) : true; + mRefKey = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "refkey", "") : ""; /* CAUTION: the nat_policy_ref meaning in default values is different than in usual [nat_policy_%i] section. * This is not consistent and error-prone. * Normally, the nat_policy_ref refers to a "ref" entry within a [nat_policy_%i] section. */ - string natPolicyRef = lc ? linphone_config_get_default_string(lc->config, "proxy", "nat_policy_ref", "") : ""; + string natPolicyRef = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "nat_policy_ref", "") : ""; if (!natPolicyRef.empty()) { std::shared_ptr<NatPolicy> policy = nullptr; - if (linphone_config_has_section(lc->config, natPolicyRef.c_str())) { + if (lc && linphone_config_has_section(lc->config, natPolicyRef.c_str())) { /* Odd method - to be deprecated, inconsistent */ policy = NatPolicy::create(L_GET_CPP_PTR_FROM_C_OBJECT(lc), NatPolicy::ConstructionMethod::FromSectionName, natPolicyRef); @@ -124,68 +146,85 @@ AccountParams::AccountParams(LinphoneCore *lc) { << "]"; } } - mDependsOn = lc ? linphone_config_get_default_string(lc->config, "proxy", "depends_on", "") : ""; - string idkey = lc ? linphone_config_get_default_string(lc->config, "proxy", "idkey", "") : ""; + mDependsOn = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "depends_on", "") : ""; + string idkey = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "idkey", "") : ""; if (!idkey.empty()) { mIdKey = idkey; } else { mIdKey = generate_account_id(); } string conferenceFactoryUri = - lc ? linphone_config_get_default_string(lc->config, "proxy", "conference_factory_uri", "") : ""; + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "conference_factory_uri", "") : ""; setConferenceFactoryUri(conferenceFactoryUri); string audioVideoConferenceFactoryUri = - lc ? linphone_config_get_default_string(lc->config, "proxy", "audio_video_conference_factory_uri", "") : ""; + useDefaultValues + ? linphone_config_get_default_string(lc->config, "proxy", "audio_video_conference_factory_uri", "") + : ""; mAudioVideoConferenceFactoryAddress = nullptr; if (!audioVideoConferenceFactoryUri.empty()) { mAudioVideoConferenceFactoryAddress = Address::create(audioVideoConferenceFactoryUri); } - mCcmpServerUrl = lc ? linphone_config_get_default_string(lc->config, "proxy", "ccmp_server_url", "") : ""; - mCcmpUserId = lc ? linphone_config_get_default_string(lc->config, "proxy", "ccmp_user_id", "") : ""; + mCcmpServerUrl = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "ccmp_server_url", "") : ""; + mCcmpUserId = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "ccmp_user_id", "") : ""; if (lc && lc->push_config) { mPushNotificationConfig = PushNotificationConfig::toCpp(lc->push_config)->clone(); } else { mPushNotificationConfig = new PushNotificationConfig(); - mPushNotificationConfig->readPushParamsFromString( - string(lc ? linphone_config_get_default_string(lc->config, "proxy", "push_parameters", "") : "")); - } - mRtpBundleEnabled = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "rtp_bundle", linphone_core_rtp_bundle_enabled(lc)) - : false; - mRtpBundleAssumption = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "rtp_bundle_assumption", false) : false; - - string customContact = lc ? linphone_config_get_default_string(lc->config, "proxy", "custom_contact", "") : ""; + mPushNotificationConfig->readPushParamsFromString(string( + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "push_parameters", "") : "")); + } + mRtpBundleEnabled = useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "rtp_bundle", + linphone_core_rtp_bundle_enabled(lc)) + : false; + mRtpBundleAssumption = useDefaultValues + ? !!linphone_config_get_default_int(lc->config, "proxy", "rtp_bundle_assumption", false) + : false; + + string customContact = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "custom_contact", "") : ""; setCustomContact(customContact); - string limeServerUrl = lc ? linphone_config_get_default_string(lc->config, "proxy", "lime_server_url", "") : ""; + string limeServerUrl = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "lime_server_url", "") : ""; setLimeServerUrl(limeServerUrl); - string limeAlgo = lc ? linphone_config_get_default_string(lc->config, "proxy", "lime_algo", "") : ""; + string limeAlgo = useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "lime_algo", "") : ""; setLimeAlgo(limeAlgo); - string pictureUri = lc ? linphone_config_get_default_string(lc->config, "proxy", "picture_uri", "") : ""; + string pictureUri = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "picture_uri", "") : ""; setPictureUri(pictureUri); - string mwiServerUri = lc ? linphone_config_get_default_string(lc->config, "proxy", "mwi_server_uri", "") : ""; + string mwiServerUri = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "mwi_server_uri", "") : ""; mMwiServerAddress = nullptr; if (!mwiServerUri.empty()) { setMwiServerAddress(Address::create(mwiServerUri)); } - string voicemailUri = lc ? linphone_config_get_default_string(lc->config, "proxy", "voicemail_uri", "") : ""; + string voicemailUri = + useDefaultValues ? linphone_config_get_default_string(lc->config, "proxy", "voicemail_uri", "") : ""; mVoicemailAddress = nullptr; if (!voicemailUri.empty()) { setVoicemailAddress(Address::create(voicemailUri)); } mInstantMessagingEncryptionMandatory = - lc ? !!linphone_config_get_default_int(lc->config, "proxy", "im_encryption_mandatory", 0) : 0; + useDefaultValues ? !!linphone_config_get_default_int(lc->config, "proxy", "im_encryption_mandatory", 0) : 0; - if (lc) { + string supportedTags = lc ? linphone_config_get_default_string(lc->config, "proxy", "supported", "empty") : "empty"; + if (useDefaultValues && supportedTags != "empty") { + vector<string> splitTags = bctoolbox::Utils::split(supportedTags, ","); + list<string> supportedTagsList; + for (const auto &tag : splitTags) + supportedTagsList.push_back(Utils::trim(tag)); + mSupportedTagsList.mList = supportedTagsList; + mUseSupportedTags = true; + } else if (lc) { vector<string> splitTags = bctoolbox::Utils::split(lc->sal->getSupportedTags(), ","); list<string> supportedTagsList; for (const auto &tag : splitTags) @@ -194,7 +233,7 @@ AccountParams::AccountParams(LinphoneCore *lc) { } } -AccountParams::AccountParams(LinphoneCore *lc, int index) : AccountParams(nullptr) { +AccountParams::AccountParams(LinphoneCore *lc, int index) : AccountParams(lc, false) { LpConfig *config = lc->config; char key[50]; diff --git a/src/account/account-params.h b/src/account/account-params.h index e1b849073e..b34453d5aa 100644 --- a/src/account/account-params.h +++ b/src/account/account-params.h @@ -41,7 +41,7 @@ class LINPHONE_PUBLIC AccountParams : public bellesip::HybridObject<LinphoneAcco friend class Account; public: - AccountParams(LinphoneCore *lc); + AccountParams(LinphoneCore *lc, bool useDefaultValues); AccountParams(LinphoneCore *lc, int index); AccountParams(const AccountParams &other); virtual ~AccountParams(); diff --git a/src/account_creator/main.cpp b/src/account_creator/main.cpp index 0c2622d290..44a5d0b11f 100644 --- a/src/account_creator/main.cpp +++ b/src/account_creator/main.cpp @@ -50,7 +50,7 @@ static void reset_field(char **field) { static unsigned int validate_uri(LinphoneCore *lc, const char *username, const char *domain, const char *display_name) { LinphoneAddress *addr; unsigned int status = 0; - LinphoneAccountParams *params = linphone_account_params_new(lc); + LinphoneAccountParams *params = linphone_account_params_new(lc, TRUE); addr = linphone_address_new("sip:?@domain.com"); linphone_account_params_set_identity_address(params, addr); if (addr) linphone_address_unref(addr); @@ -94,7 +94,7 @@ LinphoneProxyConfig *linphone_account_creator_create_proxy_config(const Linphone LinphoneAccount *linphone_account_creator_create_account_in_core(const LinphoneAccountCreator *creator) { LinphoneAuthInfo *info; - LinphoneAccountParams *params = linphone_account_params_new(creator->core); + LinphoneAccountParams *params = linphone_account_params_new(creator->core, TRUE); char *identity_str = linphone_account_creator_get_identity(creator); LinphoneAddress *identity = linphone_address_new(identity_str); ms_free(identity_str); @@ -256,7 +256,7 @@ LinphoneAccountCreatorPhoneNumberStatusMask linphone_account_creator_set_phone_n return LinphoneAccountCreatorPhoneNumberStatusInvalidCountryCode; if (!creator->account) { - LinphoneAccountParams *params = linphone_account_params_new(creator->core); + LinphoneAccountParams *params = linphone_account_params_new(creator->core, TRUE); creator->account = linphone_core_create_account(creator->core, params); linphone_account_params_unref(params); } @@ -441,7 +441,7 @@ LinphoneTransportType linphone_account_creator_get_transport(const LinphoneAccou LinphoneAccountCreatorStatus linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route) { if (!creator->account) { - LinphoneAccountParams *params = linphone_account_params_new(creator->core); + LinphoneAccountParams *params = linphone_account_params_new(creator->core, TRUE); creator->account = linphone_core_create_account(creator->core, params); linphone_account_params_unref(params); } @@ -550,7 +550,7 @@ LinphoneAccountCreator *linphone_account_creator_new(LinphoneCore *core, const c creator->set_as_default = TRUE; - LinphoneAccountParams *params = linphone_account_params_new(core); + LinphoneAccountParams *params = linphone_account_params_new(core, TRUE); creator->account = linphone_core_create_account(core, params); linphone_account_params_unref(params); diff --git a/src/account_creator/utils.cpp b/src/account_creator/utils.cpp index 40a455dc40..19af98c57b 100644 --- a/src/account_creator/utils.cpp +++ b/src/account_creator/utils.cpp @@ -46,7 +46,7 @@ char *linphone_account_creator_get_identity(const LinphoneAccountCreator *creato if (username) { // we must escape username LinphoneCore *lc = creator->core; - LinphoneAccountParams *params = linphone_account_params_new(lc); + LinphoneAccountParams *params = linphone_account_params_new(lc, TRUE); LinphoneAccount *account = linphone_core_create_account(lc, params); linphone_account_params_unref(params); LinphoneAddress *addr = linphone_account_normalize_sip_uri(account, username); diff --git a/src/c-wrapper/api/c-account-params.cpp b/src/c-wrapper/api/c-account-params.cpp index fb5180a0f6..cc603a49ea 100644 --- a/src/c-wrapper/api/c-account-params.cpp +++ b/src/c-wrapper/api/c-account-params.cpp @@ -32,8 +32,8 @@ using namespace LinphonePrivate; -LinphoneAccountParams *linphone_account_params_new(LinphoneCore *lc) { - return AccountParams::createCObject(lc); +LinphoneAccountParams *linphone_account_params_new(LinphoneCore *lc, bool_t use_default_values) { + return AccountParams::createCObject(lc, !!use_default_values); } LinphoneAccountParams *linphone_account_params_new_with_config(LinphoneCore *lc, int index) { diff --git a/src/c-wrapper/api/c-account.cpp b/src/c-wrapper/api/c-account.cpp index 804c1bf9dd..99769b8a16 100644 --- a/src/c-wrapper/api/c-account.cpp +++ b/src/c-wrapper/api/c-account.cpp @@ -362,7 +362,7 @@ char *linphone_account_normalize_phone_number(const LinphoneAccount *account, co dial_prefix = linphone_account_params_get_international_prefix(accountParams); dial_escape_plus = linphone_account_params_dial_escape_plus_enabled(accountParams); } else { - LinphoneAccountParams *accountParams = linphone_account_params_new(NULL); + LinphoneAccountParams *accountParams = linphone_account_params_new(nullptr, FALSE); dial_prefix = linphone_account_params_get_international_prefix(accountParams); dial_escape_plus = linphone_account_params_dial_escape_plus_enabled(accountParams); linphone_account_params_unref(accountParams); diff --git a/tester/account_tester.c b/tester/account_tester.c index 066d2f609e..b3ee26ccf7 100644 --- a/tester/account_tester.c +++ b/tester/account_tester.c @@ -489,7 +489,7 @@ static void account_dependency_to_self(void) { linphone_core_clear_proxy_config(marie->lc); BC_ASSERT_TRUE(wait_for(marie->lc, NULL, &marie->stat.number_of_LinphoneRegistrationCleared, 2)); - LinphoneAccountParams *marie_dependent_params = linphone_account_params_new(marie->lc); + LinphoneAccountParams *marie_dependent_params = linphone_account_params_new(marie->lc, TRUE); linphone_account_params_set_identity_address(marie_dependent_params, marie_secondary_address); linphone_account_params_set_server_addr(marie_dependent_params, "sip:external.example.org:5068;transport=tcp"); diff --git a/tester/call-twisted-cases.cpp b/tester/call-twisted-cases.cpp index a2dea52052..50c2a3befe 100644 --- a/tester/call-twisted-cases.cpp +++ b/tester/call-twisted-cases.cpp @@ -166,7 +166,7 @@ static void call_challenged_after_180_base(bool_t with_account) { identity_address = linphone_address_new(identity); const char *realm = linphone_auth_info_get_realm(ai); - LinphoneAccountParams *account_params = linphone_account_params_new(marie->lc); + LinphoneAccountParams *account_params = linphone_account_params_new(marie->lc, TRUE); char *agent_listening_uri = ms_strdup(agent.getListeningUriAsString().c_str()); server_address = linphone_address_new(agent_listening_uri); linphone_account_params_set_server_address(account_params, server_address); diff --git a/tools/lpsendmsg.c b/tools/lpsendmsg.c index 401a4b356d..36df15de78 100644 --- a/tools/lpsendmsg.c +++ b/tools/lpsendmsg.c @@ -183,7 +183,7 @@ int main(int argc, char *argv[]) { linphone_address_set_display_name(route, NULL); } - LinphoneAccountParams *account_params = linphone_account_params_new(lc); + LinphoneAccountParams *account_params = linphone_account_params_new(lc, TRUE); linphone_account_params_set_identity_address(account_params, from); tmp = linphone_address_as_string(route); linphone_account_params_set_server_addr(account_params, tmp); diff --git a/tools/test_numbers.c b/tools/test_numbers.c index c312ab3c86..1995ba4dbe 100644 --- a/tools/test_numbers.c +++ b/tools/test_numbers.c @@ -31,7 +31,7 @@ int main(int argc, char *argv[]) { } linphone_core_enable_logs(stderr); linphone_core_set_log_level(ORTP_DEBUG); - LinphoneAccountParams *params = linphone_account_params_new(NULL); + LinphoneAccountParams *params = linphone_account_params_new(nullptr, FALSE); if (argc > 2) linphone_account_params_set_international_prefix(params, argv[2]); if (argc > 3 && strcmp(argv[3], "--escape-plus") == 0) linphone_account_params_set_dial_escape_plus(params, TRUE); account = linphone_core_create_account(NULL, params); -- GitLab