From 69d33a0c4082873870da61da74f92851ea217501 Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandresavard@alexandresavard-desktop.(none)> Date: Mon, 12 Apr 2010 18:02:56 -0400 Subject: [PATCH] [#3170] Use Domain name in sip TO header if specified --- sflphone-common/src/sip/sipaccount.cpp | 21 +++++++++++++++------ sflphone-common/src/sip/sipvoiplink.cpp | 17 ++++------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/sflphone-common/src/sip/sipaccount.cpp b/sflphone-common/src/sip/sipaccount.cpp index 4dfa02783f..6445a85662 100644 --- a/sflphone-common/src/sip/sipaccount.cpp +++ b/sflphone-common/src/sip/sipaccount.cpp @@ -461,9 +461,14 @@ std::string SIPAccount::getFromUri (void) username = getLoginName(); } - // Get machine hostname if not provided - if (_hostname.empty()) { - hostname = getMachineName(); + if(!getDomainName().empty()) { + hostname = getDomainName(); + } + else { + // Get machine hostname if not provided + if (_hostname.empty()) { + hostname = getMachineName(); + } } int len = pj_ansi_snprintf (uri, PJSIP_MAX_URL_SIZE, @@ -483,7 +488,7 @@ std::string SIPAccount::getToUri (const std::string& username) std::string scheme; std::string transport; - std::string hostname = _hostname; + std::string hostname = ""; // UDP does not require the transport specification @@ -501,8 +506,12 @@ std::string SIPAccount::getToUri (const std::string& username) } // Check if hostname is already specified - if (username.find ("@") != std::string::npos) { - hostname = ""; + if (username.find ("@") == std::string::npos) { + // hostname not specified + if(getDomainName().empty()) + hostname = _hostname; + else + hostname = getDomainName(); } int len = pj_ansi_snprintf (uri, PJSIP_MAX_URL_SIZE, diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index 75e4bf9e7e..ea98537a7c 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -559,28 +559,19 @@ int SIPVoIPLink::sendRegister (AccountID id) } // Creates URI - std::string fromUri; - std::string contactUri; - std::string srvUri; - std::string address; - - fromUri = account->getFromUri(); - - srvUri = account->getServerUri(); + std::string fromUri = account->getFromUri(); + std::string srvUri = account->getServerUri(); - address = findLocalAddressFromUri (srvUri, account->getAccountTransport ()); + std::string address = findLocalAddressFromUri (srvUri, account->getAccountTransport ()); int port = findLocalPortFromUri (srvUri, account->getAccountTransport ()); std::stringstream ss; - std::string portStr; - ss << port; - ss >> portStr; - contactUri = account->getContactHeader (address, portStr); + std::string contactUri = account->getContactHeader (address, portStr); _debug ("sendRegister: fromUri: %s serverUri: %s contactUri: %s", fromUri.c_str(), -- GitLab