diff --git a/sflphone-common/libs/pjproject/autogen.sh b/sflphone-common/libs/pjproject/autogen.sh
old mode 100644
new mode 100755
diff --git a/sflphone-common/src/dbus/callmanager-introspec.xml b/sflphone-common/src/dbus/callmanager-introspec.xml
index 83a5c32acf22c3086a8f347113bc5733c2ab3be6..534bde252d506dcda4b622b0667c7b86005d8510 100644
--- a/sflphone-common/src/dbus/callmanager-introspec.xml
+++ b/sflphone-common/src/dbus/callmanager-introspec.xml
@@ -1,506 +1,699 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<!-- Comment -->
-<!--*< File comment -->
+<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+	<interface name="org.sflphone.SFLphone.CallManager">
 
-<node name="/org/sflphone/SFLphone" xmlns:dx="http://psiamp.org/dtd/doxygen_dbusxml.dtd">
+		<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+			<p>The CallManager interface is used to manage any call related actions.</p>
+			<p>Since SFLphone-daemon support multiple incoming/outgoing calls, any actions involving a specific call must address the method by the means of a unique callID. SFLphone-clients is responsible to generate the callID on outgoing call. On the other hand, SFLphone-daemon will generate a unique callID on incoming calls.</p>
+		</tp:docstring>
+		<method name="placeCall" tp:name-for-bindings="placeCall">
+			<tp:docstring>
+				<p>This is the main method in order to place a new call. The call is registered to the daemon using this method.</p>
+			</tp:docstring>
+			<arg type="s" name="accountID" direction="in">
+				<tp:docstring>
+					The ID of the account you want to make a call with. If the call is to be placed whithout any account by the means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details about accounts see the configuration manager interface.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID is a unique identifier that must be randomly generated on the  client's side. Any subsequent actions refering to this call must use this callID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="to" direction="in">
+				<tp:docstring>
+					If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified.
+				</tp:docstring>
+			</arg>
+		</method>
 
-  <!--* The CallManager interface is used to manage any call related
-	actions. 
+		<method name="placeCallFirstAccount" tp:name-for-bindings="placeCallFirstAccount">
+			<tp:added version="0.9.8"/>
+			<tp:docstring>
+				Place a call with the fist registered account, regarding to the account list order.
+				<tp:rationale>
+					Use this function when you don't have any information about the accounts used (Ex: Firefly mozilla extension)			
+				</tp:rationale>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID is a unique identifier that must be randomly generated on the  client's side. Any subsequent actions refering to this call must use this callID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="to" direction="in">
+				<tp:docstring>
+					If bound to a VoIP account, then the argument is the phone number. In case of calls involving "IP2IP_PROFILE", a complete SIP URI must be specified.
+				</tp:docstring>
+			</arg>
+		</method>
 
-	Since SFLphone-daemon support multiple incoming/outgoing
-	calls, any actions involving a specific call must address the
-	method by the means of a unique callID. SFLphone-clients is
-	responsible to generate the callID on outgoing call. On the
-	otehr hand, SFLphone-daemon will generate a unique callID on
-	incoming calls.
+		<method name="refuse" tp:name-for-bindings="refuse">
+			<tp:docstring>
+				Refuse an incoming call.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
 
