diff --git a/sflphone-client-kde/CMakeLists.txt b/sflphone-client-kde/CMakeLists.txt
index 65b269cfd0d95d8477259389787519d1fa829449..c16efdcb6e584685facfd002d0a085e729deb982 100644
--- a/sflphone-client-kde/CMakeLists.txt
+++ b/sflphone-client-kde/CMakeLists.txt
@@ -8,7 +8,7 @@ SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}")
 # --- custom targets: ---
 INCLUDE( ${LOCAL_CMAKE_MODULE_PATH}/TargetDistclean.cmake  REQUIRED)
 
-FIND_PACKAGE ( Kabc REQUIRED )
+#FIND_PACKAGE ( Kabc REQUIRED )
 # FIND_PACKAGE ( PkgConfig REQUIRED )
 FIND_PACKAGE ( KDE4 REQUIRED )
 FIND_PACKAGE ( Qt4 REQUIRED )
diff --git a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
index f2bcf04b8b75eb3dbe8eb9879187df0cf2c2807d..991571bbdf94a66c7a52495b38fe1a843bce0f47 100644
--- a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
+++ b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
@@ -61,7 +61,7 @@ void ConfigurationSkeleton::readConfig()
 	////////////////////////
 	
 	//Call history settings
-	setEnableHistory(configurationManager.getHistoryEnabled());
+	//setEnableHistory(configurationManager.getHistoryEnabled()); //TODO uncomment
 	setHistoryMax(configurationManager.getHistoryLimit());
 
 	//SIP port settings
@@ -119,10 +119,10 @@ void ConfigurationSkeleton::readConfig()
 	setAlsaPlugin(configurationManager.getCurrentAudioOutputPlugin());
 	bool ok;
 	QStringList devices = configurationManager.getCurrentAudioDevicesIndex();
-	qDebug() << "inputDevice = " << devices[1];
-	int inputDevice = devices[1].toInt(& ok);
-	if(!ok) qDebug() << "inputDevice is not a number";
-	setAlsaInputDevice(inputDevice);
+	//qDebug() << "inputDevice = " << devices[1]; //TODO uncomment
+	//int inputDevice = devices[1].toInt(& ok); //TODO uncomment
+	//if(!ok) qDebug() << "inputDevice is not a number"; //TODO uncomment
+	//setAlsaInputDevice(inputDevice); //TODO uncomment
 	
 	qDebug() << "outputDevice = " << devices[0];
 	int outputDevice = devices[0].toInt(& ok);
@@ -191,7 +191,7 @@ void ConfigurationSkeleton::writeConfig()
 	qDebug() << "Writing General settings";
 	
 	//Call history settings
-	if(enableHistory() != configurationManager.getHistoryEnabled()) configurationManager.setHistoryEnabled();
+	//TODO if(enableHistory() != configurationManager.getHistoryEnabled()) configurationManager.setHistoryEnabled();
 	configurationManager.setHistoryLimit(historyMax());
 	//SIP port settings
 	configurationManager.setSipPort(sIPPort());
diff --git a/sflphone-client-kde/src/conf/dlgaccounts.cpp b/sflphone-client-kde/src/conf/dlgaccounts.cpp
index 78ac4cf34fb28e9e3577f5106b58520c2739a61e..f5d15522b01ea9b6999b81ee76075787f657b03c 100644
--- a/sflphone-client-kde/src/conf/dlgaccounts.cpp
+++ b/sflphone-client-kde/src/conf/dlgaccounts.cpp
@@ -40,35 +40,66 @@ DlgAccounts::DlgAccounts(KConfigDialog *parent)
 	accountList = new AccountList(false);
 	loadAccountList();
 	accountListHasChanged = false;
-	toolButton_accountsApply->setEnabled(false);
+	//toolButton_accountsApply->setEnabled(false);
 	
