diff --git a/src/app/cli/Cli.cpp b/src/app/cli/Cli.cpp index d96c87bb0..5ce129382 100644 --- a/src/app/cli/Cli.cpp +++ b/src/app/cli/Cli.cpp @@ -144,12 +144,24 @@ void Cli::Command::execute (QHash &args) const { } } +void Cli::Command::decode (QHash &args) const{ + QByteArray qa; + for (const auto &argName : args.keys()) { + if (argName != QString("sip-address")) { + qa.append(args[argName]); + args[argName] = QByteArray::fromBase64(qa); + qa.clear(); + } + } +} + void Cli::Command::executeUri (const shared_ptr &address) const { QHash args; for (const auto &argName : mArgsScheme.keys()) args[argName] = ::Utils::coreStringToAppString(address->getHeader(::Utils::appStringToCoreString(argName))); + address->clean(); args["sip-address"] = ::Utils::coreStringToAppString(address->asStringUriOnly()); - + decode(args); execute(args); } diff --git a/src/app/cli/Cli.hpp b/src/app/cli/Cli.hpp index 1abd0e903..30e93183d 100644 --- a/src/app/cli/Cli.hpp +++ b/src/app/cli/Cli.hpp @@ -63,6 +63,7 @@ class Cli : public QObject { const QHash &argsScheme ); + void decode (QHash &args) const; void execute (QHash &args) const; void executeUri (const std::shared_ptr &address) const;