-	Actions are performed asynchronously, SFLphone-client should
-	subscribe to the callStateChanged signal in order to be
-	notified on updates in call status.
-    -->
-	<interface name="org.sflphone.SFLphone.CallManager">
-	
-	<!--* This is the main method in order to place a new call. The
-            call is registered to the daemon using this method
-            specified a unique identifier and VoIP Accout to be bound with.
-
-			The account is specified by its accountID. 
-
-			If the call is to be placed whithout any account by the
-			means of a SIP URI (i.e. sip:num@server), the
-			"IP2IP_PROFILE" is passed as the accountID. For more
-			details about accounts see the configuration manager interface.
-
-			The callID is a unique identifier that must be randomly
-			generated on sflphone-client's side. Any subsequent
-			actions refering to this call must use this callID.
-
-			If bound to a VoIP account, the to argument is the phone
-			number. In case of calls involving "IP2IP_PROFILE", a
-			complete SIP URI must be specified.
-
-				@param[in] input accountID
-				@param[in] input callID
-			@param[in] input to
-        -->
-
-		<method name="placeCall">
-			<arg type="s" name="accountID" direction="in"/>
-			<arg type="s" name="callID" direction="in" />
-			<arg type="s" name="to" direction="in" />
-		</method>
-
-    <method name="placeCallFirstAccount">
-      <arg type="s" name="callID" direction="in"/>
-      <arg type="s" name="to" direction="in"/>
-    </method>
-    
-    <method name="refuse">
-      <!--* Method called to refuse an incoming call.
-
-            @param[in] input callID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="accept">
-      <!--* Method called to answer an incoming call. Automatically put
-	    the current call on state HOLD.
-
-            @param[in] input callID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="hangUp">
-      <!--* Method called to hangup a call in state "CURRENT" or "HOLD".
-
-            @param[in] input callID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-
-    <method name="hangUpConference">
-      <!--* This method will hangup a conference in state ""
-	    every call participating to the conference.
-
-            @param[in] input confID
-        -->
-      <arg type="s" name="confID" direction="in"/>
-    </method>
-    
-    <method name="hold">
-      <!--* Place this call on state HOLD.
-
-            @param[in] input confID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="unhold">
-      <!--* Place this call on state CURRENT.
-
-            @param[in] input confID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="transfert">
-      <!--* Transfer a call to given phone number.
-
-            @param[in] input confID
-	    @param[in] input to
-        -->
-      <arg type="s" name="callID" direction="in"/>
-      <arg type="s" name="to" direction="in"/>
-    </method>
-    
-    <method name="playDTMF">
-      <!--* Dual-Tone multi-frequency. Tell SFLphone-daemon to play
-	    dial tones. A SIP INFO message is sent to notify the server.
-
-            @param[in] input Unicode charter for pressed key
-        -->
-      <arg type="s" name="key" direction="in"/>
-    </method>
-    
-    <method name="startTone">
-      <!--* This method is used to start audio stream and play tone.
-
-            @param[in] input confID
-        -->
-      <arg type="i" name="start" direction="in"/>
-      <arg type="i" name="type" direction="in"/>
-    </method>
-
-    <method name="setVolume">
-      <!--* This method sets the volume using a linear scale
-            [0,100]. Pulseaudio has its own mechanism to modify
-            application volume. This method is enabled only if the
-            ALSA API is used. 
-
-            @param[in] input device
-	    @param[in] input value
-        -->
-      <arg type="s" name="device" direction="in"/>
-      <arg type="d" name="value" direction="in"/>
-    </method>
-    
-    <method name="getVolume">
-      <!--* This method is enabled only if the ALSA API is used, Pulseaudio 
-	    has its own mechanism to modify application volume. Return
-	    a value on a linear scale [0,100].
-
-            @param[in] input device
-	    @param[out] output value
-        -->
-      <arg type="s" name="device" direction="in"/>
-      <arg type="d" name="value" direction="out"/>
-    </method>
-
-    <method name="joinParticipant">
-      <!--* Join two participants together to create a 3-way
-            conference including current SFLphone-client.
-	    conferenceCreated signal is emited on success.
-
-            @param[in] input sel_callID
-	    @param[in] input drag_callID
-        -->
-      <arg type="s" name="sel_callID" direction="in"/>
-      <arg type="s" name="drag_callID" direction="in"/>
-    </method>
-
-    <method name="addParticipant">
-      <!--* Join a new particiant to an already created conference.
-            conferenceChaged signal is emited on success.
-
-            @param[in] input callID
-	    @param[in] input confID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-      <arg type="s" name="confID" direction="in"/>
-    </method>
-
-    <method name="addMainParticipant">
-      <!--* As SFLphone-daemon can handle multiple calls and
-            conferences. It may happen that SFLphone-client's user
-            leave a conference to answer an incoming call or
-            send new ones. This method is used to reintroduce
-            SFLphone-client's user into the conference.
-
-	    It put the current call on state HOLD or detach
-	    SFLphone-client's user from the another conference.
-
-	    @param[in] input confID
-        -->
-      <arg type="s" name="confID" direction="in"/>
-    </method>
-
-    <method name="detachParticipant">
-      <!--* Detach the given call from the conference. If only one
-            participant is left, the conference is deleted and the 
-	    "conferenceRemoved" signal is emited.
-
-            @param[in] input callID
-        -->
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-
-    <method name="joinConference">
-      <!--* Method used to join two conference together.
-
-            @param[in] input sel_confID
-	    @param[in] input drag_confID
-        -->
-      <arg type="s" name="sel_confID" direction="in"/>
-      <arg type="s" name="drag_confID" direction="in"/>
-    </method>
-
-    <method name="getConferenceDetails">
-      <!--* Returns a hashtable containing conference details.
-
-	    "CONFID"
-	    "CONF_STATE"
-
-            @param[in] input confID
-	    @param[out] output a infos
-        -->
-      <arg type="s" name="callID" direction="in"/>
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="infos" direction="out"/>
-    </method>
-    
-    <method name="getConferenceList">
-      <!--* Returns a list containing all active confID in SFLphone-daemon.
-
-	    @param[out] output list
-        -->
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="setRecording">
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-
-     <method name="getIsRecording">
-      <arg type="s" name="callID" direction="in"/>
-      <arg type="b" name="isRecording" direction="out"/>
-    </method>
-    
-    <method name="getCallDetails">
-      <!--* Returns a hashtable containing call details.
-
-	    "ACCOUNTID"
-            "PEER_NUMBER"
-            "PEER_NAME"
-            "DISPLAY_NAME"    Name to display
-            "CALL_STATE"      The state of the call
-            "CALL_TYPE"       SIP or IAX
-
-            @param[in] input callID
-	    @param[out] output a infos
-        -->
-      <arg type="s" name="callID" direction="in"/>
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="infos" direction="out"/>
-    </method>
-    
-    <method name="getCallList">
-      <!--* Returns a list containing all active callID in SFLphone-daemon.
-
-	    @param[out] output list
-        -->
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="getCurrentCallID">
-      <!--* Returns the CURRENT callID
-
-	    @param[out] output callID
-        -->
-      <arg type="s" name="callID" direction="out"/>
-    </method>
-
-    <method name="getCurrentCodecName">
-      <arg type="s" name="callID" direction="in"/>
-      <arg type="s" name="codecName" direction="out"/>
-    </method>
-
-    <signal name="currentSelectedCodec">
-      <arg type="s" name="callID"  direction="out" />
-      <arg type="s" name="codecName"  direction="out"/>
-    </signal>
-    
-    <signal name="incomingCall">
-      <!--* Signal sent to notify incoming calls.
-
-	    The callID generated by the daemon and must be stored
-	    by SFLphone-client in order to address other action for
-	    this call.
-
-            @param[in] input accountID
-            @param[in] input callID
-	    @param[in] input from
-        -->
-      <arg type="s" name="accountID" />
-      <arg type="s" name="callID" />
-      <arg type="s" name="from" />
-    </signal>
-    
-    <signal name="incomingMessage">
-      <arg type="s" name="accountID"  direction="out" />
-      <arg type="s" name="message"  direction="out"/>
-    </signal>
-    
-    <signal name="callStateChanged">
-      <!--* Signal emited by SFLphone-daemon to notify of a chage in
-	    call state.
- 
-	    The following is a liste of possible call state:
-
-	    "INCOMING"          Initial state of incoming calls
-	    "RINGING"           Initial state of received outgoing call
-	    "CURRENT"           The normal active state of an answered call
-            "HUNGUP"            Notify that the call has been hungup by peer
-	    "BUSY" 
-            "FAILURE"           Signal emited on failure to answer the call
-            "HOLD"              CAll state is now on hold
-            "UNHOLD_RECORD"     CAll state is now on CURRENT (pursue recording)
-            "UNHOLD_CURRENT"    CAll state is now on CURRENT
-
-            @param[in] input accountID
-            @param[in] input state
-        -->
-      <arg type="s" name="callID"  direction="out"/>
-      <arg type="s" name="state"  direction="out"/>
-    </signal>
-
-    <signal name="conferenceChanged">
-      <!--* Signal emited by SFLphone-daemon to notify of a chage in
-	    conference state.
- 
-	    The following is a liste of possible conference state:
-
-	    "ACTIVE_ATACHED"    Conference state is active
-	    "ACTIVE_DETACHED"   Conference state is active  
-	    "HOLD"              Conference is on hold
-
-            @param[in] input accountID
-            @param[in] input state
-        -->
-      <arg type="s" name="confID"  direction="out"/>
-      <arg type="s" name="state"  direction="out"/>
-    </signal>
-
-    <method name="getParticipantList">
-      <!--* Return a vector (or a list) containig the callIP of every
-            participant to a given conference. SFLphone-client should
-            keep and update the list of participant.
-
-            @param[in] input accountID
-            @param[out] output List of callID
-        -->
-      <arg type="s" name="confID" direction="in"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <signal name="conferenceCreated">
-      <!--* Emited when a new conference is created. SFLphone-client
-            is reponsible to store the confID and call
-            getParticipantList to update display.
-
-            param[out] output Newly generated confID
-        -->
-      <arg type="s" name="confID"  direction="out"/>
-    </signal>
-
-    <signal name="conferenceRemoved">
-      <!--* Emited when a new conference is removed. SFLphone-client
-            should have kept a list of current participant in order to
-            display modification. 
-
-            @param[out] output confID
-        -->
-      <arg type="s" name="confID"  direction="out"/>
-    </signal>
-
-    <method name="holdConference">
-      <!--* Put the hole conference on hold. Every call participating
-            to this conference will be update to state HOLD. 
-
-            @param[in] input confID
-        -->
-      <arg type="s" name="confID" direction="in"/>
-    </method>
-
-    <method name="unholdConference">
-      <!--* Put the conference on state ACTIVE. Every call participating
-            to this conference will be updated to state UNHOLD.
-
-            @param[in] input confID
-        -->
-      <arg type="s" name="confID" direction="in"/>
-    </method>
-    
-    <signal name="sipCallStateChanged">
-      <arg type="s" name="callID"  direction="out"/>
-      <arg type="s" name="state"  direction="out"/>
-      <arg type="i" name="code"  direction="out"/>            
-    </signal>    
-
-    <signal name="registrationStateChanged">
-      <arg type="s" name="accountID"  direction="out"/>
-      <arg type="s" name="state"  direction="out"/>
-      <arg type="i" name="code"  direction="out"/>            
-    </signal> 
-        
-    <signal name="voiceMailNotify">
-      <arg type="s" name="accountID"  direction="out"/>
-      <arg type="i" name="count"  direction="out"/>
-    </signal>
-    
-    <signal name="volumeChanged">
-      <arg type="s" name="device"  direction="out"/>
-      <arg type="d" name="value"  direction="out"/>
-    </signal>
-
-    <signal name="transferSucceded">
-    </signal>
-
-    <signal name="transferFailed">
-    </signal>
-
-    <signal name="secureSdesOn">
-      <arg type="s" name="callID"  direction="out" />
-    </signal>
-    
-    <signal name="secureSdesOff">
-      <arg type="s" name="callID"  direction="out" />
-    </signal>
-    
-    <!-- ZRTP Methods and Signals -->
-    <signal name="secureZrtpOn">
-      <arg type="s" name="callID"  direction="out" />
-      <arg type="s" name="cipher"  direction="out" />
-    </signal>
-    
-    <signal name="secureZrtpOff">
-      <arg type="s" name="callID"  direction="out" />
-    </signal>
-    
-    <signal name="confirmGoClear">
-      <arg type="s" name="callID"  direction="out" />
-    </signal>
-    
-    <signal name="zrtpNegotiationFailed">
-      <arg type="s" name="callID"  direction="out" />
-      <arg type="s" name="reason"  direction="out" />
-      <arg type="s" name="severity"  direction="out" />
-    </signal>
-    
-    <signal name="zrtpNotSuppOther">
-      <arg type="s" name="callID"  direction="out" />
-    </signal>
-    
-    <signal name="showSAS">
-      <arg type="s" name="callID"  direction="out" />
-      <arg type="s" name="sas"  direction="out" />
-      <arg type="b" name="verified"  direction="out" />
-    </signal>
- 
-    <method name="setSASVerified">
-      <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="resetSASVerified">
-        <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="setConfirmGoClear">
-        <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="requestGoClear">
-        <arg type="s" name="callID" direction="in"/>
-    </method>
-    
-    <method name="acceptEnrollment">
-        <arg type="s" name="callID" direction="in"/>
-        <arg type="b" name="accepted" direction="in"/>
-    </method>
-    
-    <method name="setPBXEnrollment">
-        <arg type="s" name="callID" direction="in"/>
-        <arg type="b" name="yesNo" direction="in"/>
-    </method>
-<!--
-    <signal name="error">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="details"  direction="out"/>
-    </signal>
--->
-
-  </interface>
+		</method>
+
+		<method name="accept" tp:name-for-bindings="accept">
+			<tp:docstring>
+				Answer an incoming call. Automatically put the current call on state HOLD.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="hangUp" tp:name-for-bindings="hangUp">
+			<tp:docstring>
+				Hangup a call in state "CURRENT" or "HOLD".
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="hangUpConference" tp:name-for-bindings="hangUpConference">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Hangup a conference, and every call participating to the conference.
+			</tp:docstring>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					The unique conference ID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="hold" tp:name-for-bindings="hold">
+			<tp:docstring>
+				Place a call on hold.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="unhold" tp:name-for-bindings="unhold">
+			<tp:docstring>
+				Hold off a call, and place this call on state CURRENT.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="transfert" tp:name-for-bindings="transfert">
+			<tp:docstring>
+				Transfer a call to given phone number.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The callID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="to" direction="in">
+				<tp:docstring>
+					The phone number to transfer the call to.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="playDTMF" tp:name-for-bindings="playDTMF">
+			<tp:docstring>
+				Dual-Tone multi-frequency. Tell the core to play dial tones. A SIP INFO message is sent to notify the server.
+			</tp:docstring>
+			<arg type="s" name="key" direction="in">
+				<tp:docstring>
+					Unicode charter for pressed key
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="startTone" tp:name-for-bindings="startTone">
+			<tp:docstring>
+				Start audio stream and play tone..
+			</tp:docstring>
+			<arg type="i" name="start" direction="in"/>
+			<arg type="i" name="type" direction="in"/>
+		</method>
+
+		<method name="setVolume" tp:name-for-bindings="setVolume">
+			<tp:docstring>
+				<p>Sets the volume using a linear scale [0,100].</p>
+				<tp:rationale>Pulseaudio has its own mechanism to modify application volume. This method is enabled only if the ALSA API is used.</tp:rationale>
+			</tp:docstring>
+			<arg type="s" name="device" direction="in">
+				<tp:docstring>
+					The device: mic or speaker
+				</tp:docstring>
+			</arg>
+			<arg type="d" name="value" direction="in">
+				<tp:docstring>
+					The volume value (between 0 and 100)
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getVolume" tp:name-for-bindings="getVolume">
+			<tp:docstring>
+				<p>Return the volume value of the given device on a linear scale [0,100].</p>
+				<tp:rationale>Only enabled if the ALSA API is used, Pulseaudio has its own mechanism to modify application volume.</tp:rationale>
+			</tp:docstring>
+			<arg type="s" name="device" direction="in">
+				<tp:docstring>
+					The device: mic or speaker
+				</tp:docstring>
+			</arg>
+			<arg type="d" name="value" direction="out">
+				<tp:docstring>
+					The volume value (between 0 and 100)
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="joinParticipant" tp:name-for-bindings="joinParticipant">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				<p>Join two participants together to create a 3-way conference including the current client.</p>
+				<tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> 
+			</tp:docstring>
+			<arg type="s" name="sel_callID" direction="in"/>
+			<arg type="s" name="drag_callID" direction="in"/>
+		</method>
+
+		<method name="addParticipant" tp:name-for-bindings="addParticipant">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				<p>Join a new particiant to an existing conference.</p>
+				<tp:rationale>The signal <tp:member-ref>conferenceChanged</tp:member-ref> is emitted on success.</tp:rationale> 
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The ID of the call to add to the conference
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					An existing conference ID
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="addMainParticipant" tp:name-for-bindings="addMainParticipant">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				<p>As the core can handle multiple calls an conferences, it may happens that the client's user leave a conference to answer an incoming call or send new ones. This method is used to reintroduce SFLphone-client's user into the conference.</p>
+				<p>It put the current call on state HOLD or detach SFLphone-client's user from the another conference.</p>
+			</tp:docstring>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					An existing conference ID
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="detachParticipant" tp:name-for-bindings="detachParticipant">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Detach the given call from the conference. If only one participant is left, the conference is deleted and the signal <tp:member-ref>conferenceRemoved</tp:member-ref> is emited.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The call ID
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="joinConference" tp:name-for-bindings="joinConference">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Join two conferences together.
+			</tp:docstring>
+			<arg type="s" name="sel_confID" direction="in"/>
+			<arg type="s" name="drag_confID" direction="in"/>
+		</method>
+
+		<method name="getConferenceDetails" tp:name-for-bindings="getConferenceDetails">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Returns a hashtable containing conference details.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The call ID
+				</tp:docstring>
+			</arg>
+			<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+			<arg type="a{ss}" name="infos" direction="out">
+				<tp:docstring>
+					A map containing the ID of the conferences and their states.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getConferenceList" tp:name-for-bindings="getConferenceList">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Returns a list containing all active conferences.
+			</tp:docstring>
+			<arg type="as" name="list" direction="out">
+				<tp:docstring>
+					The list of conferences.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="setRecording" tp:name-for-bindings="setRecording">
+			<tp:docstring>
+				Start recording a call.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The ID of the call to record.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getIsRecording" tp:name-for-bindings="getIsRecording"> 
+			<tp:docstring>
+				Tells whether or not a call is being recorded.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The call ID.
+				</tp:docstring>
+			</arg>
+			<arg type="b" name="isRecording" direction="out">
+				<tp:docstring>
+					Returns true is the call is being recorded. False otherwise.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getCallDetails" tp:name-for-bindings="getCallDetails">
+			<tp:docstring>
+				Get all the details about a specific call.
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in">
+				<tp:docstring>
+					The call ID.
+				</tp:docstring>
+			</arg>
+			<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+			<arg type="a{ss}" name="infos" direction="out" tp:type="String_String_Map">
+				<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+					<p>A map containing the call details: </p>
+					<ul>
+						<li>ACCOUNTID</li>
+						<li>PEER_NUMBER</li>
+						<li>PEER_NAME</li>
+						<li>DISPLAY_NAME</li>
+						<li>CALL_STATE</li>
+						<li>CALL_TYPE</li>
+					</ul>  
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getCallList" tp:name-for-bindings="getCallList">
+			<tp:docstring>
+				Get the list of active calls.
+				<tp:rationale>To get the call details, iterate on the return value and call <tp:member-ref>getCallDetails</tp:member-ref> method.</tp:rationale> 
+			</tp:docstring>
+			<arg type="as" name="list" direction="out">
+				<tp:docstring>
+					A list of call IDs.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getCurrentCallID" tp:name-for-bindings="getCurrentCallID">
+			<tp:docstring>
+				Get the CURRENT call ID.
+			</tp:docstring>
+			@param[out] output callID
+			<arg type="s" name="callID" direction="out">
+				<tp:docstring>
+					The current call ID.	
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getCurrentCodecName" tp:name-for-bindings="getCurrentCodecName">
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+			<arg type="s" name="codecName" direction="out"/>
+		</method>
+
+		<signal name="currentSelectedCodec" tp:name-for-bindings="currentSelectedCodec">
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+			<arg type="s" name="codecName"/>
+		</signal>
+
+		<signal name="incomingCall" tp:name-for-bindings="incomingCall">
+			<tp:docstring>
+				<p>Notify an incoming call.</p>
+				<p>The callID generated by the daemon and must be stored by the clients in order to address other action for
+					this call.</p>
+				<tp:rationale>The client must subscribe to this signal to handle incoming calls.</tp:rationale>
+			</tp:docstring>
+			<arg type="s" name="accountID">
+				<tp:docstring>
+					The account ID of the callee. Clients must notify the right account when receiving this signal.	
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="callID">
+				<tp:docstring>
+					A new call ID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="from">
+				<tp:docstring>
+					The caller phone number.
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<signal name="incomingMessage" tp:name-for-bindings="incomingMessage">
+			<tp:docstring>
+				Unused
+			</tp:docstring>
+			<arg type="s" name="accountID" />
+			<arg type="s" name="message" />
+		</signal>
+
+		<signal name="callStateChanged" tp:name-for-bindings="callStateChanged">
+			<tp:docstring>
+				<p>Notify of a change in a call state.</p> 
+				<p>The client must subscribe to this signal.</p>
+			</tp:docstring>
+			<arg type="s" name="callID">
+				<tp:docstring>
+					The call ID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="state" >
+				<tp:docstring>
+					The acceptable states are: 
+					<ul>
+						<li>INCOMING: Initial state of incoming calls</li>
+						<li>RINGING: Initial state of received outgoing call</li>
+						<li>CURRENT: The normal active state of an answered call</li>
+						<li>HUNGUP: Notify that the call has been hungup by peer</li>
+						<li>BUSY</li>
+						<li>FAILURE: Error when processing a call</li>
+						<li>HOLD</li>
+						<li>UNHOLD_CURRENT</li>
+						<li>UNHOLD_RECORD</li>
+					</ul>
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<signal name="conferenceChanged" tp:name-for-bindings="conferenceChanged">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Notify of a change in the conferences state
+			</tp:docstring>
+			<arg type="s" name="confID">
+				<tp:docstring>
+					The conference ID.
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="state">
+				<tp:docstring>
+					The acceptable states are: 
+					<ul>
+						<li>ACTIVE_ATTACHED</li>
+						<li>ACTIVE_DETACHED</li>
+						<li>HOLD</li>
+					</ul>
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<method name="getParticipantList" tp:name-for-bindings="getParticipantList">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Get the call IDs of every participant to a given conference. The client should keep and update the list of participant.
+			</tp:docstring>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					The conference ID.
+				</tp:docstring>
+			</arg>
+			<arg type="as" name="list" direction="out">
+				<tp:docstring>
+					The list of the call IDs.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<signal name="conferenceCreated" tp:name-for-bindings="conferenceCreated">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Emited when a new conference is created. SFLphone-client is reponsible to store the confID and call <tp:member-ref>getParticipantList</tp:member-ref> to update the display.
+			</tp:docstring>
+			<arg type="s" name="confID">  
+				<tp:docstring>
+					A new conference ID.
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<signal name="conferenceRemoved" tp:name-for-bindings="conferenceRemoved">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Emited when a new conference is remove. SFLphone-client should have kept a list of current participant in order to display modification.
+			</tp:docstring>
+			<arg type="s" name="confID">
+				<tp:docstring>
+					The conference ID.
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<method name="holdConference" tp:name-for-bindings="holdConference">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Hold on every calls participating to this conference.
+			</tp:docstring>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					The conference ID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="unholdConference" tp:name-for-bindings="unholdConference">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+				Hold off every calls participating to this conference.
+			</tp:docstring>
+			<arg type="s" name="confID" direction="in">
+				<tp:docstring>
+					The conference ID.
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged">
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID"  />
+			<arg type="s" name="state"  />
+			<arg type="i" name="code"  />            
+		</signal>    
+
+		<signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged">
+			<tp:docstring>
+				<p>The state of an account has changed.</p>
+				<p>The clients have to subscribe to this signal to use accounts.</p>
+			</tp:docstring>
+			<arg type="s" name="accountID" >
+				<tp:docstring>
+					The account ID
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="state">
+				<tp:docstring>
+					The new registration state
+				</tp:docstring>
+			</arg>
+			<arg type="i" name="code">            
+				<tp:docstring>
+					The SIP or IAX2 code
+				</tp:docstring>
+			</arg>
+		</signal> 
+
+		<signal name="voiceMailNotify" tp:name-for-bindings="voiceMailNotify">
+			<tp:docstring>
+				Notify the clients of the voicemail number for a specific account, if applicable.
+			</tp:docstring>
+			<arg type="s" name="accountID">
+				<tp:docstring>
+					The account ID.
+				</tp:docstring>
+			</arg>
+			<arg type="i" name="count">
+				<tp:docstring>
+					The number of waiting messages.
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<signal name="volumeChanged" tp:name-for-bindings="volumeChanged">
+			<tp:docstring>
+				Notify the clients of a volume level change.
+			</tp:docstring>
+			<arg type="s" name="device">
+				<tp:docstring>
+					The device: mic or speaker	
+				</tp:docstring>
+			</arg>
+			<arg type="d" name="value">
+				<tp:docstring>
+					The new volume value	
+				</tp:docstring>
+			</arg>
+		</signal>
+
+		<signal name="transferSucceded" tp:name-for-bindings="transferSucceded">
+			<tp:docstring>
+				The transfer has been successfully processed.
+			</tp:docstring>
+		</signal>
+
+		<signal name="transferFailed" tp:name-for-bindings="transferFailed">
+			<tp:docstring>
+				The transfer operation has failed.
+			</tp:docstring>
+		</signal>
+
+		<signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID"/>
+		</signal>
+
+		<signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+		</signal>
+
+		<!-- ZRTP Methods and Signals -->
+		<signal name="secureZrtpOn" tp:name-for-bindings="secureZrtpOn">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID"  />
+			<arg type="s" name="cipher"  />
+		</signal>
+
+		<signal name="secureZrtpOff" tp:name-for-bindings="secureZrtpOff">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+		</signal>
+
+		<signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+		</signal>
+
+		<signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+			<arg type="s" name="reason"  />
+			<arg type="s" name="severity" />
+		</signal>
+
+		<signal name="zrtpNotSuppOther" tp:name-for-bindings="zrtpNotSuppOther">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+		</signal>
+
+		<signal name="showSAS" tp:name-for-bindings="showSAS">
+			<tp:added version="0.9.7"/>
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" />
+			<arg type="s" name="sas"  />
+			<arg type="b" name="verified"/>
+		</signal>
+
+		<method name="setSASVerified" tp:name-for-bindings="setSASVerified">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+		</method>
+
+		<method name="resetSASVerified" tp:name-for-bindings="resetSASVerified">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+		</method>
+
+		<method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+		</method>
+
+		<method name="requestGoClear" tp:name-for-bindings="requestGoClear">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+		</method>
+
+		<method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+			<arg type="b" name="accepted" direction="in"/>
+		</method>
+
+		<method name="setPBXEnrollment" tp:name-for-bindings="setPBXEnrollment">
+			<tp:added version="0.9.7"/>
+			<tp:docstring>
+			</tp:docstring>
+			<arg type="s" name="callID" direction="in"/>
+			<arg type="b" name="yesNo" direction="in"/>
+		</method>
+
+	</interface>
 </node>
