From eae2c461c12ec698fac52eb81d02a96e2447839c Mon Sep 17 00:00:00 2001 From: nicolas Date: Fri, 18 Aug 2017 11:17:22 +0200 Subject: [PATCH] fix(Cli): error case: join-conference-as without proxy config --- src/app/cli/Cli.cpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/app/cli/Cli.cpp b/src/app/cli/Cli.cpp index 975a69691..5d5ed11e3 100644 --- a/src/app/cli/Cli.cpp +++ b/src/app/cli/Cli.cpp @@ -60,18 +60,22 @@ static void cliJoinConference (QHash &args) { static void cliJoinConferenceAs (QHash &args) { const QString fromSipAddress = args.take("guest-sip-address"); const QString toSipAddress = args.take("sip-address"); - CoreManager *coreManager = CoreManager::getInstance(); - shared_ptr core = coreManager->getCore(); + shared_ptr proxyConfig = coreManager->getCore()->getDefaultProxyConfig(); - { - shared_ptr currentSipAddress = core->getDefaultProxyConfig()->getIdentityAddress()->clone(); - currentSipAddress->clean(); - if (fromSipAddress != ::Utils::coreStringToAppString(currentSipAddress->asStringUriOnly())) { - qWarning() << QStringLiteral("Guest sip address `%1` doesn't match with default proxy config.") - .arg(fromSipAddress); - return; - } + if (!proxyConfig) { + qWarning() << QStringLiteral("You have no proxy config."); + return; + } + + const shared_ptr currentSipAddress = proxyConfig->getIdentityAddress(); + const shared_ptr askedSipAddress = linphone::Factory::get()->createAddress( + ::Utils::appStringToCoreString(fromSipAddress) + ); + if (!currentSipAddress->weakEqual(askedSipAddress)) { + qWarning() << QStringLiteral("Guest sip address `%1` doesn't match with default proxy config.") + .arg(fromSipAddress); + return; } args["method"] = QStringLiteral("join-conference"); @@ -124,7 +128,8 @@ static void cliInitiateConference (QHash &args) { qWarning() << QStringLiteral("Unable to join created conference: `%1`.").arg(id); return; } - + App *app = App::getInstance(); + app->smartShowWindow(app->getCallsWindow()); // TODO: Set the view to the "waiting call view". }