diff --git a/daemon/src/dbus/configurationmanager-introspec.xml b/daemon/src/dbus/configurationmanager-introspec.xml
index 152f42de6d6c3a315d46cce9c3417861cae41ba2..7168fbf0defda60e77109c7b546f9d61ab53afde 100755
--- a/daemon/src/dbus/configurationmanager-introspec.xml
+++ b/daemon/src/dbus/configurationmanager-introspec.xml
@@ -97,54 +97,42 @@
 		</method>
 
 		<method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails">
-			<tp:docstring>
-				Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
-			</tp:docstring>
-			<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+            <tp:docstring>
+            Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
+            </tp:docstring>
+            <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
 			<!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>-->
-			<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
-				<tp:docstring>
-					Available parameters are:
-					<ul>
-						<li>ACCOUNT_ID</li>
-						<li>SRTP_KEY_EXCHANGE</li>
-						<li>SRTP_ENABLE</li>
-						<li>SRTP_RTP_FALLBACK</li>
-						<li>ZRTP_DISPLAY_SAS</li>
-						<li>ZRTP_HELLO_HASH</li>
-						<li>ZRTP_NOT_SUPP_WARNING</li>
-						<li>ZRTP_DISPLAY_SAS_ONCE</li>
-						<li>LOCAL_INTERFACE</li>
-						<li>LOCAL_PORT</li>
-						<li>TLS_LISTENER_PORT</li>
-						<li>TLS_CA_LIST_FILE</li>
-						<li>TLS_CERTIFICATE_FILE</li>
-						<li>TLS_PRIVATE_KEY_FILE</li>
-						<li>TLS_PASSWORD</li>
-						<li>TLS_METHOD</li>
-						<li>TLS_CIPHERS</li>
-						<li>TLS_SERVER_NAME</li>
-						<li>TLS_VERIFY_SERVER</li>
-						<li>TLS_VERIFY_CLIENT</li>
-						<li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
-						<li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
-						<li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
-						</ul>
-					</tp:docstring>
-				</arg>
-			</method>
-
-			<method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails">
-                                 <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-				<tp:docstring>
-					Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile.
-				</tp:docstring>
-                              <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map">
-			   <tp:docstring>
-				   The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference.
-			   </tp:docstring>
-		   </arg>
-	   </method>
+            <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
+            <tp:docstring>
+            Available parameters are:
+            <ul>
+            <li>ACCOUNT_ID</li>
+            <li>SRTP_KEY_EXCHANGE</li>
+            <li>SRTP_ENABLE</li>
+            <li>SRTP_RTP_FALLBACK</li>
+            <li>ZRTP_DISPLAY_SAS</li>
+            <li>ZRTP_HELLO_HASH</li>
+            <li>ZRTP_NOT_SUPP_WARNING</li>
+            <li>ZRTP_DISPLAY_SAS_ONCE</li>
+            <li>LOCAL_INTERFACE</li>
+            <li>LOCAL_PORT</li>
+            <li>TLS_LISTENER_PORT</li>
+            <li>TLS_CA_LIST_FILE</li>
+            <li>TLS_CERTIFICATE_FILE</li>
+            <li>TLS_PRIVATE_KEY_FILE</li>
+            <li>TLS_PASSWORD</li>
+            <li>TLS_METHOD</li>
+            <li>TLS_CIPHERS</li>
+            <li>TLS_SERVER_NAME</li>
+            <li>TLS_VERIFY_SERVER</li>
+            <li>TLS_VERIFY_CLIENT</li>
+            <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
+            <li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
+            <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
+            </ul>
+            </tp:docstring>
+            </arg>
+        </method>
 
 	   <method name="getCredentials" tp:name-for-bindings="getCredentials">
 		   <tp:docstring>
@@ -284,22 +272,6 @@
 		   </arg>
 	   </method>
 
-	   <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="s" name="accountID" direction="in" />
-		   <arg type="i" name="bool" direction="out">
-			   <tp:docstring>
-			   </tp:docstring>
-		   </arg>
-	   </method>
-
-	   <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="s" name="accountID" direction="in"/>
-	   </method>
-
 	   <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice">
 		   <tp:docstring>
 		   </tp:docstring>
@@ -376,7 +348,7 @@
 
 	   <!--      ///////////////////////               -->
 
-	   <!-- Audio Codecs-related methods -->
+	   <!-- Codecs-related methods -->
 
 	   <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList">
 		   <tp:docstring>
@@ -532,21 +504,7 @@
 		   </arg>
 	   </method>
 