diff --git a/sflphone-common/src/dbus/configurationmanager-introspec.xml b/sflphone-common/src/dbus/configurationmanager-introspec.xml
index 0b66386689b19c9612c175bb562cce576fad7319..a34111d91751fddcb7dbe6e40c2843c989ba1415 100644
--- a/sflphone-common/src/dbus/configurationmanager-introspec.xml
+++ b/sflphone-common/src/dbus/configurationmanager-introspec.xml
@@ -1,568 +1,571 @@
 <?xml version="1.0" ?>
-<node name="/org/sflphone/SFLphone">
-  <interface name="org.sflphone.SFLphone.ConfigurationManager">
-    
-  <!-- Accounts-related methods -->  
-    <method name="getAccountDetails">
-      <!--* Method that returns a hashtable containing the current
-            account configuration setting.
-
-	    CONFIG_ACCOUNT_ENABLE
-	    CONFIG_ACCOUNT_RESOLVE_ONCE
-	    CONFIG_ACCOUNT_TYPE
-	    HOSTNAME
-	    USERNAME
-	    PASSWORD
-	    REALM
-	    AUTHENTICATION_USERNAME
-	    CONFIG_ACCOUNT_MAILBOX
-	    CONFIG_ACCOUNT_REGISTRATION_EXPIRE
-	    LOCAL_INTERFACE
-	    PUBLISHED_SAMEAS_LOCAL
-	    PUBLISHED_ADDRESS
-	    LOCAL_PORT
-	    PUBLISHED_PORT
-	    DISPLAY_NAME
-	    STUN_ENABLE
-	    STUN_SERVER
-
-	    REGISTRATION_STATUS
-	    REGISTRATION_STATE_CODE
-	    REGISTRATION_STATE_DESCRIPTION
-	    SRTP_KEY_EXCHANGE
-	    SRTP_ENABLE
-	    
-	    SRTP_RTP_FALLBACK
-	    ZRTP_DISPLAY_SAS
-	    ZRTP_DISPLAY_SAS_ONCE
-	    ZRTP_HELLO_HASH
-	    ZRTP_NOT_SUPP_WARNING
-
-	    TLS_LISTENER_PORT
-	    TLS_ENABLE
-	    TLS_CA_LIST_FILE
-	    TLS_CERTIFICATE_FILE
-	    TLS_PRIVATE_KEY_FILE
-	    
-	    TLS_METHOD
-	    TLS_CIPHERS
-	    TLS_SERVER_NAME
-	    TLS_VERIFY_SERVER
-	    TLS_VERIFY_CLIENT
-	    TLS_REQUIRE_CLIENT_CERTIFICATE
-	    TLS_NEGOTIATION_TIMEOUT_SEC
-	    TLS_NEGOTIATION_TIMEOUT_MSEC
-
-
-            @param[in] input accountID
-            @param[out] output details
-        -->
-      <arg type="s" name="accountID" direction="in"/>
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="details" direction="out"/>
-    </method>
-    
-    <method name="setAccountDetails">
-      <!--* Modify the current accout parameter settings given an
-            accountID and a hash table containing the parameters to
-            update. The hash table is not required to be complete,
-            only the parameter to change may be specified. Only the
-            running parameters are updated dynamically, configuration
-            settings are stored in the configuration file when
-            SFLphone-daemon quit.
-
-	    For a complete list of account settings refer to getAccountDetails
-
-            @param[in] input accountID
-            @param[in] input details
-        -->
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/>
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="a{ss}" name="details" direction="in"/>
-    </method>
-    
-    <method name="setCredential">
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="i" name="index" direction="in"/>
-      <arg type="a{ss}" name="credentialInformation" direction="in"/>
-    </method>
-
-    <method name="setNumberOfCredential">
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="i" name="number" direction="in"/>
-    </method>
-       
-    <method name="deleteAllCredential">
-       <arg type="s" name="accountID" direction="in"/>
-    </method>
-  
-    <method name="getIp2IpDetails">
-      <!--* Specific call to get configuration settings of the
-	    IP2IP_PROFILE. Which are sligthly different since no VoIP
-	    Account parameters are envolved.
-
-	    ACCOUNT_ID
-	    SRTP_KEY_EXCHANGE
-	    SRTP_ENABLE
-	    SRTP_RTP_FALLBACK
-	    ZRTP_DISPLAY_SAS
-	    ZRTP_HELLO_HASH
-	    ZRTP_NOT_SUPP_WARNING
-	    ZRTP_DISPLAY_SAS_ONCE
-	    LOCAL_INTERFACE
-	    LOCAL_PORT
-
-	    TLS_LISTENER_PORT
-	    TLS_CA_LIST_FILE
-	    TLS_CERTIFICATE_FILE
-	    TLS_PRIVATE_KEY_FILE
-	    TLS_PASSWORD
-	    TLS_METHOD
-	    TLS_CIPHERS
-	    TLS_SERVER_NAME
-	    TLS_VERIFY_SERVER
-	    TLS_VERIFY_CLIENT
-	    TLS_REQUIRE_CLIENT_CERTIFICATE
-	    TLS_NEGOTIATION_TIMEOUT_SEC
-	    TLS_NEGOTIATION_TIMEOUT_MSEC
-
-            @param[in] input accountID
-            @param[out] output details
-        -->
-      <arg type="a{ss}" name="details" direction="out"/>
-    </method>
-    
-    <method name="setIp2IpDetails">
-      <!--* Modify the IP2IP_PROFILE parameter settings a hash table 
-	    containing the parameters to update. The hash table is not required to be complete,
-            only the parameters to be modified may be specified. Also,
-	    only the running configuration is updated dynamically, 
-            settings are stored in the configuration file when
-            SFLphone-daemon quit.
-
-	    For a complete list of account settings refer to getAccountDetails
-
-            @param[in] input accountID
-            @param[in] input details
-        -->
-      <arg type="a{ss}" name="details" direction="in"/>
-    </method>
-      
-    <method name="getCredential">
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="i" name="index" direction="in"/>
-      <arg type="a{ss}" name="credentialInformation" direction="out"/>
-    </method>
-    
-    <method name="getNumberOfCredential">
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="i" name="numberOfCredential" direction="out"/>
-    </method>
-        
-    <method name="addAccount">
-      <!--* Add a new account to the SFLphone-daemon list. If no
-	    details are specified, default parameters are used.
-	    A REGISTER is automatically sent and configuration is
-	    saved if account created successfully.
-
-            @param[in] input details
-            @param[out] output accountID
-        -->
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-      <arg type="a{ss}" name="details" direction="in"/>
-      <arg type="s" name="createdAccountId" direction="out"/>
-    </method>
-    
-    <method name="setAccountsOrder">
-      <!--* Update the account list given a new list of accountID. If no account is specified
-	    for a call, the first one in the list will be used.
-
-            @param[in] input order
-        -->
-      <arg type="s" name="order" direction="in"/>
-    </method>
-    
-    <method name="removeAccount">
-      <!--* Delete an account from SFLphone-daemon list and erase
-	    account parameters from configuration file. 
-
-            @param[in] input accountID
-        -->
-      <arg type="s" name="accoundID" direction="in"/>
-    </method>
-    
-    <method name="getAccountList">
-      <!--* Get teh accountlist as stored in SFLphone-daemon.
-
-            @param[in] input accountID
-        -->
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-   
-    <method name="sendRegister">
-      <!--* Send accout registration request to PBX server. Register
-	    the account if expire=1, unregister if expire=0.
-
-            @param[in] input accountID
-        -->
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="i" name="expire" direction="in"/>
-    </method>
-
-   <!--      ///////////////////////               -->
+
+<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+	<interface name="org.sflphone.SFLphone.ConfigurationManager">
+
+		<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+		</tp:docstring>
+
+		<method name="getAccountDetails" tp:name-for-bindings="getAccountDetails">
+			<!--* Method that returns a hashtable containing the current
+			account configuration setting.
+
+		CONFIG_ACCOUNT_ENABLE
+		CONFIG_ACCOUNT_RESOLVE_ONCE
+		CONFIG_ACCOUNT_TYPE
+		HOSTNAME
+		USERNAME
+		PASSWORD
+		REALM
+		AUTHENTICATION_USERNAME
+		CONFIG_ACCOUNT_MAILBOX
+		CONFIG_ACCOUNT_REGISTRATION_EXPIRE
+		LOCAL_INTERFACE
+		PUBLISHED_SAMEAS_LOCAL
+		PUBLISHED_ADDRESS
+		LOCAL_PORT
+		PUBLISHED_PORT
+		DISPLAY_NAME
+		STUN_ENABLE
+		STUN_SERVER
+
+		REGISTRATION_STATUS
+		REGISTRATION_STATE_CODE
+		REGISTRATION_STATE_DESCRIPTION
+		SRTP_KEY_EXCHANGE
+		SRTP_ENABLE
+
+		SRTP_RTP_FALLBACK
+		ZRTP_DISPLAY_SAS
+		ZRTP_DISPLAY_SAS_ONCE
+		ZRTP_HELLO_HASH
+		ZRTP_NOT_SUPP_WARNING
+
+		TLS_LISTENER_PORT
+		TLS_ENABLE
+		TLS_CA_LIST_FILE
+		TLS_CERTIFICATE_FILE
+		TLS_PRIVATE_KEY_FILE
+
+		TLS_METHOD
+		TLS_CIPHERS
+		TLS_SERVER_NAME
+		TLS_VERIFY_SERVER
+		TLS_VERIFY_CLIENT
+		TLS_REQUIRE_CLIENT_CERTIFICATE
+		TLS_NEGOTIATION_TIMEOUT_SEC
+		TLS_NEGOTIATION_TIMEOUT_MSEC
+
+
+			@param[in] input accountID
+			@param[out] output details
+		-->
+	  <arg type="s" name="accountID" direction="in"/>
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+	  <arg type="a{ss}" name="details" direction="out"/>
+  </method>
+
+  <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails">
+	  <!--* Modify the current accout parameter settings given an
+			accountID and a hash table containing the parameters to
+			update. The hash table is not required to be complete,
+			only the parameter to change may be specified. Only the
+			running parameters are updated dynamically, configuration
+			settings are stored in the configuration file when
+			SFLphone-daemon quit.
+
+		For a complete list of account settings refer to getAccountDetails
+
+			@param[in] input accountID
+			@param[in] input details
+		-->
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/>
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="a{ss}" name="details" direction="in"/>
+  </method>
+
+  <method name="setCredential" tp:name-for-bindings="setCredential">
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="i" name="index" direction="in"/>
+	  <arg type="a{ss}" name="credentialInformation" direction="in"/>
+  </method>
+
+  <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential">
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="i" name="number" direction="in"/>
+  </method>
+
+  <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential">
+	  <arg type="s" name="accountID" direction="in"/>
+  </method>
+
+  <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails">
+	  <!--* Specific call to get configuration settings of the
+		IP2IP_PROFILE. Which are sligthly different since no VoIP
+		Account parameters are envolved.
+
+		ACCOUNT_ID
+		SRTP_KEY_EXCHANGE
+		SRTP_ENABLE
+		SRTP_RTP_FALLBACK
+		ZRTP_DISPLAY_SAS
+		ZRTP_HELLO_HASH
+		ZRTP_NOT_SUPP_WARNING
+		ZRTP_DISPLAY_SAS_ONCE
+		LOCAL_INTERFACE
+		LOCAL_PORT
+
+		TLS_LISTENER_PORT
+		TLS_CA_LIST_FILE
+		TLS_CERTIFICATE_FILE
+		TLS_PRIVATE_KEY_FILE
+		TLS_PASSWORD
+		TLS_METHOD
+		TLS_CIPHERS
+		TLS_SERVER_NAME
+		TLS_VERIFY_SERVER
+		TLS_VERIFY_CLIENT
+		TLS_REQUIRE_CLIENT_CERTIFICATE
+		TLS_NEGOTIATION_TIMEOUT_SEC
+		TLS_NEGOTIATION_TIMEOUT_MSEC
+
+			@param[in] input accountID
+			@param[out] output details
+		-->
+	  <arg type="a{ss}" name="details" direction="out"/>
+  </method>
+
+  <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails">
+	  <!--* Modify the IP2IP_PROFILE parameter settings a hash table 
+		containing the parameters to update. The hash table is not required to be complete,
+			only the parameters to be modified may be specified. Also,
+		only the running configuration is updated dynamically, 
+			settings are stored in the configuration file when
+			SFLphone-daemon quit.
+
+		For a complete list of account settings refer to getAccountDetails
+
+			@param[in] input accountID
+			@param[in] input details
+		-->
+	  <arg type="a{ss}" name="details" direction="in"/>
+  </method>
+
+  <method name="getCredential" tp:name-for-bindings="getCredential">
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="i" name="index" direction="in"/>
+	  <arg type="a{ss}" name="credentialInformation" direction="out"/>
+  </method>
+
+  <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential">
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="i" name="numberOfCredential" direction="out"/>
+  </method>
+
+  <method name="addAccount" tp:name-for-bindings="addAccount">
+	  <!--* Add a new account to the SFLphone-daemon list. If no
+		details are specified, default parameters are used.
+		A REGISTER is automatically sent and configuration is
+		saved if account created successfully.
+
+			@param[in] input details
+			@param[out] output accountID
+		-->
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
+	  <arg type="a{ss}" name="details" direction="in"/>
+	  <arg type="s" name="createdAccountId" direction="out"/>
+  </method>
+
+  <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder">
+	  <!--* Update the account list given a new list of accountID. If no account is specified
+		for a call, the first one in the list will be used.
+
+			@param[in] input order
+		-->
+	  <arg type="s" name="order" direction="in"/>
+  </method>
+
+  <method name="removeAccount" tp:name-for-bindings="removeAccount">
+	  <!--* Delete an account from SFLphone-daemon list and erase
+		account parameters from configuration file. 
+
+			@param[in] input accountID
+		-->
+	  <arg type="s" name="accoundID" direction="in"/>
+  </method>
+
+  <method name="getAccountList" tp:name-for-bindings="getAccountList">
+	  <!--* Get teh accountlist as stored in SFLphone-daemon.
+
+			@param[in] input accountID
+		-->
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="sendRegister" tp:name-for-bindings="sendRegister">
+	  <!--* Send accout registration request to PBX server. Register
+		the account if expire=1, unregister if expire=0.
+
+			@param[in] input accountID
+		-->
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="i" name="expire" direction="in"/>
+  </method>
+
+  <!--      ///////////////////////               -->
 
   <!-- Various audio-related methods   -->
