diff --git a/sflphone-client-gnome/src/dbus/callmanager-introspec.xml b/sflphone-client-gnome/src/dbus/callmanager-introspec.xml index 3d1720ac18676692e6e84ea7db212c83d6f2be12..534bde252d506dcda4b622b0667c7b86005d8510 100644 --- a/sflphone-client-gnome/src/dbus/callmanager-introspec.xml +++ b/sflphone-client-gnome/src/dbus/callmanager-introspec.xml @@ -1,252 +1,699 @@ -<?xml version="1.0" ?> -<node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.CallManager"> - - <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="refuse"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="accept"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUp"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUpConference"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="hold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="unhold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="transfert"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="playDTMF"> - <arg type="s" name="key" direction="in"/> - </method> - - <method name="startTone"> - <arg type="i" name="start" direction="in"/> - <arg type="i" name="type" direction="in"/> - </method> - - <method name="setVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> - </method> - - <method name="getVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> - </method> - - <method name="joinParticipant"> - <arg type="s" name="sel_callID" direction="in"/> - <arg type="s" name="drag_callID" direction="in"/> - </method> - - <method name="addParticipant"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="addMainParticipant"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="detachParticipant"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="joinConference"> - <arg type="s" name="sel_confID" direction="in"/> - <arg type="s" name="drag_confID" direction="in"/> - </method> - - <method name="getConferenceDetails"> - <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"> - <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"> - <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"> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCurrentCallID"> - <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"> - <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"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="conferenceChanged"> - <arg type="s" name="confID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <method name="getParticipantList"> - <arg type="s" name="confID" direction="in"/> - <arg type="as" name="list" direction="out"/> - </method> - - <signal name="conferenceCreated"> - <arg type="s" name="confID" direction="out"/> - </signal> - - <signal name="conferenceRemoved"> - <arg type="s" name="confID" direction="out"/> - </signal> - - <method name="holdConference"> - <arg type="s" name="confID" direction="in"/> - </method> - - <method name="unholdConference"> - <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="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> - - <!-- SRTP related methods and signals --> - <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> - - <signal name="secureSdesOn"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <signal name="secureSdesOff"> - <arg type="s" name="callID" direction="out" /> - </signal> - - <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="showSAS"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="sas" direction="out" /> - <arg type="b" name="verified" direction="out" /> - </signal> - - <signal name="zrtpNotSuppOther"> - <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="confirmGoClear"> - <arg type="s" name="callID" direction="out" /> - </signal> - -<!-- - <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> +<?xml version="1.0" encoding="UTF-8" ?> + +<node name="/callmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> + <interface name="org.sflphone.SFLphone.CallManager"> + + <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> + + <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> + + <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> + + </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-client-gnome/src/dbus/configurationmanager-introspec.xml b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml index 0b66386689b19c9612c175bb562cce576fad7319..8d8dcf9468526693cbaa6b74e668247fb0485919 100644 --- a/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml @@ -1,568 +1,1019 @@ <?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> - - <!-- /////////////////////// --> - - <!-- 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"/> - <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> - - <!-- 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> - </interface> -</node> +<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"> + Used to handle the configuration stuff: accounts settings, account registration, user preferences, ... + </tp:docstring> + + <method name="getAccountDetails" tp:name-for-bindings="getAccountDetails"> + <tp:docstring> + Get all parameters of the specified account. + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + The available keys / parameters are: + <ul> + <li>CONFIG_ACCOUNT_ENABLE: True or False (Default: True)</li> + <li>CONFIG_ACCOUNT_RESOLVE_ONCE</li> + <li>CONFIG_ACCOUNT_TYPE: SIP or IAX2 (Default: SIP)</li> + <li>HOSTNAME: The IP adress or hostname of the registrar</li> + <li>USERNAME: The username (or extension) of the account</li> + <li>PASSWORD: The password associated to the account</li> + <li>REALM</li> + <li>AUTHENTICATION_USERNAME</li> + <li>CONFIG_ACCOUNT_MAILBOX: Number to dial to access the voicemail box</li> + <li>CONFIG_ACCOUNT_REGISTRATION_EXPIRE: SIP header expiration value (Default: 1600)</li> + <li>LOCAL_INTERFACE: The network interface (Default: eth0)</li> + <li>PUBLISHED_SAMEAS_LOCAL: If False, the published address equals the local address. This is the default.</li> + <li>PUBLISHED_ADDRESS: The SIP published address</li> + <li>LOCAL_PORT: The SIP listening port (Default: 5060)</li> + <li>PUBLISHED_PORT: The SIP published port</li> + <li>DISPLAY_NAMEL: The display name</li> + <li>STUN_ENABLE: True or False (Default: False)</li> + <li>STUN_SERVER: The STUN server address</li> + <li>REGISTRATION_STATUS: The account registration status. Should be Registered to make calls.</li> + <li>REGISTRATION_STATE_CODE</li> + <li>REGISTRATION_STATE_DESCRIPTION</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE: Whether or not voice communication are encrypted - True or False (Default: False)</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>TLS_LISTENER_PORT: TLS listening port (Default: 5061)</li> + <li>TLS_ENABLE: Whether or not signalling is encrypted - True or False (Default: False)</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setAccountDetails" tp:name-for-bindings="setAccountDetails"> + <tp:docstring> + Send new account parameters, or account parameters changes, to the core. The hash table is not required to be complete, only the updated parameters may be specified. + <tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale> + <tp:rationale>After calling this method, the core will emit the signal <tp:member-ref>accountsChanged</tp:member-ref> with the updated data. The client must subscribe to this signal and use it to update its internal data structure.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setCredential" tp:name-for-bindings="setCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNumberOfCredential" tp:name-for-bindings="setNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="number" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="deleteAllCredential" tp:name-for-bindings="deleteAllCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <tp:docstring> + Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>--> + <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> + <tp:docstring> + Available parameters are: + <ul> + <li>ACCOUNT_ID</li> + <li>SRTP_KEY_EXCHANGE</li> + <li>SRTP_ENABLE</li> + <li>SRTP_RTP_FALLBACK</li> + <li>ZRTP_DISPLAY_SAS</li> + <li>ZRTP_HELLO_HASH</li> + <li>ZRTP_NOT_SUPP_WARNING</li> + <li>ZRTP_DISPLAY_SAS_ONCE</li> + <li>LOCAL_INTERFACE</li> + <li>LOCAL_PORT</li> + <li>TLS_LISTENER_PORT</li> + <li>TLS_CA_LIST_FILE</li> + <li>TLS_CERTIFICATE_FILE</li> + <li>TLS_PRIVATE_KEY_FILE</li> + <li>TLS_PASSWORD</li> + <li>TLS_METHOD</li> + <li>TLS_CIPHERS</li> + <li>TLS_SERVER_NAME</li> + <li>TLS_VERIFY_SERVER</li> + <li>TLS_VERIFY_CLIENT</li> + <li>TLS_REQUIRE_CLIENT_CERTIFICATE</li> + <li>TLS_NEGOTIATION_TIMEOUT_SEC</li> + <li>TLS_NEGOTIATION_TIMEOUT_MSEC</li> + </ul> + </tp:docstring> + </arg> + </method> + + <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <tp:docstring> + Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile. + </tp:docstring> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference. + </tp:docstring> + </arg> + </method> + + <method name="getCredential" tp:name-for-bindings="getCredential"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="credentialInformation" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getNumberOfCredential" tp:name-for-bindings="getNumberOfCredential"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="numberOfCredential" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="addAccount" tp:name-for-bindings="addAccount"> + <tp:docstring> + Add a new account. When created, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + <tp:rationale>If no details are specified, the default parameters are used.</tp:rationale> + <tp:rationale>The core tries to register the account as soon it is created.</tp:rationale> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <tp:docstring> + The new account settings + </tp:docstring> + </arg> + <arg type="s" name="createdAccountId" direction="out"> + <tp:docstring> + A new account ID + </tp:docstring> + </arg> + </method> + + <method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder"> + <tp:docstring> + Update the accounts order. + <tp:rationale>When placing a call, the first registered account in the list is used.</tp:rationale> + </tp:docstring> + <arg type="s" name="order" direction="in"> + <tp:docstring> + An ordered list of account IDs, delimited by '/' + </tp:docstring> + </arg> + </method> + + <method name="removeAccount" tp:name-for-bindings="removeAccount"> + <tp:docstring> + Remove an existing account. When removed, the signal <tp:member-ref>accountsChanged</tp:member-ref> is emitted. The clients must then call <tp:member-ref>getAccountList</tp:member-ref> to update their internal data structure. + </tp:docstring> + <arg type="s" name="accoundID" direction="in"> + <tp:docstring> + The account to remove, identified by its ID + </tp:docstring> + </arg> + </method> + + <method name="getAccountList" tp:name-for-bindings="getAccountList"> + <tp:docstring> + Get a list of all created accounts, as stored by the core. + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + A list of account IDs + </tp:docstring> + </arg> + </method> + + <method name="sendRegister" tp:name-for-bindings="sendRegister"> + <tp:docstring> + Send account registration (REGISTER) to the registrar. + </tp:docstring> + the account if expire=1, unregister if expire=0. + + @param[in] input accountID + --> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="i" name="expire" direction="in"> + <tp:docstring> + <p>To register, expire must be 1.</p> + <p>To un-register, expire must be 0.</p> + </tp:docstring> + </arg> + </method> + + <method name="getToneLocaleList" tp:name-for-bindings="getToneLocaleList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVersion" tp:name-for-bindings="getVersion"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="version" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getPlaybackDeviceList" tp:name-for-bindings="getPlaybackDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordDeviceList" tp:name-for-bindings="getRecordDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="bool" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="ringtoneEnabled" tp:name-for-bindings="ringtoneEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getRingtoneChoice" tp:name-for-bindings="getRingtoneChoice"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="tone" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRingtoneChoice" tp:name-for-bindings="setRingtoneChoice"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="tone" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="api" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="rec" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList" tp:name-for-bindings="getCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="payload" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getActiveCodecList" tp:name-for-bindings="getActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveCodecList" tp:name-for-bindings="setActiveCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Audio devices methods --> + + <method name="getInputAudioPluginList" tp:name-for-bindings="getInputAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getOutputAudioPluginList" tp:name-for-bindings="getOutputAudioPluginList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setInputAudioPlugin" tp:name-for-bindings="setInputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setOutputAudioPlugin" tp:name-for-bindings="setOutputAudioPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="audioPlugin" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="name" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="plugin" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- General Settings Panel --> + + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNotify" tp:name-for-bindings="setNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getNotify" tp:name-for-bindings="getNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="level" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="display" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="days" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="startHidden" tp:name-for-bindings="startHidden"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="popupMode" tp:name-for-bindings="popupMode"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> + <tp:docstring> + </tp:docstring> + </method> + + <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="width" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="height" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="width" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="height" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posX" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posX" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posY" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="posY" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="value" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="value" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookSettings" tp:name-for-bindings="setAddressbookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList" tp:name-for-bindings="getAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAddressbookList" tp:name-for-bindings="setAddressbookList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- Hook configuration --> + <method name="getHookSettings" tp:name-for-bindings="getHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHookSettings" tp:name-for-bindings="setHookSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getHistory" tp:name-for-bindings="getHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setHistory" tp:name-for-bindings="setHistory"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <signal name="accountsChanged" tp:name-for-bindings="accountsChanged"> + </signal> + + <signal name="errorAlert" tp:name-for-bindings="errorAlert"> + <arg type="i" name="code"> + <tp:docstring> + </tp:docstring> + </arg> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getTlsSettings" tp:name-for-bindings="getTlsSettings"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setTlsSettings" tp:name-for-bindings="setTlsSettings"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="a{ss}" name="details" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="interface" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="s" name="address" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <tp:docstring> + </tp:docstring> + <arg type="a{si}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + </interface> + </node> diff --git a/sflphone-client-gnome/src/dbus/instance-introspec.xml b/sflphone-client-gnome/src/dbus/instance-introspec.xml index 90a60d632d04ca83039efcadcfa2f4981bfda39e..4b7d075cd87112df83744e3740f892d4f1cb26e5 100644 --- a/sflphone-client-gnome/src/dbus/instance-introspec.xml +++ b/sflphone-client-gnome/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>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</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> diff --git a/sflphone-common/src/dbus/configurationmanager-introspec.xml b/sflphone-common/src/dbus/configurationmanager-introspec.xml index 481dfe6934968da6ae7b934963b4ff9fab64877e..8d8dcf9468526693cbaa6b74e668247fb0485919 100644 --- a/sflphone-common/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-common/src/dbus/configurationmanager-introspec.xml @@ -1,5 +1,4 @@ <?xml version="1.0" ?> - <node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.ConfigurationManager"> @@ -87,7 +86,7 @@ <method name="setCredential" tp:name-for-bindings="setCredential"> <tp:docstring> </tp:docstring> - + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> <arg type="s" name="accountID" direction="in"> <tp:docstring> </tp:docstring> @@ -128,6 +127,8 @@ <tp:docstring> Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved. </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <!--<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>--> <arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map"> <tp:docstring> Available parameters are: @@ -161,10 +162,11 @@ </method> <method name="setIp2IpDetails" tp:name-for-bindings="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> <tp:docstring> Same as <tp:member-ref>getAccountDetails</tp:member-ref>, but for the IP-to-IP profile. </tp:docstring> - <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> + <arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map"> <tp:docstring> The map of parameters. See <tp:member-ref>getIp2IpDetails</tp:member-ref> for complete reference. </tp:docstring> @@ -174,6 +176,7 @@ <method name="getCredential" tp:name-for-bindings="getCredential"> <tp:docstring> </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> <arg type="s" name="accountID" direction="in"> <tp:docstring> </tp:docstring> @@ -297,12 +300,10 @@ <method name="getRingtoneList" tp:name-for-bindings="getRingtoneList"> <tp:docstring> - Get the list of available ringtones. </tp:docstring> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"> <tp:docstring> - A list of path. </tp:docstring> </arg> </method> @@ -329,11 +330,9 @@ <method name="isRingtoneEnabled" tp:name-for-bindings="isRingtoneEnabled"> <tp:docstring> - Whether or not to play a custom ringtone. </tp:docstring> <arg type="i" name="bool" direction="out"> - <tp:docstring> - If false, the standart tone is played on incoming calls. + <tp:docstring> </tp:docstring> </arg> </method> @@ -363,73 +362,59 @@ <method name="getAudioManager" tp:name-for-bindings="getAudioManager"> <tp:docstring> - Get the current audio manager. </tp:docstring> <arg type="i" name="api" direction="out"> <tp:docstring> - <ul> - <li>0: ALSA </li> - <li>1: Pulseaudio </li> - </ul> </tp:docstring> </arg> </method> <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> <tp:docstring> - Switch audio manager. </tp:docstring> <arg type="i" name="api" direction="in"> <tp:docstring> - <p>The ID of the audio manager to use.</p> - <p>Refer to <tp:member-ref>getAudioManager</tp:member-ref> for possible values.</p> </tp:docstring> </arg> </method> <method name="getRecordPath" tp:name-for-bindings="getRecordPath"> <tp:docstring> - Get the path where to save the recorded calls. </tp:docstring> <arg type="s" name="rec" direction="out"> <tp:docstring> - A path. </tp:docstring> </arg> </method> <method name="setRecordPath" tp:name-for-bindings="setRecordPath"> <tp:docstring> - Change the path where save recorded calls. </tp:docstring> <arg type="s" name="rec" direction="in"> <tp:docstring> - The new path. </tp:docstring> </arg> </method> + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + <method name="getCodecList" tp:name-for-bindings="getCodecList"> <tp:docstring> - Get the core audio codec capabilities. </tp:docstring> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"> <tp:docstring> - A list of codecs, identified by their RTP payload, delimited by '/' </tp:docstring> </arg> </method> <method name="getCodecDetails" tp:name-for-bindings="getCodecDetails"> <tp:docstring> - Get specification details provided - codec's RTP payload. </tp:docstring> <arg type="i" name="payload" direction="in"> <tp:docstring> - A list of codec specification details: - Name, Samplerate, Bit rate, Bandwidth. </tp:docstring> </arg> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> @@ -445,14 +430,10 @@ <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="s" name="accountID" direction="in"> <tp:docstring> - Currently activated codec listed as there - preference. This is the list used for - codec negotiation. </tp:docstring> </arg> <arg type="as" name="list" direction="out"> <tp:docstring> - A list of codecs, identified by their RTP payload, delimited by '/' </tp:docstring> </arg> </method> @@ -463,25 +444,23 @@ <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> <arg type="as" name="list" direction="in"> <tp:docstring> - Set the active codec list used for codec negotiation. </tp:docstring> </arg> <arg type="s" name="accountID" direction="in"> <tp:docstring> - A list of codecs, identified by their RTP payload, delimited by '/' </tp:docstring> </arg> </method> <!-- Audio devices methods --> + <method name="getInputAudioPluginList" tp:name-for-bindings="getInputAudioPluginList"> <tp:docstring> </tp:docstring> <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> <arg type="as" name="list" direction="out"> <tp:docstring> - </tp:docstring> </arg> </method> @@ -947,6 +926,7 @@ </method> <method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> <tp:docstring> </tp:docstring> <arg type="a{ss}" name="details" direction="out"> @@ -1017,6 +997,7 @@ </method> <method name="getShortcuts" tp:name-for-bindings="getShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> <tp:docstring> </tp:docstring> <arg type="a{si}" name="shortcutsMap" direction="out"> @@ -1026,6 +1007,7 @@ </method> <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> <tp:docstring> </tp:docstring> <arg type="a{si}" name="shortcutsMap" direction="in">