-       <method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState">
-	           <tp:docstring>
-		   </tp:docstring>
-		   <arg type="s" name="state" direction="out">
-		           <tp:docstring>
-			   </tp:docstring>
-		   </arg>
-	   </method>
-
-	   <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState">
-	           <arg type="s" name="state" direction="in">
-	           </arg>
-	   </method>
-	   
-	   <method name="getEchoCancelState" tp:name-for-bindings="getEchoCancelState">
+       <method name="getEchoCancelState" tp:name-for-bindings="getNoiseSuppressState">
 	           <tp:docstring>
 		   </tp:docstring>
 		   <arg type="s" name="state" direction="out">
@@ -593,27 +551,22 @@
 	   </method>
 	   
 	   
-
-	   <!--    General Settings Panel         -->
-
-	   <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing">
-		   <tp:docstring>
+	   <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState">
+	           <tp:docstring>
 		   </tp:docstring>
-		   <arg type="b" name="res" direction="out">
-			   <tp:docstring>
+		   <arg type="s" name="state" direction="out">
+		           <tp:docstring>
 			   </tp:docstring>
 		   </arg>
 	   </method>
 
-	   <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="b" name="enabled" direction="in">
-			   <tp:docstring>
-			   </tp:docstring>
-		   </arg>
+	   <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState">
+	           <arg type="s" name="state" direction="in">
+	           </arg>
 	   </method>
 
+	   <!--    General Settings Panel         -->
+
 	   <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled">
 		   <tp:docstring>
 		   </tp:docstring>
diff --git a/daemon/src/dbus/configurationmanager.cpp b/daemon/src/dbus/configurationmanager.cpp
index a1d0df05c861a19b70bddfdc670d9b17466d695f..632f7280e1e585871af3ba56dcdb757ca8e7cafb 100644
--- a/daemon/src/dbus/configurationmanager.cpp
+++ b/daemon/src/dbus/configurationmanager.cpp
@@ -30,7 +30,6 @@
  *  as that of the covered work.
  */
 
-#include "global.h"
 #include <configurationmanager.h>
 #include <sstream>
 #include "../manager.h"
@@ -50,142 +49,65 @@ ConfigurationManager::ConfigurationManager (DBus::Connection& connection) :
     shortcutsKeys.push_back ("toggle_hold");
 }
 
-std::map<std::string, std::string> ConfigurationManager::getAccountDetails (
-    const std::string& accountID)
-{
-    return Manager::instance().getAccountDetails (accountID);
-}
-
-std::map<std::string, std::string> ConfigurationManager::getTlsSettingsDefault (
-    void)
-{
-    std::map<std::string, std::string> tlsSettingsDefault;
-
-    std::stringstream portstr;
-    portstr << DEFAULT_SIP_TLS_PORT;
-
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_LISTENER_PORT, portstr.str()));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_CA_LIST_FILE, ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_CERTIFICATE_FILE, ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_PRIVATE_KEY_FILE, ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_PASSWORD,
-                               ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_METHOD,
-                               "TLSv1"));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (TLS_CIPHERS,
-                               ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_SERVER_NAME, ""));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_VERIFY_SERVER, "true"));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_VERIFY_CLIENT, "true"));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_REQUIRE_CLIENT_CERTIFICATE, "true"));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_NEGOTIATION_TIMEOUT_SEC, "2"));
-    tlsSettingsDefault.insert (std::pair<std::string, std::string> (
-                                   TLS_NEGOTIATION_TIMEOUT_MSEC, "0"));
-
-    return tlsSettingsDefault;
-}
-
 std::map<std::string, std::string> ConfigurationManager::getIp2IpDetails (void)
 {
-
     std::map<std::string, std::string> ip2ipAccountDetails;
-
     SIPAccount *sipaccount = (SIPAccount *) Manager::instance().getAccount (IP2IP_PROFILE);
-
     if (!sipaccount) {
         _error ("ConfigurationManager: could not find account");
         return ip2ipAccountDetails;
     }
 
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ACCOUNT_ID, IP2IP_PROFILE));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_KEY_EXCHANGE, sipaccount->getSrtpKeyExchange()));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_ENABLE, sipaccount->getSrtpEnable() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (SRTP_RTP_FALLBACK, sipaccount->getSrtpFallback() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS, sipaccount->getZrtpDisplaySas() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_HELLO_HASH, sipaccount->getZrtpHelloHash() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_NOT_SUPP_WARNING, sipaccount->getZrtpNotSuppWarning() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (ZRTP_DISPLAY_SAS_ONCE, sipaccount->getZrtpDiaplaySasOnce() ? "true" : "false"));
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (LOCAL_INTERFACE, sipaccount->getLocalInterface()));
+    ip2ipAccountDetails[ACCOUNT_ID] = IP2IP_PROFILE;
+    ip2ipAccountDetails[SRTP_KEY_EXCHANGE] = sipaccount->getSrtpKeyExchange();
+    ip2ipAccountDetails[SRTP_ENABLE] = sipaccount->getSrtpEnable() ? "true" : "false";
+    ip2ipAccountDetails[SRTP_RTP_FALLBACK] = sipaccount->getSrtpFallback() ? "true" : "false";
+    ip2ipAccountDetails[ZRTP_DISPLAY_SAS] = sipaccount->getZrtpDisplaySas() ? "true" : "false";
+    ip2ipAccountDetails[ZRTP_HELLO_HASH] = sipaccount->getZrtpHelloHash() ? "true" : "false";
+    ip2ipAccountDetails[ZRTP_NOT_SUPP_WARNING] = sipaccount->getZrtpNotSuppWarning() ? "true" : "false";
+    ip2ipAccountDetails[ZRTP_DISPLAY_SAS_ONCE] = sipaccount->getZrtpDiaplaySasOnce() ? "true" : "false";
+    ip2ipAccountDetails[LOCAL_INTERFACE] = sipaccount->getLocalInterface();
     std::stringstream portstr;
     portstr << sipaccount->getLocalPort();
