diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp index f1d9cbd97d0507326152cab9d763f7f290cbddec..0738d4c14ee81d25c819a072cb312fbc3ce9ed1e 100644 --- a/src/managerimpl.cpp +++ b/src/managerimpl.cpp @@ -2114,19 +2114,22 @@ ManagerImpl::addAccount(const std::map< ::DBus::String, ::DBus::String >& detail /** @todo Verify the uniqueness, in case a program adds accounts, two in a row. */ if (accountType == "SIP") { - if(!_userAgentInitlized) { + if(!_userAgentInitlized) { // Initialize the SIP Manager _userAgent = new UserAgent(); - _userAgentInitlized = true; } newAccount = AccountCreator::createAccount(AccountCreator::SIP_ACCOUNT, newAccountID); - - // Determine whether to use stun for the current account or not - int useStun = Manager::instance().getConfigInt(newAccount->getAccountID(),SIP_USE_STUN); - - if(useStun == 1) { - _userAgent->setStunServer(Manager::instance().getConfigString(newAccount->getAccountID(), SIP_STUN_SERVER).data()); + + // Determine whether to use stun for the current account or not + if((*details.find(SIP_USE_STUN)).second == "TRUE") { + _userAgent->setStunServer((*details.find(SIP_STUN_SERVER)).second.data()); + } + + if(!_userAgentInitlized) { + _userAgentInitlized = true; + _userAgent->sipCreate(); + _userAgent->sipInit(); } } else if (accountType == "IAX") {