From 4e8c7f3269a3bf66dfbaf9701123ccf6217855d6 Mon Sep 17 00:00:00 2001 From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com> Date: Mon, 27 Apr 2015 11:56:24 -0400 Subject: [PATCH] daemon: re-register SIP account when credentials change Refs #71715 Change-Id: Ie3bcb8a4e7c9118c3ff9b39209fd06e53e18fa26 --- src/client/configurationmanager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/client/configurationmanager.cpp b/src/client/configurationmanager.cpp index c947b803cb..c4a5a10d75 100644 --- a/src/client/configurationmanager.cpp +++ b/src/client/configurationmanager.cpp @@ -661,8 +661,13 @@ void setCredentials(const std::string& accountID, const std::vector<std::map<std::string, std::string>>& details) { - if (auto sipaccount = ring::Manager::instance().getAccount<SIPAccount>(accountID)) - sipaccount->setCredentials(details); + if (auto sipaccount = ring::Manager::instance().getAccount<SIPAccount>(accountID)) { + sipaccount->doUnregister([&](bool /* transport_free */) { + sipaccount->setCredentials(details); + if (sipaccount->isEnabled()) + sipaccount->doRegister(); + }); + } } } // namespace DRing -- GitLab