From 7c514133e39e9310dd38ac75d131a3fa42a2fa01 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 15 Jun 2020 14:55:18 +0200 Subject: [PATCH] rewrite IPv6 domain for cleaning addresses --- linphone-app/src/utils/Utils.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/linphone-app/src/utils/Utils.cpp b/linphone-app/src/utils/Utils.cpp index 5621af69a..32e6c0990 100644 --- a/linphone-app/src/utils/Utils.cpp +++ b/linphone-app/src/utils/Utils.cpp @@ -99,13 +99,17 @@ std::shared_ptr Utils::getMatchingLocalAddress(std::shared_pt QString Utils::cleanSipAddress (const QString &sipAddress) { std::shared_ptr addr = linphone::Factory::get()->createAddress(Utils::appStringToCoreString(sipAddress)); if( addr) { - std::string sipText = addr->getScheme(); - if( !sipText.empty()) + QString sipText = Utils::coreStringToAppString(addr->getScheme()); + if( !sipText.isEmpty()) sipText += ":"; if( !addr->getUsername().empty()) - sipText += addr->getUsername()+"@"; - sipText += addr->getDomain(); - return Utils::coreStringToAppString(sipText); + sipText += Utils::coreStringToAppString(addr->getUsername())+"@"; + QString domain = Utils::coreStringToAppString(addr->getDomain()); + if( domain.count(':')>1) + sipText+= '['+domain+']'; + else + sipText +=domain; + return sipText; }else return sipAddress; }