- 
-    <method name="getToneLocaleList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-  
-    <method name="getVersion">
-      <arg type="s" name="version" direction="out"/>
-    </method>
-    
-    <method name="getRingtoneList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-   
-    <method name="getPlaybackDeviceList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="getRecordDeviceList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="isRingtoneEnabled">
-      <arg type="i" name="bool" direction="out"/>
-    </method>
-
-    <method name="ringtoneEnabled">
-    </method>
-
-    <method name="getRingtoneChoice">
-      <arg type="s" name="tone" direction="out"/>
-    </method>
-
-    <method name="setRingtoneChoice">
-      <arg type="s" name="tone" direction="in"/>
-    </method>
-
-    <method name="getAudioManager">
-      <arg type="i" name="api" direction="out"/>
-    </method>
-
-    <method name="setAudioManager">
-      <arg type="i" name="api" direction="in"/>
-    </method>
-    
-    <method name="getRecordPath">
-      <arg type="s" name="rec" direction="out"/>
-    </method>
-
-    <method name="setRecordPath">
-      <arg type="s" name="rec" direction="in"/>
-    </method>
-
-   <!--      ///////////////////////               -->
-   
-   <!-- Codecs-related methods -->
- 
-    <method name="getCodecList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-       
-   <method name="getCodecDetails">
-     <arg type="i" name="payload" direction="in"/>
-     <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-     <arg type="as" name="details" direction="out"/>
-   </method>
- 
-    <method name="getActiveCodecList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+
+  <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getVersion" tp:name-for-bindings="getVersion">
+	  <arg type="s" name="version" direction="out"/>
+  </method>
+
+  <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled">
+	  <arg type="i" name="bool" direction="out"/>
+  </method>
+
+  <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled">
+  </method>
+
+  <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice">
+	  <arg type="s" name="tone" direction="out"/>
+  </method>
+
+  <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice">
+	  <arg type="s" name="tone" direction="in"/>
+  </method>
+
+  <method name="getAudioManager" tp:name-for-bindings="getAudioManager">
+	  <arg type="i" name="api" direction="out"/>
+  </method>
+
+  <method name="setAudioManager" tp:name-for-bindings="setAudioManager">
+	  <arg type="i" name="api" direction="in"/>
+  </method>
+
+  <method name="getRecordPath" tp:name-for-bindings="getRecordPath">
+	  <arg type="s" name="rec" direction="out"/>
+  </method>
+
+  <method name="setRecordPath" tp:name-for-bindings="setRecordPath">
+	  <arg type="s" name="rec" direction="in"/>
+  </method>
+
+  <!--      ///////////////////////               -->
+
+  <!-- Codecs-related methods -->
+
+  <method name="getCodecList" tp:name-for-bindings="getCodecList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails">
+	  <arg type="i" name="payload" direction="in"/>
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="details" direction="out"/>
+  </method>
+
+  <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
 	  <arg type="s" name="accountID" direction="in"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="setActiveCodecList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/>
