diff --git a/linphone-desktop/src/app/paths/Paths.cpp b/linphone-desktop/src/app/paths/Paths.cpp index e0d1544d2..33bba1a9e 100644 --- a/linphone-desktop/src/app/paths/Paths.cpp +++ b/linphone-desktop/src/app/paths/Paths.cpp @@ -30,6 +30,7 @@ #include "config.h" #include "Paths.hpp" +#include #define PATH_ASSISTANT_CONFIG "/assistant/" #define PATH_AVATARS "/avatars/" @@ -254,6 +255,14 @@ static void migrateConfigurationFile (const QString &oldPath, const QString &new } } +static void setRlsUri (const QString &configPath) { + shared_ptr config = linphone::Config::newWithFactory(Utils::appStringToCoreString(configPath), ""); + if (config->getString("sip", "rls_uri", "").empty()) { + config->setString("sip", "rls_uri", "sips:rls@sip.linphone.org"); + config->sync(); + } +} + void Paths::migrate () { QString newPath = getAppConfigFilePath(); QString oldBaseDir = QSysInfo::productType() == "windows" @@ -261,8 +270,11 @@ void Paths::migrate () { : QStandardPaths::writableLocation(QStandardPaths::HomeLocation); QString oldPath = oldBaseDir + "/.linphonerc"; - if (!filePathExists(newPath) && filePathExists(oldPath)) + if (!filePathExists(newPath) && filePathExists(oldPath)) { migrateConfigurationFile(oldPath, newPath); + /* Define RLS uri so that presence switches from peer-to-peer mode to list mode */ + setRlsUri(newPath); + } newPath = getAppCallHistoryFilePath(); oldPath = oldBaseDir + "/.linphone-call-history.db";