Clean only domain from asStringUriOnly to strip uri arguments.

This commit is contained in:
Julien Wadel 2020-10-19 11:05:21 +02:00
parent 17ecc29f0f
commit ecb80c8ce8

View file

@ -99,19 +99,18 @@ std::shared_ptr<linphone::Address> Utils::getMatchingLocalAddress(std::shared_pt
QString Utils::cleanSipAddress (const QString &sipAddress) {
std::shared_ptr<linphone::Address> addr = linphone::Factory::get()->createAddress(Utils::appStringToCoreString(sipAddress));
if( addr) {
QString sipText = Utils::coreStringToAppString(addr->getScheme());
if( !sipText.isEmpty())
sipText += ":";
if( !addr->getUsername().empty())
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;
QStringList fields = Utils::coreStringToAppString(addr->asStringUriOnly()).split('@');
if(fields.size() > 0){// maybe useless but it's just to be sure to have a domain
fields.removeLast();
QString domain = Utils::coreStringToAppString(addr->getDomain());
if( domain.count(':')>1)
fields.append('['+domain+']');
else
fields.append(domain);
return fields.join('@');
}
}
return sipAddress;
}
// Data to retrieve WIN32 process
#ifdef _WIN32