diff --git a/assets/languages/de.ts b/assets/languages/de.ts
index 7b77efdcb..cacb6a9a9 100644
--- a/assets/languages/de.ts
+++ b/assets/languages/de.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Login fehlgeschlagen. Bitte überprüfen Sie Ihre Telefonnummer.
+
+ unableToAddAccount
+ Dieses Konto kann nicht hinzugefügt werden.
+
AuthenticationRequest
diff --git a/assets/languages/en.ts b/assets/languages/en.ts
index d06de96d4..dd33bcce4 100644
--- a/assets/languages/en.ts
+++ b/assets/languages/en.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Login failed. Please check your phone number.
+
+ unableToAddAccount
+ Unable to add this account.
+
AuthenticationRequest
diff --git a/assets/languages/fr_FR.ts b/assets/languages/fr_FR.ts
index 21acb118c..38d9d570d 100644
--- a/assets/languages/fr_FR.ts
+++ b/assets/languages/fr_FR.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
La connection a échoué. Merci de vérifier votre numéro.
+
+ unableToAddAccount
+ Impossible d'ajouter ce compte.
+
AuthenticationRequest
diff --git a/assets/languages/ja.ts b/assets/languages/ja.ts
index 321a12653..89d3ebd43 100644
--- a/assets/languages/ja.ts
+++ b/assets/languages/ja.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
ログインに失敗しました。電話番号を確認して下さい。
+
+ unableToAddAccount
+ このアカウントを追加出来ませんでした。
+
AuthenticationRequest
diff --git a/assets/languages/lt.ts b/assets/languages/lt.ts
index 4a25a5251..22a4a9652 100644
--- a/assets/languages/lt.ts
+++ b/assets/languages/lt.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Prisijungimas nepavyko. Patikrinkite savo telefono numerį.
+
+ unableToAddAccount
+ Nepavyko pridėti šios paskyros.
+
AuthenticationRequest
diff --git a/assets/languages/pt_BR.ts b/assets/languages/pt_BR.ts
index 46706556f..1150e25d8 100644
--- a/assets/languages/pt_BR.ts
+++ b/assets/languages/pt_BR.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Falha na autenticação. Por favor, verifique o seu número de telefone.
+
+ unableToAddAccount
+ Não é possível adicionar esta conta.
+
AuthenticationRequest
diff --git a/assets/languages/ru.ts b/assets/languages/ru.ts
index 1e27d871d..d34ca9092 100644
--- a/assets/languages/ru.ts
+++ b/assets/languages/ru.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Не удалось войти. Пожалуйста проверьте правильность ввода номера телефона.
+
+ unableToAddAccount
+ Не удалось добавить этот аккаунт.
+
AuthenticationRequest
diff --git a/assets/languages/sv.ts b/assets/languages/sv.ts
index 322c38902..001d257c4 100644
--- a/assets/languages/sv.ts
+++ b/assets/languages/sv.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Inloggningen misslyckades. Kolla ditt telefonnummer.
+
+ unableToAddAccount
+ Det gick inte att lägga till det här kontot.
+
AuthenticationRequest
diff --git a/assets/languages/tr.ts b/assets/languages/tr.ts
index 23fa48781..5de66b9e1 100644
--- a/assets/languages/tr.ts
+++ b/assets/languages/tr.ts
@@ -213,6 +213,10 @@
loginWithPhoneNumberFailed
Giriş başarısız. Lütfen telefon numaranızı denetleyin.
+
+ unableToAddAccount
+ Bu hesap eklenemiyor.
+
AuthenticationRequest
diff --git a/src/components/assistant/AssistantModel.cpp b/src/components/assistant/AssistantModel.cpp
index cc574e79c..af5e28fa1 100644
--- a/src/components/assistant/AssistantModel.cpp
+++ b/src/components/assistant/AssistantModel.cpp
@@ -167,10 +167,23 @@ void AssistantModel::create () {
}
void AssistantModel::login () {
- if (!mCountryCode.isEmpty())
+ if (!mCountryCode.isEmpty()) {
mAccountCreator->recoverAccount();
- else
+ return;
+ }
+
+ shared_ptr config(CoreManager::getInstance()->getCore()->getConfig());
+ if (!config->getString("assistant", "xmlrpc_url", "").empty()) {
mAccountCreator->isAccountExist();
+ return;
+ }
+
+ // No verification if no xmlrpc url. Use addOtherSipAccount directly.
+ QVariantMap map;
+ map["sipDomain"] = Utils::coreStringToAppString(config->getString("assistant", "domain", ""));
+ map["username"] = getUsername();
+ map["password"] = getPassword();
+ emit loginStatusChanged(addOtherSipAccount(map) ? QString("") : tr("unableToAddAccount"));
}
void AssistantModel::reset () {
@@ -202,7 +215,10 @@ bool AssistantModel::addOtherSipAccount (const QVariantMap &map) {
shared_ptr address = factory->createAddress(
Utils::appStringToCoreString(QStringLiteral("sip:%1").arg(domain))
);
- address->setTransport(LinphoneUtils::stringToTransportType(map["transport"].toString()));
+
+ const QString &transport(map["transport"].toString());
+ if (!transport.isEmpty())
+ address->setTransport(LinphoneUtils::stringToTransportType(transport));
if (proxyConfig->setServerAddr(address->asString())) {
qWarning() << QStringLiteral("Unable to add server address: `%1`.")