-	connect(edit1_alias,           SIGNAL(textEdited(const QString &)),
-	        this,                  SLOT(changedAccountList()));
-	connect(edit2_protocol,        SIGNAL(activated(int)),
-	        this,                  SLOT(changedAccountList()));
-	connect(edit3_server,          SIGNAL(textEdited(const QString &)),
-	        this,                  SLOT(changedAccountList()));
-	connect(edit4_user,            SIGNAL(textEdited(const QString &)),
-	        this,                  SLOT(changedAccountList()));
-	connect(edit5_password,        SIGNAL(textEdited(const QString &)),
-	        this,                  SLOT(changedAccountList()));
-	connect(edit6_mailbox,         SIGNAL(textEdited(const QString &)),
-	        this,                  SLOT(changedAccountList()));
-	connect(spinbox_regExpire,     SIGNAL(editingFinished()),
-	        this,                  SLOT(changedAccountList()));
-	connect(checkBox_conformRFC,   SIGNAL(clicked(bool)),
-	        this,                  SLOT(changedAccountList()));
-	connect(button_accountUp,      SIGNAL(clicked()),
-	        this,                  SLOT(changedAccountList()));
-	connect(button_accountDown,    SIGNAL(clicked()),
-	        this,                  SLOT(changedAccountList()));
-	connect(button_accountAdd,     SIGNAL(clicked()),
-	        this,                  SLOT(changedAccountList()));
-	connect(button_accountRemove,  SIGNAL(clicked()),
-	        this,                  SLOT(changedAccountList()));
+	connect(edit1_alias,                    SIGNAL(textEdited(const QString &)),
+	        this,                           SLOT(changedAccountList()));
+	connect(edit2_protocol,                 SIGNAL(activated(int)),
+	        this,                           SLOT(changedAccountList()));
+	connect(edit3_server,                   SIGNAL(textEdited(const QString &)),
+	        this,                           SLOT(changedAccountList()));
+	connect(edit4_user,                     SIGNAL(textEdited(const QString &)),
+	        this,                           SLOT(changedAccountList()));
+	connect(edit5_password,                 SIGNAL(textEdited(const QString &)),
+	        this,                           SLOT(changedAccountList()));
+	connect(edit6_mailbox,                  SIGNAL(textEdited(const QString &)),
+	        this,                           SLOT(changedAccountList()));
+	connect(spinbox_regExpire,              SIGNAL(editingFinished()),
+	        this,                           SLOT(changedAccountList()));
+	connect(checkBox_conformRFC,            SIGNAL(clicked(bool)),
+	        this,                           SLOT(changedAccountList()));
+	connect(button_accountUp,               SIGNAL(clicked()),
+	        this,                           SLOT(changedAccountList()));
+	connect(button_accountDown,             SIGNAL(clicked()),
+	        this,                           SLOT(changedAccountList()));
+	connect(button_accountAdd,              SIGNAL(clicked()),
+	        this,                           SLOT(changedAccountList()));
+	connect(button_accountRemove,           SIGNAL(clicked()),
+	        this,                           SLOT(changedAccountList()));
+        connect(edit_tls_private_key_password,  SIGNAL(textEdited(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(spinbox_tls_listener,           SIGNAL(editingFinished()),
+                this,                           SLOT(changedAccountList()));
+        connect(file_tls_authority,             SIGNAL(textChanged(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(file_tls_endpoint,              SIGNAL(textChanged(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(file_tls_private_key,           SIGNAL(textChanged(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(combo_tls_method,               SIGNAL(currentIndexChanged(int)),
+                this,                           SLOT(changedAccountList()));
+        connect(edit_tls_cipher,                SIGNAL(textEdited(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(edit_tls_outgoing,              SIGNAL(textEdited(const QString &)),
+                this,                           SLOT(changedAccountList()));
+        connect(spinbox_tls_timeout_sec,        SIGNAL(editingFinished()),
+                this,                           SLOT(changedAccountList()));
+        connect(spinbox_tls_timeout_msec,       SIGNAL(editingFinished()),
+                this,                           SLOT(changedAccountList()));
+        connect(check_tls_incoming,             SIGNAL(clicked(bool)),
+                this,                           SLOT(changedAccountList()));
+        connect(check_tls_answer,               SIGNAL(clicked(bool)),
+                this,                           SLOT(changedAccountList()));
+        connect(check_tls_requier_cert,         SIGNAL(clicked(bool)),
+                this,                           SLOT(changedAccountList()));
+        connect(group_security_tls,             SIGNAL(clicked(bool)),
+                this,                           SLOT(changedAccountList()));
 	        
-	connect(&configurationManager, SIGNAL(accountsChanged()),
-	        this,                  SLOT(updateAccountStates()));
+	connect(&configurationManager,          SIGNAL(accountsChanged()),
+	        this,                           SLOT(updateAccountStates()));
+                
+        connect(edit_tls_private_key_password,  SIGNAL(textEdited(const QString &)),
+                this,                  SLOT(changedAccountList()));
 	        
 	
 	connect(this,     SIGNAL(updateButtons()), parent, SLOT(updateButtons()));
@@ -156,6 +187,24 @@ void DlgAccounts::saveAccount(QListWidgetItem * item)
 	account->setAccountDetail(ACCOUNT_RESOLVE_ONCE, checkBox_conformRFC->isChecked() ? "FALSE" : "TRUE");
 	account->setAccountDetail(ACCOUNT_EXPIRE, QString::number(spinbox_regExpire->value()));
 	account->setAccountDetail(ACCOUNT_ENABLED, account->isChecked() ? ACCOUNT_ENABLED_TRUE : ACCOUNT_ENABLED_FALSE);
+        
+        //Security
+        account->setAccountDetail(TLS_PASSWORD,edit_tls_private_key_password->text());
+        account->setAccountDetail(TLS_LISTENER_PORT,QString::number(spinbox_tls_listener->value()));
+        account->setAccountDetail(TLS_CA_LIST_FILE,file_tls_authority->text());
+        account->setAccountDetail(TLS_CERTIFICATE_FILE,file_tls_endpoint->text());
+        account->setAccountDetail(TLS_PRIVATE_KEY_FILE,file_tls_private_key->text());
+        //qDebug() << "\n\n\n\nSET: " << combo_tls_method->currentText() << "\n\n\n";
+        account->setAccountDetail(TLS_METHOD,combo_tls_method->currentText());
+        account->setAccountDetail(TLS_CIPHERS,edit_tls_cipher->text());
+        account->setAccountDetail(TLS_SERVER_NAME,edit_tls_outgoing->text());
+        account->setAccountDetail(TLS_NEGOTIATION_TIMEOUT_SEC,QString::number(spinbox_tls_timeout_sec->value()));
+        account->setAccountDetail(TLS_NEGOTIATION_TIMEOUT_MSEC,QString::number(spinbox_tls_timeout_msec->value()));
+        account->setAccountDetail(TLS_VERIFY_SERVER,check_tls_incoming->isChecked()?"true":"false");
+        account->setAccountDetail(TLS_VERIFY_CLIENT,check_tls_answer->isChecked()?"true":"false");
+        account->setAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE,check_tls_requier_cert->isChecked()?"true":"false");
+        account->setAccountDetail(TLS_ENABLE,group_security_tls->isChecked()?"true":"false");
+        account->setAccountDetail(TLS_METHOD, QString::number(combo_security_STRP->currentIndex()));
 }
 
 void DlgAccounts::loadAccount(QListWidgetItem * item)
@@ -186,6 +235,27 @@ void DlgAccounts::loadAccount(QListWidgetItem * item)
 	bool ok;
 	int val = account->getAccountDetail(ACCOUNT_EXPIRE).toInt(&ok);
 	spinbox_regExpire->setValue(ok ? val : ACCOUNT_EXPIRE_DEFAULT);
+        
+        //Security
+        edit_tls_private_key_password->setText( account->getAccountDetail(TLS_PASSWORD ));
+        spinbox_tls_listener->setValue( account->getAccountDetail(TLS_LISTENER_PORT ).toInt());
+        file_tls_authority->setText( account->getAccountDetail(TLS_CA_LIST_FILE ));
+        file_tls_endpoint->setText( account->getAccountDetail(TLS_CERTIFICATE_FILE ));
+        file_tls_private_key->setText( account->getAccountDetail(TLS_PRIVATE_KEY_FILE ));
+        //qDebug() << "\n\n\n\nTHIS: " << account->getAccountDetail(TLS_METHOD ) << "\n\n\n";
+        combo_tls_method->setCurrentIndex( combo_tls_method->findText(account->getAccountDetail(TLS_METHOD )));
+        edit_tls_cipher->setText( account->getAccountDetail(TLS_CIPHERS ));
+        edit_tls_outgoing->setText( account->getAccountDetail(TLS_SERVER_NAME ));
+        spinbox_tls_timeout_sec->setValue( account->getAccountDetail(TLS_NEGOTIATION_TIMEOUT_SEC ).toInt());
+        spinbox_tls_timeout_msec->setValue( account->getAccountDetail(TLS_NEGOTIATION_TIMEOUT_MSEC ).toInt());
+        check_tls_incoming->setChecked( (account->getAccountDetail(TLS_VERIFY_SERVER ) == "true")?1:0);
+        check_tls_answer->setChecked( (account->getAccountDetail(TLS_VERIFY_CLIENT ) == "true")?1:0);
+        check_tls_requier_cert->setChecked( (account->getAccountDetail(TLS_REQUIRE_CLIENT_CERTIFICATE ) == "true")?1:0);
+        group_security_tls->setChecked( (account->getAccountDetail(TLS_ENABLE ) == "true")?1:0);
+        
+        combo_security_STRP->setCurrentIndex(account->getAccountDetail(TLS_METHOD ).toInt());
+        
+        
 	updateStatusLabel(account);
 	frame2_editAccounts->setEnabled(true);
 }
@@ -220,7 +290,7 @@ void DlgAccounts::changedAccountList()
 	qDebug() << "changedAccountList";
 	accountListHasChanged = true;
 	emit updateButtons();
-	toolButton_accountsApply->setEnabled(true);
+	//toolButton_accountsApply->setEnabled(true);
 }
 
 
@@ -288,12 +358,12 @@ void DlgAccounts::on_button_accountRemove_clicked()
 	listWidget_accountList->setCurrentRow( (r >= listWidget_accountList->count()) ? r-1 : r );
 }
 
-void DlgAccounts::on_toolButton_accountsApply_clicked()
-{
-	qDebug() << "on_toolButton_accountsApply_clicked";
-	updateSettings();
-	updateWidgets();
-}
+// void DlgAccounts::on_toolButton_accountsApply_clicked() //This button have been removed, coded kept for potential reversal
+// {
+// 	qDebug() << "on_toolButton_accountsApply_clicked";
+// 	updateSettings();
+// 	updateWidgets();
+// }
 
 void DlgAccounts::on_edit1_alias_textChanged(const QString & text)
 {
@@ -365,7 +435,7 @@ void DlgAccounts::updateSettings()
 	if(accountListHasChanged)
 	{
 		saveAccountList();
-		toolButton_accountsApply->setEnabled(false);
+		//toolButton_accountsApply->setEnabled(false);
 		accountListHasChanged = false;
 	}
 }
@@ -374,7 +444,7 @@ void DlgAccounts::updateWidgets()
 {
 	qDebug() << "DlgAccounts::updateWidgets";
 	loadAccountList();
-	toolButton_accountsApply->setEnabled(false);
+	//toolButton_accountsApply->setEnabled(false);
 	accountListHasChanged = false;
 }
 
diff --git a/sflphone-client-kde/src/conf/dlgaccounts.h b/sflphone-client-kde/src/conf/dlgaccounts.h
index 32743689175be525b94fb91aab1bd98eb694a9db..2eff977fb2b3f5551f1e21e05c351dd2b496012d 100644
--- a/sflphone-client-kde/src/conf/dlgaccounts.h
+++ b/sflphone-client-kde/src/conf/dlgaccounts.h
@@ -78,7 +78,7 @@ private slots:
 	void on_button_accountRemove_clicked();
 	void on_edit1_alias_textChanged(const QString & text);
 	void on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous );
-	void on_toolButton_accountsApply_clicked();
+	//void on_toolButton_accountsApply_clicked(); //Disabled for future removal
 	void updateAccountStates();
 	void addAccountToAccountList(Account * account);
 	void updateAccountListCommands();
diff --git a/sflphone-client-kde/src/conf/dlgaccountsbase.ui b/sflphone-client-kde/src/conf/dlgaccountsbase.ui
index eafe181482ff650951b73e6f5f9ab1781cf4c1b8..a794240e5a4d840c83d7c9b795cfec75f651467a 100644
--- a/sflphone-client-kde/src/conf/dlgaccountsbase.ui
+++ b/sflphone-client-kde/src/conf/dlgaccountsbase.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>603</width>
-    <height>455</height>
+    <width>748</width>
+    <height>447</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -29,8 +29,8 @@
       <item>
        <widget class="QFrame" name="frame1_accountList">
         <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-          <horstretch>1</horstretch>
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+          <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
@@ -46,6 +46,12 @@
           <height>16777215</height>
          </size>
         </property>
+        <property name="sizeIncrement">
+         <size>
+          <width>0</width>
+          <height>0</height>
+         </size>
+        </property>
         <property name="frameShape">
          <enum>QFrame::StyledPanel</enum>
         </property>
@@ -212,16 +218,6 @@
               </property>
              </spacer>
             </item>
-            <item>
-             <widget class="QToolButton" name="toolButton_accountsApply">
-              <property name="enabled">
-               <bool>true</bool>
-              </property>
-              <property name="text">
-               <string>Apply</string>
-              </property>
-             </widget>
-            </item>
            </layout>
           </widget>
          </item>
@@ -232,7 +228,7 @@
        <widget class="QTabWidget" name="frame2_editAccounts">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-          <horstretch>1</horstretch>
+          <horstretch>3</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
@@ -419,6 +415,445 @@
           </item>
          </layout>
         </widget>
+        <widget class="QWidget" name="tab">
+         <attribute name="title">
+          <string>Credential</string>
+         </attribute>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0" rowspan="2" colspan="3">
+           <widget class="QListWidget" name="list_credential">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <spacer name="horizontalSpacer_2">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>327</width>
+              <height>23</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="3" column="0" colspan="3">
+           <widget class="QGroupBox" name="group_credential">
+            <property name="title">
+             <string>Details</string>
+            </property>
+            <layout class="QGridLayout" name="gridLayout_2">
+             <item row="0" column="0">
+              <widget class="QLabel" name="label_credential_realm">
+               <property name="text">
+                <string>Realm</string>
+               </property>
+              </widget>
+             </item>
+             <item row="1" column="0">
+              <widget class="QLabel" name="labe_credential_auth">
+               <property name="text">
+                <string>Auth. name</string>
+               </property>
+              </widget>
+             </item>
+             <item row="2" column="0">
+              <widget class="QLabel" name="label_credential_password">
+               <property name="text">
+                <string>Password</string>
+               </property>
+              </widget>
+             </item>
+             <item row="0" column="1">
+              <widget class="KLineEdit" name="edit_credential_realm"/>
+             </item>
+             <item row="1" column="1">
+              <widget class="KLineEdit" name="edit_credential_auth"/>
+             </item>
+             <item row="2" column="1">
+              <widget class="KLineEdit" name="edit_credential_password"/>
+             </item>
+            </layout>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QToolButton" name="button_add_credential">
+            <property name="text">
+             <string>Add</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="2">
+           <widget class="QToolButton" name="button_remove_credential">
+            <property name="text">
+             <string>Remove</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="tab_2">
+         <attribute name="title">
+          <string>Security</string>
+         </attribute>
+         <layout class="QGridLayout" name="gridLayout_3">
+          <item row="0" column="0">
+           <widget class="QScrollArea" name="scrollArea">
+            <property name="widgetResizable">
+             <bool>true</bool>
+            </property>
+            <widget class="QWidget" name="scrollAreaWidgetContents">
+             <property name="geometry">
+              <rect>
+               <x>0</x>
+               <y>0</y>
+               <width>426</width>
+               <height>588</height>
+              </rect>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_5">
+              <item row="0" column="0">
+               <widget class="QLabel" name="label_security_STRP">
+                <property name="text">
+                 <string>STRP key exchange</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QComboBox" name="combo_security_STRP">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <item>
+                 <property name="text">
+                  <string>Disabled</string>
+                 </property>
+                </item>
+                <item>
+                 <property name="text">
+                  <string>ZRTP</string>
+                 </property>
+                </item>
+                <item>
+                 <property name="text">
+                  <string>SDES</string>
+                 </property>
+                </item>
+               </widget>
+              </item>
+              <item row="0" column="2">
+               <widget class="QToolButton" name="button_security_STRP">
+                <property name="text">
+                 <string>Edit</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0" colspan="3">
+               <widget class="QLabel" name="label_tls_info">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text">
+                 <string>TLS transport can be used along with UDP for those calls that would require secure sip transactions (aka SIPS). You can configure a different TLS transport for each account. However each of them will run on a dedicated port, different one from each other.</string>
+                </property>
+                <property name="wordWrap">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="0" colspan="3">
+               <widget class="QGroupBox" name="group_security_tls">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="title">
+                 <string>Enable TLS</string>
+                </property>
+                <property name="checkable">
+                 <bool>true</bool>
+                </property>
+                <property name="checked">
+                 <bool>false</bool>
+                </property>
+                <layout class="QGridLayout" name="gridLayout_4">
+                 <item row="0" column="0">
+                  <widget class="QLabel" name="label_tls_listener">
+                   <property name="text">
+                    <string>Global TLS listener*</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="1" colspan="3">
+                  <widget class="KIntSpinBox" name="spinbox_tls_listener">
+                   <property name="maximum">
+                    <number>65535</number>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="0" column="4" colspan="5">
+                  <spacer name="horizontalSpacer_4">
+                   <property name="orientation">
+                    <enum>Qt::Horizontal</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>40</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item row="1" column="0">
+                  <widget class="QLabel" name="label_tls_authority">
+                   <property name="text">
+                    <string>Authority certificate list</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="1" column="1" colspan="8">
+                  <widget class="KUrlRequester" name="file_tls_authority"/>
+                 </item>
+                 <item row="2" column="0">
+                  <widget class="QLabel" name="label_tls_endpoint">
+                   <property name="text">
+                    <string>Public endpoint certificate</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="2" column="1" colspan="8">
+                  <widget class="KUrlRequester" name="file_tls_endpoint"/>
+                 </item>
+                 <item row="3" column="0">
+                  <widget class="QLabel" name="label_tls_private_key">
+                   <property name="text">
+                    <string>Private key</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="3" column="1" colspan="8">
+                  <widget class="KUrlRequester" name="file_tls_private_key"/>
+                 </item>
+                 <item row="4" column="0">
+                  <widget class="QLabel" name="label_tls_private_key_password">
+                   <property name="text">
+                    <string>Private key password</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="4" column="1" colspan="8">
+                  <widget class="KLineEdit" name="edit_tls_private_key_password"/>
+                 </item>
+                 <item row="5" column="0">
+                  <widget class="QLabel" name="label_tls_method">
+                   <property name="text">
+                    <string>TLS protocol method</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="5" column="1" colspan="3">
+                  <widget class="QComboBox" name="combo_tls_method">
+                   <item>
+                    <property name="text">
+                     <string>Default</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>TLSv1</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>SSLv2</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>SSLv3</string>
+                    </property>
+                   </item>
+                   <item>
+                    <property name="text">
+                     <string>SSLv23</string>
+                    </property>
+                   </item>
+                  </widget>
+                 </item>
+                 <item row="5" column="4" colspan="5">
+                  <spacer name="horizontalSpacer_5">
+                   <property name="orientation">
+                    <enum>Qt::Horizontal</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>40</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item row="6" column="0">
+                  <widget class="QLabel" name="label_tls_cipher">
+                   <property name="text">
+                    <string>TLS cipher list</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="6" column="1" colspan="8">
+                  <widget class="KLineEdit" name="edit_tls_cipher"/>
+                 </item>
+                 <item row="7" column="0">
+                  <widget class="QLabel" name="label_tls_outgoing">
+                   <property name="text">
+                    <string>Outgoing TLS server name</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="7" column="1" colspan="8">
+                  <widget class="KLineEdit" name="edit_tls_outgoing"/>
+                 </item>
+                 <item row="8" column="0">
+                  <widget class="QLabel" name="label_tls_timeout">
+                   <property name="text">
+                    <string>Negotiation timeout (s:ms)</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="8" column="1">
+                  <widget class="KIntSpinBox" name="spinbox_tls_timeout_sec">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="minimumSize">
+                    <size>
+                     <width>50</width>
+                     <height>0</height>
+                    </size>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="9" column="0" colspan="5">
+                  <widget class="QCheckBox" name="check_tls_incoming">
+                   <property name="text">
+                    <string>Verify incoming certificates (server side)</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="10" column="0" colspan="5">
+                  <widget class="QCheckBox" name="check_tls_answer">
+                   <property name="text">
+                    <string>Verify answer certificates (client side)</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="11" column="0" colspan="5">
+                  <widget class="QCheckBox" name="check_tls_requier_cert">
+                   <property name="text">
+                    <string>Require a certificate for incoming TLS connections</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="12" column="0">
+                  <widget class="QLabel" name="label_tls_details">
+                   <property name="text">
+                    <string>*Apply to all accounts</string>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="13" column="0">
+                  <spacer name="verticalSpacer">
+                   <property name="orientation">
+                    <enum>Qt::Vertical</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>20</width>
+                     <height>40</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item row="8" column="4" colspan="5">
+                  <spacer name="horizontalSpacer_3">
+                   <property name="orientation">
+                    <enum>Qt::Horizontal</enum>
+                   </property>
+                   <property name="sizeHint" stdset="0">
+                    <size>
+                     <width>40</width>
+                     <height>20</height>
+                    </size>
+                   </property>
+                  </spacer>
+                 </item>
+                 <item row="8" column="3">
+                  <widget class="KIntSpinBox" name="spinbox_tls_timeout_msec">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="minimumSize">
+                    <size>
+                     <width>50</width>
+                     <height>0</height>
+                    </size>
+                   </property>
+                  </widget>
+                 </item>
+                 <item row="8" column="2">
+                  <widget class="QLabel" name="label_timeout2">
+                   <property name="sizePolicy">
+                    <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+                     <horstretch>0</horstretch>
+                     <verstretch>0</verstretch>
+                    </sizepolicy>
+                   </property>
+                   <property name="minimumSize">
+                    <size>
+                     <width>10</width>
+                     <height>0</height>
+                    </size>
+                   </property>
+                   <property name="maximumSize">
+                    <size>
+                     <width>10</width>
+                     <height>16777215</height>
+                    </size>
+                   </property>
+                   <property name="text">
+                    <string>&lt;center&gt;:&lt;/center&gt;</string>
+                   </property>
+                  </widget>
+                 </item>
+                </layout>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </widget>
+          </item>
+         </layout>
+        </widget>
        </widget>
       </item>
      </layout>
@@ -484,6 +919,11 @@
    <extends>QSpinBox</extends>
    <header>knuminput.h</header>
   </customwidget>
+  <customwidget>
+   <class>KUrlRequester</class>
+   <extends>QFrame</extends>
+   <header>kurlrequester.h</header>
+  </customwidget>
   <customwidget>
    <class>KLineEdit</class>
    <extends>QLineEdit</extends>
diff --git a/sflphone-client-kde/src/sflphone_const.h b/sflphone-client-kde/src/sflphone_const.h
index 356a2e5755c5300b06bc4707172f84fe09daa9b8..c26ce8ed0341d863b7a4a24707f9f138b504425e 100644
--- a/sflphone-client-kde/src/sflphone_const.h
+++ b/sflphone-client-kde/src/sflphone_const.h
@@ -205,6 +205,35 @@
 #define CONST_ALSA                        0
 #define CONST_PULSEAUDIO                  1
 
-
+/** TLS */
+#define TLS_LISTENER_PORT                   "TLS.listenerPort"
+#define TLS_ENABLE                          "TLS.enable"
+#define TLS_PORT                            "TLS.port"
+#define TLS_CA_LIST_FILE                    "TLS.certificateListFile"
+#define TLS_CERTIFICATE_FILE                "TLS.certificateFile"
+#define TLS_PRIVATE_KEY_FILE                "TLS.privateKeyFile"
+#define TLS_PASSWORD                        "TLS.password"
+#define TLS_METHOD                          "TLS.method"
+#define TLS_CIPHERS                         "TLS.ciphers"
+#define TLS_SERVER_NAME                     "TLS.serverName"
+#define TLS_VERIFY_SERVER                   "TLS.verifyServer"
+#define TLS_VERIFY_CLIENT                   "TLS.verifyClient"
+#define TLS_REQUIRE_CLIENT_CERTIFICATE      "TLS.requireClientCertificate"  
+#define TLS_NEGOTIATION_TIMEOUT_SEC         "TLS.negotiationTimeoutSec"
+#define TLS_NEGOTIATION_TIMEOUT_MSEC        "TLS.negotiationTimemoutMsec"
+
+#define ACCOUNT_PASSWORD                   "password"
+#define ACCOUNT_AUTHENTICATION_USERNAME    "authenticationUsername"
+#define ACCOUNT_REALM                      "realm"
+#define ACCOUNT_KEY_EXCHANGE               "SRTP.keyExchange"
+#define ACCOUNT_SRTP_ENABLED               "SRTP.enable"
+#define ACCOUNT_SRTP_RTP_FALLBACK          "SRTP.rtpFallback"
+#define ACCOUNT_ZRTP_DISPLAY_SAS           "ZRTP.displaySAS"
+#define ACCOUNT_ZRTP_NOT_SUPP_WARNING      "ZRTP.notSuppWarning"
+#define ACCOUNT_ZRTP_HELLO_HASH            "ZRTP.helloHashEnable"
+#define ACCOUNT_DISPLAY_SAS_ONCE           "ZRTP.displaySasOnce"
+#define KEY_EXCHANGE_NONE                  "0"
+#define ZRTP                               "1"
+#define SDES                               "2"
 
 #endif