-      <arg type="as" name="list" direction="in"/>
-      <arg type="s" name="accountID" direction="in"/>
-    </method>
-
-
-	<!-- Audio devices methods -->
-	
-    <method name="getInputAudioPluginList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-		
-    <method name="getOutputAudioPluginList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="setInputAudioPlugin">
-      <arg type="s" name="audioPlugin" direction="in"/>
-    </method>
-    
-    <method name="setOutputAudioPlugin">
-      <arg type="s" name="audioPlugin" direction="in"/>
-    </method>
-    
-    <method name="getAudioOutputDeviceList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="setAudioOutputDevice">
-      <arg type="i" name="index" direction="in"/>
-    </method>
-    
-    <method name="getAudioInputDeviceList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="setAudioInputDevice">
-      <arg type="i" name="index" direction="in"/>
-    </method>
-    
-    <method name="getCurrentAudioDevicesIndex">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="getAudioDeviceIndex">
-      <arg type="s" name="name" direction="in"/>
-      <arg type="i" name="index" direction="out"/>
-    </method>
-
-    <method name="getCurrentAudioOutputPlugin">
-      <arg type="s" name="plugin" direction="out"/>
-    </method>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/>
+	  <arg type="as" name="list" direction="in"/>
+	  <arg type="s" name="accountID" direction="in"/>
+  </method>
+
+
+  <!-- Audio devices methods -->
+
+  <method name="getInputAudioPluginList" tp:name-for-bindings="getInputAudioPluginList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getOutputAudioPluginList" tp:name-for-bindings="getOutputAudioPluginList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin">
+	  <arg type="s" name="audioPlugin" direction="in"/>
+  </method>
+
+  <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin">
+	  <arg type="s" name="audioPlugin" direction="in"/>
+  </method>
+
+  <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice">
+	  <arg type="i" name="index" direction="in"/>
+  </method>
+
+  <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice">
+	  <arg type="i" name="index" direction="in"/>
+  </method>
+
+  <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex">
+	  <arg type="s" name="name" direction="in"/>
+	  <arg type="i" name="index" direction="out"/>
+  </method>
+
+  <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin">
+	  <arg type="s" name="plugin" direction="out"/>
+  </method>
 
   <!--    General Settings Panel         -->
 