-    ip2ipAccountDetails.insert (std::pair<std::string, std::string> (LOCAL_PORT, portstr.str()));
+    ip2ipAccountDetails[LOCAL_PORT] = portstr.str();
 
     std::map<std::string, std::string> tlsSettings;
     tlsSettings = getTlsSettings();
     std::copy (tlsSettings.begin(), tlsSettings.end(), std::inserter (
-                   ip2ipAccountDetails, ip2ipAccountDetails.end()));
+                ip2ipAccountDetails, ip2ipAccountDetails.end()));
 
     return ip2ipAccountDetails;
 }
 
-void ConfigurationManager::setIp2IpDetails (const std::map<std::string,
-        std::string>& details)
-{
-    std::map<std::string, std::string> map_cpy = details;
-    std::map<std::string, std::string>::iterator it;
-
-    SIPAccount *sipaccount = (SIPAccount *) Manager::instance().getAccount (IP2IP_PROFILE);
-
-    if (!sipaccount) {
-        _error ("ConfigurationManager: could not find account");
-    }
-
-
-    it = map_cpy.find (LOCAL_INTERFACE);
-
-    if (it != details.end()) sipaccount->setLocalInterface (it->second);
-
-    it = map_cpy.find (LOCAL_PORT);
-
-    if (it != details.end()) sipaccount->setLocalPort (atoi (it->second.data()));
-
-    it = map_cpy.find (SRTP_ENABLE);
-
-    if (it != details.end()) sipaccount->setSrtpEnable ( (it->second == "true"));
-
-    it = map_cpy.find (SRTP_RTP_FALLBACK);
-
-    if (it != details.end()) sipaccount->setSrtpFallback ( (it->second == "true"));
-
-    it = map_cpy.find (SRTP_KEY_EXCHANGE);
-
-    if (it != details.end()) sipaccount->setSrtpKeyExchange (it->second);
-
-    it = map_cpy.find (ZRTP_DISPLAY_SAS);
-
-    if (it != details.end()) sipaccount->setZrtpDisplaySas ( (it->second == "true"));
-
-    it = map_cpy.find (ZRTP_NOT_SUPP_WARNING);
 
-    if (it != details.end()) sipaccount->setZrtpNotSuppWarning ( (it->second == "true"));
-
-    it = map_cpy.find (ZRTP_HELLO_HASH);
-
-    if (it != details.end()) sipaccount->setZrtpHelloHash ( (it->second == "true"));
-
-    it = map_cpy.find (ZRTP_DISPLAY_SAS_ONCE);
-
-    if (it != details.end()) sipaccount->setZrtpDiaplaySasOnce ( (it->second == "true"));
-
-    setTlsSettings (details);
-
-    Manager::instance().saveConfig();
+std::map<std::string, std::string> ConfigurationManager::getAccountDetails (
+    const std::string& accountID)
+{
+    return Manager::instance().getAccountDetails (accountID);
+}
 
-    // Update account details to the client side
-    accountsChanged();
+std::map<std::string, std::string>
+ConfigurationManager::getTlsSettingsDefault ()
+{
+    std::stringstream portstr;
+    portstr << DEFAULT_SIP_TLS_PORT;
 
-    // Reload account settings from config
-    Manager::instance().getAccount (IP2IP_PROFILE)->loadConfig();
+    std::map<std::string, std::string> tlsSettingsDefault;
+    tlsSettingsDefault[TLS_LISTENER_PORT] = portstr.str();
+    tlsSettingsDefault[TLS_CA_LIST_FILE] = "";
+    tlsSettingsDefault[TLS_CERTIFICATE_FILE] = "";
+    tlsSettingsDefault[TLS_PRIVATE_KEY_FILE] = "";
+    tlsSettingsDefault[TLS_PASSWORD] = "";
+    tlsSettingsDefault[TLS_METHOD] = "TLSv1";
+    tlsSettingsDefault[TLS_CIPHERS] = "";
+    tlsSettingsDefault[TLS_SERVER_NAME] = "";
+    tlsSettingsDefault[TLS_VERIFY_SERVER] = "true";
+    tlsSettingsDefault[TLS_VERIFY_CLIENT] = "true";
+    tlsSettingsDefault[TLS_REQUIRE_CLIENT_CERTIFICATE] = "true";
+    tlsSettingsDefault[TLS_NEGOTIATION_TIMEOUT_SEC] = "2";
+    tlsSettingsDefault[TLS_NEGOTIATION_TIMEOUT_MSEC] = "0";
 
+    return tlsSettingsDefault;
 }
 
 std::map<std::string, std::string> ConfigurationManager::getTlsSettings()
@@ -286,29 +208,6 @@ void ConfigurationManager::setTlsSettings (const std::map<std::string, std::stri
     accountsChanged();
 }
 
-std::vector<std::map<std::string, std::string> > ConfigurationManager::getCredentials (
-    const std::string& accountID)
-{
-    Account *account = Manager::instance().getAccount (accountID);
-    std::vector<std::map<std::string, std::string> > credentialInformation;
-
-    if (!account || account->getType() != "SIP")
-        return credentialInformation;
-
-    SIPAccount *sipaccount = (SIPAccount *) account;
-    return sipaccount->getCredentials();
-}
-
-void ConfigurationManager::setCredentials (const std::string& accountID,
-        const std::vector<std::map<std::string, std::string> >& details)
-{
-    Account *account = Manager::instance().getAccount (accountID);
-
-    if (account && account->getType() == "SIP") {
-        SIPAccount *sipaccount = (SIPAccount *) account;
-        sipaccount->setCredentials(details);
-    }
-}
 
 void ConfigurationManager::setAccountDetails (const std::string& accountID,
         const std::map<std::string, std::string>& details)
@@ -367,9 +266,9 @@ std::vector<std::string> ConfigurationManager::getAudioCodecList (void)
 {
     std::vector<std::string> list;
 
-    CodecsMap codecs = Manager::instance().getAudioCodecFactory().getCodecsMap();
+    const CodecsMap &codecs(Manager::instance().getAudioCodecFactory().getCodecsMap());
 
-    for (CodecsMap::iterator iter = codecs.begin(); iter != codecs.end(); ++iter) {
+    for (CodecsMap::const_iterator iter = codecs.begin(); iter != codecs.end(); ++iter) {
         std::stringstream ss;
 
         if (iter->second != NULL) {
@@ -395,7 +294,6 @@ std::vector<std::string> ConfigurationManager::getSupportedTlsMethod (void)
 std::vector<std::string> ConfigurationManager::getAudioCodecDetails (
     const int32_t& payload)
 {
-
     return Manager::instance().getAudioCodecFactory().getCodecSpecifications (
                payload);
 }
@@ -404,33 +302,25 @@ std::vector<std::string> ConfigurationManager::getActiveAudioCodecList (
     const std::string& accountID)
 {
     std::vector<std::string> v;
-    Account *acc;
-    CodecOrder active;
-    unsigned int i = 0;
-    size_t size;
 
-    acc = Manager::instance().getAccount (accountID);
+    Account *acc = Manager::instance().getAccount (accountID);
 
     if (acc != NULL) {
-        active = acc->getActiveCodecs();
-        size = active.size();
+        CodecOrder active(acc->getActiveCodecs());
 
-        while (i < size) {
+        for (CodecOrder::const_iterator iter = active.begin(); iter != active.end(); ++iter) {
             std::stringstream ss;
-            ss << active[i];
-            v.push_back ( (ss.str()).data());
-            i++;
+            ss << *iter;
+            v.push_back(ss.str());
         }
     }
 
     return v;
-
 }
 
 void ConfigurationManager::setActiveAudioCodecList (
     const std::vector<std::string>& list, const std::string& accountID)
 {
-
     _debug ("ConfigurationManager: Active codec list received");
 
     Account *acc;
@@ -438,9 +328,8 @@ void ConfigurationManager::setActiveAudioCodecList (
     // Save the codecs list per account
     acc = Manager::instance().getAccount (accountID);
 
-    if (acc != NULL) {
+    if (acc != NULL)
         acc->setActiveCodecs (list);
-    }
 
     Manager::instance().saveConfig();
 }
@@ -448,11 +337,9 @@ void ConfigurationManager::setActiveAudioCodecList (
 
 std::vector<std::string> ConfigurationManager::getAudioPluginList()
 {
-
     std::vector<std::string> v;
 
     v.push_back (PCM_DEFAULT);
-    // v.push_back(PCM_DMIX);
     v.push_back (PCM_DMIX_DSNOOP);
 
     return v;
@@ -575,16 +462,6 @@ int32_t ConfigurationManager::isIax2Enabled (void)
     return Manager::instance().isIax2Enabled();
 }
 
-void ConfigurationManager::ringtoneEnabled (const std::string& accountID)
-{
-    Manager::instance().ringtoneEnabled (accountID);
-}
-
-int32_t ConfigurationManager::isRingtoneEnabled (const std::string& accountID)
-{
-    return Manager::instance().isRingtoneEnabled (accountID);
-}
-
 std::string ConfigurationManager::getRingtoneChoice (const std::string& accountID)
 {
     return Manager::instance().getRingtoneChoice (accountID);
@@ -710,7 +587,6 @@ std::vector<std::string> ConfigurationManager::getAllIpInterfaceByName (void)
     return SIPVoIPLink::instance()->getAllIpInterfaceByName();
 }
 
-
 std::map<std::string, std::string> ConfigurationManager::getShortcuts()
 {
     return Manager::instance().shortcutPreferences.getShortcuts();
@@ -723,3 +599,25 @@ void ConfigurationManager::setShortcuts (
     Manager::instance().saveConfig();
 }
 
+std::vector<std::map<std::string, std::string> > ConfigurationManager::getCredentials (
+        const std::string& accountID)
+{
+    Account *account = Manager::instance().getAccount (accountID);
+    std::vector<std::map<std::string, std::string> > credentialInformation;
+    if (!account or account->getType() != "SIP")
+        return credentialInformation;
+
+    SIPAccount *sipaccount = static_cast<SIPAccount *>(account);
+    return sipaccount->getCredentials();
+}
+
+void ConfigurationManager::setCredentials (const std::string& accountID,
+        const std::vector<std::map<std::string, std::string> >& details)
+{
+    Account *account = Manager::instance().getAccount (accountID);
+    if (account and account->getType() == "SIP") {
+        SIPAccount *sipaccount = static_cast<SIPAccount*>(account);
+        sipaccount->setCredentials(details);
+    }
+}
+
diff --git a/daemon/src/dbus/configurationmanager.h b/daemon/src/dbus/configurationmanager.h
index e37aa0f0745c5993682ed0ca620dd98bb5adb56b..3360423eb3915b99d1aa6bc8438e154e733c5527 100644
--- a/daemon/src/dbus/configurationmanager.h
+++ b/daemon/src/dbus/configurationmanager.h
@@ -46,22 +46,19 @@
 
 #include <dbus-c++/dbus.h>
 
-
 class ConfigurationManager
-    : public org::sflphone::SFLphone::ConfigurationManager_adaptor,
-  public DBus::IntrospectableAdaptor,
-  public DBus::ObjectAdaptor
+: public org::sflphone::SFLphone::ConfigurationManager_adaptor,
+    public DBus::IntrospectableAdaptor,
+    public DBus::ObjectAdaptor
 {
-    public:
-
-        ConfigurationManager (DBus::Connection& connection);
-        static const char* SERVER_PATH;
-
     private:
         std::vector<std::string> shortcutsKeys;
 
     public:
 
+        ConfigurationManager (DBus::Connection& connection);
+        static const char* SERVER_PATH;
+
         std::map< std::string, std::string > getAccountDetails (const std::string& accountID);
         void setAccountDetails (const std::string& accountID, const std::map< std::string, std::string >& details);
         std::string addAccount (const std::map< std::string, std::string >& details);
@@ -71,11 +68,6 @@ class ConfigurationManager
         void sendRegister (const std::string& accoundID , const int32_t& expire);
 
         std::map< std::string, std::string > getTlsSettingsDefault (void);
-        void setIp2IpDetails (const std::map< std::string, std::string >& details);
-        std::map< std::string, std::string > getIp2IpDetails (void);
-
-        std::vector< std::map< std::string, std::string > > getCredentials (const std::string& accountID);
-        void setCredentials (const std::string& accountID, const std::vector< std::map< std::string, std::string > >& details);
 
         std::vector< std::string > getAudioCodecList (void);
         std::vector< std::string > getSupportedTlsMethod (void);
@@ -102,7 +94,6 @@ class ConfigurationManager
         void setEchoCancelDelay(const int32_t& length);
         int getEchoCancelDelay(void);
 
-
         std::vector< std::string > getToneLocaleList();
         std::vector< std::string > getPlaybackDeviceList();
         std::vector< std::string > getRecordDeviceList();
@@ -114,8 +105,6 @@ class ConfigurationManager
         bool isMd5CredentialHashing (void);
         void setMd5CredentialHashing (const bool& enabled);
         int32_t isIax2Enabled (void);
-        int32_t isRingtoneEnabled (const std::string& accountID);
-        void ringtoneEnabled (const std::string& accountID);
         std::string getRingtoneChoice (const std::string& accountID);
         void setRingtoneChoice (const std::string& accountID, const std::string& tone);
         std::string getRecordPath (void);
@@ -140,11 +129,15 @@ class ConfigurationManager
         std::map<std::string, std::string> getHookSettings (void);
         void setHookSettings (const std::map<std::string, std::string>& settings);
 
-	std::vector<std::string> getHistory(void);
+        std::vector<std::string> getHistory(void);
         void setHistory (const std::vector<std::string> &entries);
 
         std::map<std::string, std::string> getTlsSettings (void);
         void setTlsSettings (const std::map< std::string, std::string >& details);
+        std::map< std::string, std::string > getIp2IpDetails (void);
+
+        std::vector< std::map< std::string, std::string > > getCredentials (const std::string& accountID);
+        void setCredentials (const std::string& accountID, const std::vector< std::map< std::string, std::string > >& details);
 
         std::string getAddrFromInterfaceName (const std::string& interface);
 
diff --git a/gnome/src/config/preferencesdialog.c b/gnome/src/config/preferencesdialog.c
index 06c7adeb1646d72caf2e9095e06896efb1551443..1d0ec38ee96ef9dd1801b22b9366d31ec633dddb 100644
--- a/gnome/src/config/preferencesdialog.c
+++ b/gnome/src/config/preferencesdialog.c
@@ -294,8 +294,6 @@ save_configuration_parameters (void)
     // History config
     dbus_set_history_limit (history_limit);
 
-    // Direct IP calls config
-    // dbus_set_ip2ip_details (directIpCallsProperties);
 }
 
 void
diff --git a/gnome/src/dbus/configurationmanager-introspec.xml b/gnome/src/dbus/configurationmanager-introspec.xml
index 5d5e504914ef10a3c1b69f304e9e8f278037bd7a..7168fbf0defda60e77109c7b546f9d61ab53afde 100755
--- a/gnome/src/dbus/configurationmanager-introspec.xml
+++ b/gnome/src/dbus/configurationmanager-introspec.xml
@@ -97,54 +97,42 @@
 		</method>
 
 		<method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails">
-			<tp:docstring>
-				Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
-			</tp:docstring>
-			<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+            <tp:docstring>
+            Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
+            </tp:docstring>
+            <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
 			<!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>-->
-			<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
-				<tp:docstring>
-					Available parameters are:
-					<ul>
-						<li>ACCOUNT_ID</li>
-						<li>SRTP_KEY_EXCHANGE</li>
-						<li>SRTP_ENABLE</li>
-						<li>SRTP_RTP_FALLBACK</li>
-						<li>ZRTP_DISPLAY_SAS</li>
-						<li>ZRTP_HELLO_HASH</li>
-						<li>ZRTP_NOT_SUPP_WARNING</li>
-						<li>ZRTP_DISPLAY_SAS_ONCE</li>
-						<li>LOCAL_INTERFACE</li>
-						<li>LOCAL_PORT</li>
-						<li>TLS_LISTENER_PORT</li>
-						<li>TLS_CA_LIST_FILE</li>
-						<li>TLS_CERTIFICATE_FILE</li>
-						<li>TLS_PRIVATE_KEY_FILE</li>
-						<li>TLS_PASSWORD</li>
-						<li>TLS_METHOD</li>
-						<li>TLS_CIPHERS</li>
-						<li>TLS_SERVER_NAME</li>
-						<li>TLS_VERIFY_SERVER</li>
-						<li>TLS_VERIFY_CLIENT</li>
-						<li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
-						<li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
-						<li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
-						</ul>
-					</tp:docstring>
-				</arg>
-			</method>
-
-			<method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails">
-                                 <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-				<tp:docstring>
-					Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile.
-				</tp:docstring>
-                              <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map">
-			   <tp:docstring>
-				   The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference.
-			   </tp:docstring>
-		   </arg>
-	   </method>
+            <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
+            <tp:docstring>
+            Available parameters are:
+            <ul>
+            <li>ACCOUNT_ID</li>
+            <li>SRTP_KEY_EXCHANGE</li>
+            <li>SRTP_ENABLE</li>
+            <li>SRTP_RTP_FALLBACK</li>
+            <li>ZRTP_DISPLAY_SAS</li>
+            <li>ZRTP_HELLO_HASH</li>
+            <li>ZRTP_NOT_SUPP_WARNING</li>
+            <li>ZRTP_DISPLAY_SAS_ONCE</li>
+            <li>LOCAL_INTERFACE</li>
+            <li>LOCAL_PORT</li>
+            <li>TLS_LISTENER_PORT</li>
+            <li>TLS_CA_LIST_FILE</li>
+            <li>TLS_CERTIFICATE_FILE</li>
+            <li>TLS_PRIVATE_KEY_FILE</li>
+            <li>TLS_PASSWORD</li>
+            <li>TLS_METHOD</li>
+            <li>TLS_CIPHERS</li>
+            <li>TLS_SERVER_NAME</li>
+            <li>TLS_VERIFY_SERVER</li>
+            <li>TLS_VERIFY_CLIENT</li>
+            <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
+            <li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
+            <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
+            </ul>
+            </tp:docstring>
+            </arg>
+        </method>
 
 	   <method name="getCredentials" tp:name-for-bindings="getCredentials">
 		   <tp:docstring>
@@ -284,22 +272,6 @@
 		   </arg>
 	   </method>
 
-	   <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="s" name="accountID" direction="in" />
-		   <arg type="i" name="bool" direction="out">
-			   <tp:docstring>
-			   </tp:docstring>
-		   </arg>
-	   </method>
-
-	   <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="s" name="accountID" direction="in"/>
-	   </method>
-
 	   <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice">
 		   <tp:docstring>
 		   </tp:docstring>
@@ -545,7 +517,7 @@
 	           <arg type="s" name="state" direction="in">
 	           </arg>
 	   </method>
-	   
+
 	   <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength">
 	           <tp:docstring>
 		   </tp:docstring>
@@ -595,24 +567,6 @@
 
 	   <!--    General Settings Panel         -->
 
-	   <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="b" name="res" direction="out">
-			   <tp:docstring>
-			   </tp:docstring>
-		   </arg>
-	   </method>
-
-	   <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing">
-		   <tp:docstring>
-		   </tp:docstring>
-		   <arg type="b" name="enabled" direction="in">
-			   <tp:docstring>
-			   </tp:docstring>
-		   </arg>
-	   </method>
-
 	   <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled">
 		   <tp:docstring>
 		   </tp:docstring>
diff --git a/gnome/src/dbus/dbus.c b/gnome/src/dbus/dbus.c
index f8444aa86f2be60aeef4693eb63cfadcdf40a53e..08eb4eaa315bd4a2d87f457a6cae68462cec566f 100644
--- a/gnome/src/dbus/dbus.c
+++ b/gnome/src/dbus/dbus.c
@@ -1232,20 +1232,6 @@ dbus_get_ip2_ip_details (void)
     }
 }
 
-void
-dbus_set_ip2ip_details (GHashTable * properties)
-{
-    GError *error = NULL;
-    org_sflphone_SFLphone_ConfigurationManager_set_ip2_ip_details (
-        configurationManagerProxy, properties, &error);
-
-    if (error) {
-        ERROR ("Failed to call set_ip_2ip_details() on ConfigurationManager: %s",
-               error->message);
-        g_error_free (error);
-    }
-}
-
 void
 dbus_send_register (gchar* accountID, const guint enable)
 {
@@ -1804,61 +1790,6 @@ dbus_set_ringtone_choice (const gchar *accountID, const gchar* tone)
     }
 }
 
-int
-dbus_is_ringtone_enabled (const gchar *accountID)
-{
-    int res;
-    GError* error = NULL;
-    org_sflphone_SFLphone_ConfigurationManager_is_ringtone_enabled (
-        configurationManagerProxy, accountID, &res, &error);
-
-    if (error) {
-        g_error_free (error);
-    }
-
-    return res;
-}
-
-void
-dbus_ringtone_enabled (const gchar *accountID)
-{
-    DEBUG ("DBUS: Ringtone enabled %s", accountID);
-
-    GError* error = NULL;
-    org_sflphone_SFLphone_ConfigurationManager_ringtone_enabled (
-        configurationManagerProxy, accountID, &error);
-
-    if (error) {
-        g_error_free (error);
-    }
-}
-
-gboolean
-dbus_is_md5_credential_hashing()
-{
-    int res;
-    GError* error = NULL;
-    org_sflphone_SFLphone_ConfigurationManager_is_md5_credential_hashing (
-        configurationManagerProxy, &res, &error);
-
-    if (error) {
-        g_error_free (error);
-    }
-
-    return res;
-}
-
-void
-dbus_set_md5_credential_hashing (gboolean enabled)
-{
-    GError* error = NULL;
-    org_sflphone_SFLphone_ConfigurationManager_set_md5_credential_hashing (
-        configurationManagerProxy, enabled, &error);
-
-    if (error) {
-        g_error_free (error);
-    }
-}
 
 int
 dbus_is_iax2_enabled()
diff --git a/gnome/src/dbus/dbus.h b/gnome/src/dbus/dbus.h
index c611c2031ef91a9e6cb9e8759a911ccc4f72220b..91159ecf4355c9adf50eae96fa8298960359f496 100644
--- a/gnome/src/dbus/dbus.h
+++ b/gnome/src/dbus/dbus.h
@@ -149,11 +149,6 @@ void dbus_get_credentials (account_t *a);
  */
 GHashTable * dbus_get_ip2_ip_details (void);
 
-/**
- * ConfigurationManager - Set the details for the ip2ip profile
- */
-void dbus_set_ip2ip_details (GHashTable * properties);
-
 /**
  * ConfigurationManager - Send registration request
  * @param accountID The account to register/unregister
@@ -245,18 +240,6 @@ gchar** dbus_get_audio_plugin_list();
  */
 void dbus_set_audio_plugin (gchar* audioPlugin);
 
-/**
- * ConfigurationManager - Select an input audio plugin
- * @param audioPlugin The string description of the plugin
- */
-void dbus_set_input_audio_plugin (gchar* audioPlugin);
-
-/**
- * ConfigurationManager - Select an output audio plugin
- * @param audioPlugin The string description of the plugin
- */
-void dbus_set_output_audio_plugin (gchar* audioPlugin);
-
 /**
  * ConfigurationManager - Get the list of available output audio devices
  * @return gchar** The list of devices
@@ -335,22 +318,6 @@ int dbus_get_echo_cancel_delay(void);
 
 void dbus_set_echo_cancel_delay(int delay);
 
-/**
- * ConfigurationManager - Query to server to
- * know if MD5 credential hashing is enabled.
- * @return True if enabled, false otherwise
- *
- */
-gboolean dbus_is_md5_credential_hashing();
-
-/**
- * ConfigurationManager - Set whether or not
- * the server should store credential as
- * a md5 hash.
- * @param enabled
- */
-void dbus_set_md5_credential_hashing (gboolean enabled);
-
 /**
  * ConfigurationManager - Tells the GUI if IAX2 support is enabled
  * @return int 1 if IAX2 is enabled
@@ -358,20 +325,6 @@ void dbus_set_md5_credential_hashing (gboolean enabled);
  */
 int dbus_is_iax2_enabled (void);
 
-/**
- * ConfigurationManager - Query the server about the ringtone option.
- * If ringtone is enabled, ringtone on incoming call use custom choice. If not, only standart tone.
- * @return int	1 if enabled
- *	        0 otherwise
- */
-int dbus_is_ringtone_enabled (const gchar *accountID);
-
-/**
- * ConfigurationManager - Set the ringtone option
- * Inverse current value
- */
-void dbus_ringtone_enabled (const gchar *accountID);
-
 /**
  * ConfigurationManager - Get the ringtone
  * @return gchar* The file name selected as a ringtone