-    <method name="isMd5CredentialHashing">
-      <arg type="b" name="res" direction="out"/>
-    </method>
-
-    <method name="setMd5CredentialHashing">
-      <arg type="b" name="enabled" direction="in"/>
-    </method>
-     
-    <method name="isIax2Enabled">
-      <arg type="i" name="res" direction="out"/>
-    </method>
-
-    <method name="setNotify">
-    </method>
-
-    <method name="getNotify">
-      <arg type="i" name="level" direction="out"/>
-    </method>
-
-    <method name="setMailNotify">
-    </method>
-
-    <method name="getMailNotify">
-      <arg type="i" name="level" direction="out"/>
-    </method>
-
-    <method name="getDialpad">
-      <arg type="i" name="state" direction="out"/>
-    </method>
-
-    <method name="setDialpad">
-      <arg type="b" name="display" direction="in"/>
-    </method>
-
-    <method name="getSearchbar">
-      <arg type="i" name="state" direction="out"/>
-    </method>
-
-    <method name="setSearchbar">
-    </method>
-
-    <method name="setHistoryEnabled">
-    </method>
-
-    <method name="getHistoryEnabled">
-      <arg type="s" name="state" direction="out"/>
-    </method>
-
-    <method name="getVolumeControls">
-      <arg type="i" name="state" direction="out"/>
-    </method>
-
-    <method name="setVolumeControls">
-      <arg type="b" name="display" direction="in"/>
-    </method>
-
-    <method name="getHistoryLimit">
-      <arg type="i" name="days" direction="out"/>
-    </method>
-
-    <method name="setHistoryLimit">
-      <arg type="i" name="days" direction="in"/>
-    </method>
-
-    <method name="startHidden">
-    </method>
-
-    <method name="isStartHidden">
-      <arg type="i" name="state" direction="out"/>
-    </method>
-
-    <method name="popupMode">
-      <arg type="i" name="state" direction="out"/>
-    </method>
-
-    <method name="switchPopupMode">
-    </method>
-
-	<method name="getWindowWidth">
-      <arg type="i" name="width" direction="out"/>
-	</method>
-
-	<method name="getWindowHeight">
-      <arg type="i" name="height" direction="out"/>
-	</method>
-
-	<method name="setWindowWidth">
-      <arg type="i" name="width" direction="in"/>
-	</method>
-
-	<method name="setWindowHeight">
-      <arg type="i" name="height" direction="in"/>
-	</method>
-
-	<method name="getWindowPositionX">
-      <arg type="i" name="posX" direction="out"/>
-	</method>
-		
-	<method name="setWindowPositionX">
-      <arg type="i" name="posX" direction="in"/>
-	</method>
-		
-	<method name="getWindowPositionY">
-      <arg type="i" name="posY" direction="out"/>
-	</method>
-		
-	<method name="setWindowPositionY">
-      <arg type="i" name="posY" direction="in"/>
-	</method>
-	
-	<method name="enableStatusIcon">
-      <arg type="s" name="value" direction="in"/>
-	</method>
-		
-	<method name="isStatusIconEnabled">
-      <arg type="s" name="value" direction="out"/>
-	</method>
-	
-	
-    <!-- Addressbook configuration -->
-    <method name="getAddressbookSettings">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/>
-      <arg type="a{si}" name="settings" direction="out"/>
-    </method>
-
-    <method name="setAddressbookSettings">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/>
-      <arg type="a{si}" name="settings" direction="in"/>
-    </method>
-
-	<!-- Addressbook list -->
-    <method name="getAddressbookList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="settings" direction="out"/>
-    </method>
-
-    <method name="setAddressbookList">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/>
-      <arg type="as" name="settings" direction="in"/>
-    </method>
-
-    <!-- Hook configuration -->
-    <method name="getHookSettings">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="settings" direction="out"/>
-    </method>
-
-    <method name="setHookSettings">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-      <arg type="a{ss}" name="settings" direction="in"/>
-    </method>
-
-    <method name="getHistory">
-        <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-        <arg type="a{ss}" name="entries" direction="out"/>
-    </method>
-
-    <method name="setHistory">
-        <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
-        <arg type="a{ss}" name="entries" direction="in"/>
-    </method>
-      
-    <signal name="accountsChanged">
-    </signal>  
-
-    <signal name="errorAlert">
-      <arg type="i" name="code" direction="out"/>
-    </signal> 
-    
-    <!-- TLS Methods -->
-    <method name="getSupportedTlsMethod">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="getTlsSettingsDefault">
-      <arg type="a{ss}" name="details" direction="out"/>
-    </method>
-
-    <method name="getTlsSettings">
-      <arg type="s" name="accountID" direction="in"/>
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
-      <arg type="a{ss}" name="details" direction="out"/>
-    </method>
-    
-    <method name="setTlsSettings">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/>
-      <arg type="s" name="accountID" direction="in"/>
-      <arg type="a{ss}" name="details" direction="in"/>
-    </method>
-
-    <method name="getAddrFromInterfaceName">
-      <arg type="s" name="interface" direction="in"/>
-      <arg type="s" name="address" direction="out"/>
-    </method>
-
-    <method name="getAllIpInterface">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-
-    <method name="getAllIpInterfaceByName">
-      <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
-      <arg type="as" name="list" direction="out"/>
-    </method>
-    
-    <method name="getShortcuts">
-      <arg type="a{si}" name="shortcutsMap" direction="out"/>
-    </method>
-    
-    <method name="setShortcuts">
-      <arg type="a{si}" name="shortcutsMap" direction="in"/>
-    </method>
+  <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing">
+	  <arg type="b" name="res" direction="out"/>
+  </method>
+
+  <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing">
+	  <arg type="b" name="enabled" direction="in"/>
+  </method>
+
+  <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled">
+	  <arg type="i" name="res" direction="out"/>
+  </method>
+
+  <method name="setNotify" tp:name-for-bindings="setNotify">
+  </method>
+
+  <method name="getNotify" tp:name-for-bindings="getNotify">
+	  <arg type="i" name="level" direction="out"/>
+  </method>
+
+  <method name="setMailNotify" tp:name-for-bindings="setMailNotify">
+  </method>
+
+  <method name="getMailNotify" tp:name-for-bindings="getMailNotify">
+	  <arg type="i" name="level" direction="out"/>
+  </method>
+
+  <method name="getDialpad" tp:name-for-bindings="getDialpad">
+	  <arg type="i" name="state" direction="out"/>
+  </method>
+
+  <method name="setDialpad" tp:name-for-bindings="setDialpad">
+	  <arg type="b" name="display" direction="in"/>
+  </method>
+
+  <method name="getSearchbar" tp:name-for-bindings="getSearchbar">
+	  <arg type="i" name="state" direction="out"/>
+  </method>
+
+  <method name="setSearchbar" tp:name-for-bindings="setSearchbar">
+  </method>
+
+  <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled">
+  </method>
+
+  <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled">
+	  <arg type="s" name="state" direction="out"/>
+  </method>
+
+  <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls">
+	  <arg type="i" name="state" direction="out"/>
+  </method>
+
+  <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls">
+	  <arg type="b" name="display" direction="in"/>
+  </method>
+
+  <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit">
+	  <arg type="i" name="days" direction="out"/>
+  </method>
+
+  <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit">
+	  <arg type="i" name="days" direction="in"/>
+  </method>
+
+  <method name="startHidden" tp:name-for-bindings="startHidden">
+  </method>
+
+  <method name="isStartHidden" tp:name-for-bindings="isStartHidden">
+	  <arg type="i" name="state" direction="out"/>
+  </method>
+
+  <method name="popupMode" tp:name-for-bindings="popupMode">
+	  <arg type="i" name="state" direction="out"/>
+  </method>
+
+  <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode">
+  </method>
+
+  <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth">
+	  <arg type="i" name="width" direction="out"/>
+  </method>
+
+  <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight">
+	  <arg type="i" name="height" direction="out"/>
+  </method>
+
+  <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth">
+	  <arg type="i" name="width" direction="in"/>
+  </method>
+
+  <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight">
+	  <arg type="i" name="height" direction="in"/>
+  </method>
+
+  <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX">
+	  <arg type="i" name="posX" direction="out"/>
+  </method>
+
+  <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX">
+	  <arg type="i" name="posX" direction="in"/>
+  </method>
+
+  <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY">
+	  <arg type="i" name="posY" direction="out"/>
+  </method>
+
+  <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY">
+	  <arg type="i" name="posY" direction="in"/>
+  </method>
+
+  <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon">
+	  <arg type="s" name="value" direction="in"/>
+  </method>
+
+  <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled">
+	  <arg type="s" name="value" direction="out"/>
+  </method>
+
+
+  <!-- Addressbook configuration -->
+  <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/>
+	  <arg type="a{si}" name="settings" direction="out"/>
+  </method>
+
+  <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/>
+	  <arg type="a{si}" name="settings" direction="in"/>
+  </method>
+
+  <!-- Addressbook list -->
+  <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="settings" direction="out"/>
+  </method>
+
+  <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/>
+	  <arg type="as" name="settings" direction="in"/>
+  </method>
+
+  <!-- Hook configuration -->
+  <method name="getHookSettings" tp:name-for-bindings="getHookSettings">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+	  <arg type="a{ss}" name="settings" direction="out"/>
+  </method>
+
+  <method name="setHookSettings" tp:name-for-bindings="setHookSettings">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
+	  <arg type="a{ss}" name="settings" direction="in"/>
+  </method>
+
+  <method name="getHistory" tp:name-for-bindings="getHistory">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+	  <arg type="a{ss}" name="entries" direction="out"/>
+  </method>
+
+  <method name="setHistory" tp:name-for-bindings="setHistory">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
+	  <arg type="a{ss}" name="entries" direction="in"/>
+  </method>
+
+  <signal name="accountsChanged" tp:name-for-bindings="accountsChanged">
+  </signal>  
+
+  <signal name="errorAlert" tp:name-for-bindings="errorAlert">
+	  <arg type="i" name="code"/>
+  </signal> 
+
+  <!-- TLS Methods -->
+  <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault">
+	  <arg type="a{ss}" name="details" direction="out"/>
+  </method>
+
+  <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings">
+	  <arg type="s" name="accountID" direction="in"/>
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
+	  <arg type="a{ss}" name="details" direction="out"/>
+  </method>
+
+  <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/>
+	  <arg type="s" name="accountID" direction="in"/>
+	  <arg type="a{ss}" name="details" direction="in"/>
+  </method>
+
+  <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName">
+	  <arg type="s" name="interface" direction="in"/>
+	  <arg type="s" name="address" direction="out"/>
+  </method>
+
+  <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName">
+	  <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
+	  <arg type="as" name="list" direction="out"/>
+  </method>
+
+  <method name="getShortcuts" tp:name-for-bindings="getShortcuts">
+	  <arg type="a{si}" name="shortcutsMap" direction="out"/>
+  </method>
+
+  <method name="setShortcuts" tp:name-for-bindings="setShortcuts">
+	  <arg type="a{si}" name="shortcutsMap" direction="in"/>
+  </method>
   </interface>
 </node>
diff --git a/sflphone-common/src/dbus/instance-introspec.xml b/sflphone-common/src/dbus/instance-introspec.xml
index 90a60d632d04ca83039efcadcfa2f4981bfda39e..6d8879e622cb5dc2cfdc23c4333e29f89870df5e 100644
--- a/sflphone-common/src/dbus/instance-introspec.xml
+++ b/sflphone-common/src/dbus/instance-introspec.xml
@@ -1,18 +1,46 @@
 <?xml version="1.0" ?>
-<node name="/org/sflphone/SFLphone">
-  <interface name="org.sflphone.SFLphone.Instance">
-  
-    <method name="Register">
-      <arg type="i" name="pid" direction="in"/>
-      <arg type="s" name="name" direction="in"/>
-    </method>
-    
-    <method name="Unregister">
-      <arg type="i" name="pid" direction="in"/>
-    </method>
-    
-    <method name="getRegistrationCount">
-      <arg type="i" name="count" direction="out"/>
-    </method>
-  </interface>
+<node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+	<interface name="org.sflphone.SFLphone.Instance">
+		<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+		<p>Instances Manager to handle multiple client connections to the core.</p>
+		</tp:docstring>
+		<method name="Register" tp:name-for-bindings="Register">
+			<tp:docstring>
+				Register a new client to the core. Increments the registration count.
+			</tp:docstring>
+			<arg type="i" name="pid" direction="in">
+				<tp:docstring>
+					The pid of the client process
+				</tp:docstring>
+			</arg>
+			<arg type="s" name="name" direction="in">
+				<tp:docstring>
+					The name of the client
+				</tp:docstring>
+			</arg>
+		</method>
+		<method name="Unregister" tp:name-for-bindings="Unregister">
+			<tp:docstring>
+				Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits.
+			</tp:docstring>
+			<arg type="i" name="pid" direction="in">
+				<tp:docstring>
+					The pid of the client process
+				</tp:docstring>
+			</arg>
+		</method>
+
+		<method name="getRegistrationCount" tp:name-for-bindings="getRegistrationCount">
+			<tp:docstring>
+				Get the number of connected clients.
+			</tp:docstring>
+		      <arg type="i" name="count" direction="out">
+				<tp:docstring>
+					The number of client currently connected to the core
+				</tp:docstring>
+				</arg>
+		</method>
+
+
+    </interface>
 </node>