diff --git a/daemon/src/dbus/callmanager-introspec.xml b/daemon/src/dbus/callmanager-introspec.xml index 46cec40068df52b9d16a50324c3947821ed7f443..5c38193ffd3c052277144268894d904dc376ab44 100644 --- a/daemon/src/dbus/callmanager-introspec.xml +++ b/daemon/src/dbus/callmanager-introspec.xml @@ -1,825 +1,781 @@ <?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 and conference 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="transfer" tp:name-for-bindings="transfer"> - <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="attendedTransfer" tp:name-for-bindings="attendedTransfer"> - <tp:docstring> - Perform an attended transfer on two calls - </tp:docstring> - <arg type="s" name="transferID" direction="in"> - <tp:docstring> - The callID of the call to be transfered. - </tp:docstring> - </arg> - <arg type="s" name="targetID" direction="in"> - <tp:docstring> - The callID of the target call. - </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> + <interface name="org.sflphone.SFLphone.CallManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage call and conference related actions.</p> + <p>Since SFLphone-daemon supports 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 for generating the callID on outgoing calls. Conversely, SFLphone-daemon will generate a unique callID for 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 with the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account with which you want to make a call. If the call is to be placed without any account by means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details on 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 first registered account in the account list. + <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 puts the current call on 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> + Take a call off hold, and place this call in state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfer" tp:name-for-bindings="transfer"> + <tp:docstring> + Transfer a call to the 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 which the call will be transferred. + </tp:docstring> + </arg> + </method> + + <method name="attendedTransfer" tp:name-for-bindings="attendedTransfer"> + <tp:docstring> + Perform an attended transfer on two calls. + </tp:docstring> + <arg type="s" name="transferID" direction="in"> + <tp:docstring> + The callID of the call to be transfered. + </tp:docstring> + </arg> + <arg type="s" name="targetID" direction="in"> + <tp:docstring> + The callID of the target call. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dialtones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode character 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="createConfFromParticipantList" tp:name-for-bindings="createConfFromParticipantList"> - <tp:added version="0.9.14"/> - <tp:docstring> - <p>Create a conference from a list of participant</p> - <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> - </tp:docstring> - <arg type="as" name="participants" 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 conference 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: - <ul> - <li>ACTIVE_ATTACHED</li> - <li>ACTIVE_DETACHED</li> - <li>HOLD</li> - </ul> - </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:rationale>To update client status, one should - use <tp:member-ref>getParticipantList</tp:member-ref> - with provided conference IDs.</tp:rationale> - </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> - - <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> - <tp:docstring> - Once after starting recording for the first time, this signal is emited to - provide the recorded file path to client application. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="filepath"/> - </signal> - - <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> - <tp:docstring/> - <arg type="s" name="filepath" /> - </signal> - - - <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> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> - <tp:docstring> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> - <tp:docstring> - Send a text message to the specified call - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="message" direction="in"/> - </method> - - <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> - <tp:docstring> - <p>Notify that a cell have been created.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when call have been created by the daemon itself.</p> - <tp:rationale> The client must subscribe to this signal to handle calls created by other clients </tp:rationale> - </tp:docstring> - <arg type="s" name="accountID"> - <tp:docstring> - The account ID of the calle. Clients must notify teh 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="to"> - <tp:docstring> - The sip uri this call is trying to reach - </tp:docstring> - </arg> - </signal> - - <signal name="incomingCall" tp:name-for-bindings="incomingCall"> - <tp:docstring> - <p>Notify an incoming call.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when we receive a call from a remote peer</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> - Notify clients that a new text message has been received. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - <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: SFLphone user is - participating to this conference</li> - <li>ACTIVE_DETACHED: This situation can - occur if a call is received while - SFLphone user is participating to a - conference. In this case, one can leave - the conference by answering the - call. Other participants may continue - conferencing normally.</li> - <li>HOLD: Each call in this conference - is on state 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> - - <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring> - </tp:docstring> - <arg type="s" name="filepath" direction="in"/> - <arg type="b" name="result" direction="out"/> - </method> - - <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring/> - <arg type="s" name="filepath" direction="in"/> - </method> - - <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> - <tp:docstring> - <p>Call state changed, SFLphone received a notification - from registrar concerning this call.</p> - </tp:docstring> - <arg type="s" name="callID" /> - <tp:docstring> - The call ID - </tp:docstring> - <arg type="s" name="state" /> - <tp:docstring> - Description string - </tp:docstring> - <arg type="i" name="code" /> - <tp:docstring> - The SIP or IAX2 message code - </tp:docstring> - </signal> - - <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> - <tp:docstring> - <p>Account state changed, SFLphone received a notification - from registrar.</p> - </tp:docstring> - <arg type="s" name="accountID" > - <tp:docstring> - The account ID - </tp:docstring> - </arg> - <arg type="s" name="state"> - <tp:docstring> - Description string - </tp:docstring> - </arg> - <arg type="i" name="code"> - <tp:docstring> - The SIP or IAX2 message 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> - <p>Notify clients of a volume level - change.</p> - <p>This signal occurs only if ALSA is - enabled since Pulseaudio streams are - managed externally. </p> - </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> - <p>Transfer has been successfully - processed. Client should remove transfered - call from call list as it is no longer - accessible in SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="transferFailed" tp:name-for-bindings="transferFailed"> - <tp:docstring> - <p>Transfer operation failed. Corespondin - call is no longer accessible in - SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Signal sent on SDES session success. Media transmission is encripted - for this call only. It does not apply for a - conference.</p> - <p>A conference can be considered to be secured if and only if each - participant is secured.</p> - </tp:docstring> - <arg type="s" name="callID"/> - </signal> - - <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Sinal sent to notify that SDES session - failed.</p> - <p>Media transmission is not encrypted.</p> - </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> + <tp:added version="0.9.14"/> + <tp:docstring> + <p>Create a conference from a list of participants</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="as" name="participants" 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 and conferences, it may happen that the client's user leaves a conference to answer an incoming call or to start new calls. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>Its put the current call on HOLD or detaches 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 conference 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: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </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:rationale>To update client status, one should + use <tp:member-ref>getParticipantList</tp:member-ref> + with provided conference IDs.</tp:rationale> + </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> + + <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> + <tp:docstring> + Once after starting recording for the first time, this signal is emited to + provide the recorded file path to client application. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="filepath"/> + </signal> + + <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> + <tp:docstring/> + <arg type="s" name="filepath" /> + </signal> + + + <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="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> + <tp:docstring> + Send a text message to the specified call + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="message" direction="in"/> + </method> + + <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> + <tp:docstring> + <p>Notify that a call has been created.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other actions for + this call. This signal is emitted when call haves been created by the daemon itself.</p> + <tp:rationale>The client must subscribe to this signal to handle calls created by other clients</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the call. 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="to"> + <tp:docstring> + The SIP URI this call is trying to reach. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other action for + this call. This signal is emitted when we receive a call from a remote peer</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> + Notify clients that a new text message has been received. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="from" /> + <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: SFLphone user is + participating to this conference</li> + <li>ACTIVE_DETACHED: This situation can + occur if a call is received while + SFLphone user is participating to a + conference. In this case, one can leave + the conference by answering the + call. Other participants may continue + conferencing normally.</li> + <li>HOLD: Each call in this conference + is on state 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 participants. + </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 for storing 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 every call which is participating in 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 call participating in this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <arg type="s" name="filepath" direction="in"/> + <arg type="b" name="result" direction="out"/> + </method> + + <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <tp:docstring/> + <arg type="s" name="filepath" direction="in"/> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + <p>Call state changed, SFLphone received a notification + from registrar concerning this call.</p> + </tp:docstring> + <arg type="s" name="callID" /> + <tp:docstring> + The call ID + </tp:docstring> + <arg type="s" name="state" /> + <tp:docstring> + Description string + </tp:docstring> + <arg type="i" name="code" /> + <tp:docstring> + The SIP or IAX2 message code + </tp:docstring> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>Account state changed, SFLphone received a notification + from registrar.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + Description string + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 message 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> + <p>Notify clients of a volume level change.</p> + <p>This signal occurs only if ALSA is enabled since Pulseaudio streams are managed externally. </p> + </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> + <p>Transfer has been successfully + processed. Client should remove transfered + call from call list as it is no longer + accessible in SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + <p>Transfer operation failed. Corespondin + call is no longer accessible in + SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Signal sent on SDES session success. Media transmission is encripted + for this call only. It does not apply for a conference.</p> + <p>A conference can be considered to be secured if and only if each + participant is secured.</p> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Sinal sent to notify that SDES session failed.</p> + <p>Media transmission is not encrypted.</p> + </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"/> + <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"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <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"/> + <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"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/daemon/src/dbus/callmanager.cpp b/daemon/src/dbus/callmanager.cpp index 3a13295efea24a9c22fdda2cfe43b1faa64b0590..809e0628edde25ef9b6c42703c929406caad15c7 100644 --- a/daemon/src/dbus/callmanager.cpp +++ b/daemon/src/dbus/callmanager.cpp @@ -237,14 +237,11 @@ CallManager::getIsRecording(const std::string& callID) return Manager::instance().isRecording(callID); } - -std::string -CallManager::getCurrentAudioCodecName(const std::string& callID) +std::string CallManager::getCurrentAudioCodecName(const std::string& callID) { return Manager::instance().getCurrentCodecName(callID).c_str(); } - std::map<std::string, std::string> CallManager::getCallDetails(const std::string& callID) { @@ -257,12 +254,6 @@ CallManager::getCallList() return Manager::instance().getCallList(); } -std::string -CallManager::getCurrentCallID() -{ - return Manager::instance().getCurrentCallId(); -} - void CallManager::playDTMF(const std::string& key) { diff --git a/daemon/src/dbus/callmanager.h b/daemon/src/dbus/callmanager.h index e0592f32b4ec5f5a9134e9238c6a85c1c370f6e5..7758fa7235dbd86918b1d63a9025600f4b27b817 100644 --- a/daemon/src/dbus/callmanager.h +++ b/daemon/src/dbus/callmanager.h @@ -86,7 +86,6 @@ class CallManager void attendedTransfer(const std::string& transferID, const std::string& targetID); std::map< std::string, std::string > getCallDetails(const std::string& callID); std::vector< std::string > getCallList(); - std::string getCurrentCallID(); /* Conference related methods */ void joinParticipant(const std::string& sel_callID, const std::string& drag_callID); diff --git a/daemon/src/dbus/configurationmanager-introspec.xml b/daemon/src/dbus/configurationmanager-introspec.xml index d86ffc2b6f1faa1ff91dddb168079237b0e2f048..5f30f252686223fef440f8f76af66872a65fa561 100644 --- a/daemon/src/dbus/configurationmanager-introspec.xml +++ b/daemon/src/dbus/configurationmanager-introspec.xml @@ -1,107 +1,107 @@ <?xml version="1.0" ?> <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>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="setCredentials" tp:name-for-bindings="setCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <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>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="setCredentials" tp:name-for-bindings="setCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <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"/>--> + <!--<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: @@ -134,584 +134,584 @@ </arg> </method> - <method name="getCredentials" tp:name-for-bindings="getCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="api" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" 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> - - <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="res" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="enabled" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> - <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> - <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> - <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> - <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> - <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="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> + <method name="getCredentials" tp:name-for-bindings="getCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" 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> + + <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> + <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> + <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> + <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> + <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> + <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="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> <method name="getEchoCancelState" tp:name-for-bindings="getNoiseSuppressState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - </arg> - </method> - - <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - </arg> - </method> - - - <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <!-- General Settings Panel --> - - <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="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="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> - - <!-- 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> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + </arg> + </method> + + <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + </arg> + </method> + + + <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <!-- General Settings Panel --> + + <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="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="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> + + <!-- 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"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> <!-- Return a List of type Dict<string, string> >...a List of Dicts --> <arg type="aa{ss}" name="entries" direction="out"/> - </method> + </method> <method name="clearHistory" tp:name-for-bindings="clearHistory"> - </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"> + </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> - <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.In0" value="MapStringString"/> - <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"> + <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> + <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.In0" value="MapStringString"/> + <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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" 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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> </interface> - </node> +</node> diff --git a/gnome/src/dbus/callmanager-introspec.xml b/gnome/src/dbus/callmanager-introspec.xml index 46cec40068df52b9d16a50324c3947821ed7f443..5c38193ffd3c052277144268894d904dc376ab44 100644 --- a/gnome/src/dbus/callmanager-introspec.xml +++ b/gnome/src/dbus/callmanager-introspec.xml @@ -1,825 +1,781 @@ <?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 and conference 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="transfer" tp:name-for-bindings="transfer"> - <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="attendedTransfer" tp:name-for-bindings="attendedTransfer"> - <tp:docstring> - Perform an attended transfer on two calls - </tp:docstring> - <arg type="s" name="transferID" direction="in"> - <tp:docstring> - The callID of the call to be transfered. - </tp:docstring> - </arg> - <arg type="s" name="targetID" direction="in"> - <tp:docstring> - The callID of the target call. - </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> + <interface name="org.sflphone.SFLphone.CallManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage call and conference related actions.</p> + <p>Since SFLphone-daemon supports 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 for generating the callID on outgoing calls. Conversely, SFLphone-daemon will generate a unique callID for 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 with the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account with which you want to make a call. If the call is to be placed without any account by means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details on 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 first registered account in the account list. + <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 puts the current call on 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> + Take a call off hold, and place this call in state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfer" tp:name-for-bindings="transfer"> + <tp:docstring> + Transfer a call to the 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 which the call will be transferred. + </tp:docstring> + </arg> + </method> + + <method name="attendedTransfer" tp:name-for-bindings="attendedTransfer"> + <tp:docstring> + Perform an attended transfer on two calls. + </tp:docstring> + <arg type="s" name="transferID" direction="in"> + <tp:docstring> + The callID of the call to be transfered. + </tp:docstring> + </arg> + <arg type="s" name="targetID" direction="in"> + <tp:docstring> + The callID of the target call. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dialtones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode character 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="createConfFromParticipantList" tp:name-for-bindings="createConfFromParticipantList"> - <tp:added version="0.9.14"/> - <tp:docstring> - <p>Create a conference from a list of participant</p> - <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> - </tp:docstring> - <arg type="as" name="participants" 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 conference 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: - <ul> - <li>ACTIVE_ATTACHED</li> - <li>ACTIVE_DETACHED</li> - <li>HOLD</li> - </ul> - </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:rationale>To update client status, one should - use <tp:member-ref>getParticipantList</tp:member-ref> - with provided conference IDs.</tp:rationale> - </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> - - <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> - <tp:docstring> - Once after starting recording for the first time, this signal is emited to - provide the recorded file path to client application. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="filepath"/> - </signal> - - <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> - <tp:docstring/> - <arg type="s" name="filepath" /> - </signal> - - - <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> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> - <tp:docstring> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> - <tp:docstring> - Send a text message to the specified call - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="message" direction="in"/> - </method> - - <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> - <tp:docstring> - <p>Notify that a cell have been created.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when call have been created by the daemon itself.</p> - <tp:rationale> The client must subscribe to this signal to handle calls created by other clients </tp:rationale> - </tp:docstring> - <arg type="s" name="accountID"> - <tp:docstring> - The account ID of the calle. Clients must notify teh 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="to"> - <tp:docstring> - The sip uri this call is trying to reach - </tp:docstring> - </arg> - </signal> - - <signal name="incomingCall" tp:name-for-bindings="incomingCall"> - <tp:docstring> - <p>Notify an incoming call.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when we receive a call from a remote peer</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> - Notify clients that a new text message has been received. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - <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: SFLphone user is - participating to this conference</li> - <li>ACTIVE_DETACHED: This situation can - occur if a call is received while - SFLphone user is participating to a - conference. In this case, one can leave - the conference by answering the - call. Other participants may continue - conferencing normally.</li> - <li>HOLD: Each call in this conference - is on state 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> - - <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring> - </tp:docstring> - <arg type="s" name="filepath" direction="in"/> - <arg type="b" name="result" direction="out"/> - </method> - - <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring/> - <arg type="s" name="filepath" direction="in"/> - </method> - - <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> - <tp:docstring> - <p>Call state changed, SFLphone received a notification - from registrar concerning this call.</p> - </tp:docstring> - <arg type="s" name="callID" /> - <tp:docstring> - The call ID - </tp:docstring> - <arg type="s" name="state" /> - <tp:docstring> - Description string - </tp:docstring> - <arg type="i" name="code" /> - <tp:docstring> - The SIP or IAX2 message code - </tp:docstring> - </signal> - - <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> - <tp:docstring> - <p>Account state changed, SFLphone received a notification - from registrar.</p> - </tp:docstring> - <arg type="s" name="accountID" > - <tp:docstring> - The account ID - </tp:docstring> - </arg> - <arg type="s" name="state"> - <tp:docstring> - Description string - </tp:docstring> - </arg> - <arg type="i" name="code"> - <tp:docstring> - The SIP or IAX2 message 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> - <p>Notify clients of a volume level - change.</p> - <p>This signal occurs only if ALSA is - enabled since Pulseaudio streams are - managed externally. </p> - </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> - <p>Transfer has been successfully - processed. Client should remove transfered - call from call list as it is no longer - accessible in SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="transferFailed" tp:name-for-bindings="transferFailed"> - <tp:docstring> - <p>Transfer operation failed. Corespondin - call is no longer accessible in - SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Signal sent on SDES session success. Media transmission is encripted - for this call only. It does not apply for a - conference.</p> - <p>A conference can be considered to be secured if and only if each - participant is secured.</p> - </tp:docstring> - <arg type="s" name="callID"/> - </signal> - - <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Sinal sent to notify that SDES session - failed.</p> - <p>Media transmission is not encrypted.</p> - </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> + <tp:added version="0.9.14"/> + <tp:docstring> + <p>Create a conference from a list of participants</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="as" name="participants" 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 and conferences, it may happen that the client's user leaves a conference to answer an incoming call or to start new calls. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>Its put the current call on HOLD or detaches 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 conference 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: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </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:rationale>To update client status, one should + use <tp:member-ref>getParticipantList</tp:member-ref> + with provided conference IDs.</tp:rationale> + </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> + + <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> + <tp:docstring> + Once after starting recording for the first time, this signal is emited to + provide the recorded file path to client application. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="filepath"/> + </signal> + + <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> + <tp:docstring/> + <arg type="s" name="filepath" /> + </signal> + + + <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="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> + <tp:docstring> + Send a text message to the specified call + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="message" direction="in"/> + </method> + + <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> + <tp:docstring> + <p>Notify that a call has been created.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other actions for + this call. This signal is emitted when call haves been created by the daemon itself.</p> + <tp:rationale>The client must subscribe to this signal to handle calls created by other clients</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the call. 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="to"> + <tp:docstring> + The SIP URI this call is trying to reach. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other action for + this call. This signal is emitted when we receive a call from a remote peer</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> + Notify clients that a new text message has been received. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="from" /> + <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: SFLphone user is + participating to this conference</li> + <li>ACTIVE_DETACHED: This situation can + occur if a call is received while + SFLphone user is participating to a + conference. In this case, one can leave + the conference by answering the + call. Other participants may continue + conferencing normally.</li> + <li>HOLD: Each call in this conference + is on state 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 participants. + </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 for storing 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 every call which is participating in 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 call participating in this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <arg type="s" name="filepath" direction="in"/> + <arg type="b" name="result" direction="out"/> + </method> + + <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <tp:docstring/> + <arg type="s" name="filepath" direction="in"/> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + <p>Call state changed, SFLphone received a notification + from registrar concerning this call.</p> + </tp:docstring> + <arg type="s" name="callID" /> + <tp:docstring> + The call ID + </tp:docstring> + <arg type="s" name="state" /> + <tp:docstring> + Description string + </tp:docstring> + <arg type="i" name="code" /> + <tp:docstring> + The SIP or IAX2 message code + </tp:docstring> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>Account state changed, SFLphone received a notification + from registrar.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + Description string + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 message 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> + <p>Notify clients of a volume level change.</p> + <p>This signal occurs only if ALSA is enabled since Pulseaudio streams are managed externally. </p> + </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> + <p>Transfer has been successfully + processed. Client should remove transfered + call from call list as it is no longer + accessible in SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + <p>Transfer operation failed. Corespondin + call is no longer accessible in + SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Signal sent on SDES session success. Media transmission is encripted + for this call only. It does not apply for a conference.</p> + <p>A conference can be considered to be secured if and only if each + participant is secured.</p> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Sinal sent to notify that SDES session failed.</p> + <p>Media transmission is not encrypted.</p> + </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"/> + <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"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <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"/> + <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"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/gnome/src/dbus/configurationmanager-introspec.xml b/gnome/src/dbus/configurationmanager-introspec.xml index d86ffc2b6f1faa1ff91dddb168079237b0e2f048..5f30f252686223fef440f8f76af66872a65fa561 100644 --- a/gnome/src/dbus/configurationmanager-introspec.xml +++ b/gnome/src/dbus/configurationmanager-introspec.xml @@ -1,107 +1,107 @@ <?xml version="1.0" ?> <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>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="setCredentials" tp:name-for-bindings="setCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <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>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="setCredentials" tp:name-for-bindings="setCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <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"/>--> + <!--<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: @@ -134,584 +134,584 @@ </arg> </method> - <method name="getCredentials" tp:name-for-bindings="getCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="api" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" 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> - - <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="res" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="enabled" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> - <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> - <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> - <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> - <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> - <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="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> + <method name="getCredentials" tp:name-for-bindings="getCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" 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> + + <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> + <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> + <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> + <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> + <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> + <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="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> <method name="getEchoCancelState" tp:name-for-bindings="getNoiseSuppressState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - </arg> - </method> - - <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - </arg> - </method> - - - <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <!-- General Settings Panel --> - - <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="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="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> - - <!-- 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> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + </arg> + </method> + + <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + </arg> + </method> + + + <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <!-- General Settings Panel --> + + <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="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="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> + + <!-- 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"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> <!-- Return a List of type Dict<string, string> >...a List of Dicts --> <arg type="aa{ss}" name="entries" direction="out"/> - </method> + </method> <method name="clearHistory" tp:name-for-bindings="clearHistory"> - </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"> + </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> - <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.In0" value="MapStringString"/> - <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"> + <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> + <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.In0" value="MapStringString"/> + <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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" 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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> </interface> - </node> +</node> diff --git a/kde/src/dbus/callmanager-introspec.xml b/kde/src/dbus/callmanager-introspec.xml index 46cec40068df52b9d16a50324c3947821ed7f443..5c38193ffd3c052277144268894d904dc376ab44 100755 --- a/kde/src/dbus/callmanager-introspec.xml +++ b/kde/src/dbus/callmanager-introspec.xml @@ -1,825 +1,781 @@ <?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 and conference 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="transfer" tp:name-for-bindings="transfer"> - <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="attendedTransfer" tp:name-for-bindings="attendedTransfer"> - <tp:docstring> - Perform an attended transfer on two calls - </tp:docstring> - <arg type="s" name="transferID" direction="in"> - <tp:docstring> - The callID of the call to be transfered. - </tp:docstring> - </arg> - <arg type="s" name="targetID" direction="in"> - <tp:docstring> - The callID of the target call. - </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> + <interface name="org.sflphone.SFLphone.CallManager"> + + <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> + <p>The CallManager interface is used to manage call and conference related actions.</p> + <p>Since SFLphone-daemon supports 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 for generating the callID on outgoing calls. Conversely, SFLphone-daemon will generate a unique callID for 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 with the daemon using this method.</p> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + The ID of the account with which you want to make a call. If the call is to be placed without any account by means of a SIP URI (i.e. sip:num@server), the "IP2IP_PROFILE" is passed as the accountID. For more details on 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 first registered account in the account list. + <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 puts the current call on 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> + Take a call off hold, and place this call in state CURRENT. + </tp:docstring> + <arg type="s" name="callID" direction="in"> + <tp:docstring> + The callID. + </tp:docstring> + </arg> + </method> + + <method name="transfer" tp:name-for-bindings="transfer"> + <tp:docstring> + Transfer a call to the 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 which the call will be transferred. + </tp:docstring> + </arg> + </method> + + <method name="attendedTransfer" tp:name-for-bindings="attendedTransfer"> + <tp:docstring> + Perform an attended transfer on two calls. + </tp:docstring> + <arg type="s" name="transferID" direction="in"> + <tp:docstring> + The callID of the call to be transfered. + </tp:docstring> + </arg> + <arg type="s" name="targetID" direction="in"> + <tp:docstring> + The callID of the target call. + </tp:docstring> + </arg> + </method> + + <method name="playDTMF" tp:name-for-bindings="playDTMF"> + <tp:docstring> + Dual-Tone multi-frequency. Tell the core to play dialtones. A SIP INFO message is sent to notify the server. + </tp:docstring> + <arg type="s" name="key" direction="in"> + <tp:docstring> + Unicode character 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="createConfFromParticipantList" tp:name-for-bindings="createConfFromParticipantList"> - <tp:added version="0.9.14"/> - <tp:docstring> - <p>Create a conference from a list of participant</p> - <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> - </tp:docstring> - <arg type="as" name="participants" 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 conference 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: - <ul> - <li>ACTIVE_ATTACHED</li> - <li>ACTIVE_DETACHED</li> - <li>HOLD</li> - </ul> - </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:rationale>To update client status, one should - use <tp:member-ref>getParticipantList</tp:member-ref> - with provided conference IDs.</tp:rationale> - </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> - - <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> - <tp:docstring> - Once after starting recording for the first time, this signal is emited to - provide the recorded file path to client application. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="filepath"/> - </signal> - - <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> - <tp:docstring/> - <arg type="s" name="filepath" /> - </signal> - - - <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> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> - <tp:docstring> - Unused - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> - <tp:docstring> - Send a text message to the specified call - </tp:docstring> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="message" direction="in"/> - </method> - - <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> - <tp:docstring> - <p>Notify that a cell have been created.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when call have been created by the daemon itself.</p> - <tp:rationale> The client must subscribe to this signal to handle calls created by other clients </tp:rationale> - </tp:docstring> - <arg type="s" name="accountID"> - <tp:docstring> - The account ID of the calle. Clients must notify teh 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="to"> - <tp:docstring> - The sip uri this call is trying to reach - </tp:docstring> - </arg> - </signal> - - <signal name="incomingCall" tp:name-for-bindings="incomingCall"> - <tp:docstring> - <p>Notify an incoming call.</p> - <p>The callID generated by the daemon must be stored by the clients in order to address other action for - this call. This signal is emitted when we receive a call from a remote peer</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> - Notify clients that a new text message has been received. - </tp:docstring> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - <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: SFLphone user is - participating to this conference</li> - <li>ACTIVE_DETACHED: This situation can - occur if a call is received while - SFLphone user is participating to a - conference. In this case, one can leave - the conference by answering the - call. Other participants may continue - conferencing normally.</li> - <li>HOLD: Each call in this conference - is on state 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> - - <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring> - </tp:docstring> - <arg type="s" name="filepath" direction="in"/> - <arg type="b" name="result" direction="out"/> - </method> - - <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> - <tp:added version="0.9.14"/> - <tp:docstring/> - <arg type="s" name="filepath" direction="in"/> - </method> - - <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> - <tp:docstring> - <p>Call state changed, SFLphone received a notification - from registrar concerning this call.</p> - </tp:docstring> - <arg type="s" name="callID" /> - <tp:docstring> - The call ID - </tp:docstring> - <arg type="s" name="state" /> - <tp:docstring> - Description string - </tp:docstring> - <arg type="i" name="code" /> - <tp:docstring> - The SIP or IAX2 message code - </tp:docstring> - </signal> - - <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> - <tp:docstring> - <p>Account state changed, SFLphone received a notification - from registrar.</p> - </tp:docstring> - <arg type="s" name="accountID" > - <tp:docstring> - The account ID - </tp:docstring> - </arg> - <arg type="s" name="state"> - <tp:docstring> - Description string - </tp:docstring> - </arg> - <arg type="i" name="code"> - <tp:docstring> - The SIP or IAX2 message 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> - <p>Notify clients of a volume level - change.</p> - <p>This signal occurs only if ALSA is - enabled since Pulseaudio streams are - managed externally. </p> - </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> - <p>Transfer has been successfully - processed. Client should remove transfered - call from call list as it is no longer - accessible in SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="transferFailed" tp:name-for-bindings="transferFailed"> - <tp:docstring> - <p>Transfer operation failed. Corespondin - call is no longer accessible in - SFLphone-daemon.</p> - </tp:docstring> - </signal> - - <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Signal sent on SDES session success. Media transmission is encripted - for this call only. It does not apply for a - conference.</p> - <p>A conference can be considered to be secured if and only if each - participant is secured.</p> - </tp:docstring> - <arg type="s" name="callID"/> - </signal> - - <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> - <tp:added version="0.9.7"/> - <tp:docstring> - <p>Sinal sent to notify that SDES session - failed.</p> - <p>Media transmission is not encrypted.</p> - </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> + <tp:added version="0.9.14"/> + <tp:docstring> + <p>Create a conference from a list of participants</p> + <tp:rationale>The signal <tp:member-ref>conferenceCreated</tp:member-ref> is emitted on success.</tp:rationale> + </tp:docstring> + <arg type="as" name="participants" 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 and conferences, it may happen that the client's user leaves a conference to answer an incoming call or to start new calls. This method is used to reintroduce SFLphone-client's user into the conference.</p> + <p>Its put the current call on HOLD or detaches 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 conference 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: + <ul> + <li>ACTIVE_ATTACHED</li> + <li>ACTIVE_DETACHED</li> + <li>HOLD</li> + </ul> + </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:rationale>To update client status, one should + use <tp:member-ref>getParticipantList</tp:member-ref> + with provided conference IDs.</tp:rationale> + </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> + + <signal name="recordPlaybackFilepath" tp:name-for-bindings="recordPlaybackFilepath"> + <tp:docstring> + Once after starting recording for the first time, this signal is emited to + provide the recorded file path to client application. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="filepath"/> + </signal> + + <signal name="recordPlaybackStopped" tp:name-for-bindings="recordPlaybackStopped"> + <tp:docstring/> + <arg type="s" name="filepath" /> + </signal> + + + <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="getCurrentAudioCodecName" tp:name-for-bindings="getCurrentAudioCodecName"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <method name="sendTextMessage" tp:name-for-bindings="sendTextMessage"> + <tp:docstring> + Send a text message to the specified call + </tp:docstring> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="message" direction="in"/> + </method> + + <signal name="newCallCreated" tp:name-for-bindings="newCallCreated"> + <tp:docstring> + <p>Notify that a call has been created.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other actions for + this call. This signal is emitted when call haves been created by the daemon itself.</p> + <tp:rationale>The client must subscribe to this signal to handle calls created by other clients</tp:rationale> + </tp:docstring> + <arg type="s" name="accountID"> + <tp:docstring> + The account ID of the call. 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="to"> + <tp:docstring> + The SIP URI this call is trying to reach. + </tp:docstring> + </arg> + </signal> + + <signal name="incomingCall" tp:name-for-bindings="incomingCall"> + <tp:docstring> + <p>Notify an incoming call.</p> + <p>The callID generated by the daemon must be stored by the clients in order to address other action for + this call. This signal is emitted when we receive a call from a remote peer</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> + Notify clients that a new text message has been received. + </tp:docstring> + <arg type="s" name="callID" /> + <arg type="s" name="from" /> + <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: SFLphone user is + participating to this conference</li> + <li>ACTIVE_DETACHED: This situation can + occur if a call is received while + SFLphone user is participating to a + conference. In this case, one can leave + the conference by answering the + call. Other participants may continue + conferencing normally.</li> + <li>HOLD: Each call in this conference + is on state 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 participants. + </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 for storing 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 every call which is participating in 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 call participating in this conference. + </tp:docstring> + <arg type="s" name="confID" direction="in"> + <tp:docstring> + The conference ID. + </tp:docstring> + </arg> + </method> + + <method name="startRecordedFilePlayback" tp:name-for-bindings="startRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <arg type="s" name="filepath" direction="in"/> + <arg type="b" name="result" direction="out"/> + </method> + + <method name="stopRecordedFilePlayback" tp:name-for-bindings="stopRecordedFilePlayback"> + <tp:added version="0.9.14"/> + <tp:docstring/> + <arg type="s" name="filepath" direction="in"/> + </method> + + <signal name="sipCallStateChanged" tp:name-for-bindings="sipCallStateChanged"> + <tp:docstring> + <p>Call state changed, SFLphone received a notification + from registrar concerning this call.</p> + </tp:docstring> + <arg type="s" name="callID" /> + <tp:docstring> + The call ID + </tp:docstring> + <arg type="s" name="state" /> + <tp:docstring> + Description string + </tp:docstring> + <arg type="i" name="code" /> + <tp:docstring> + The SIP or IAX2 message code + </tp:docstring> + </signal> + + <signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged"> + <tp:docstring> + <p>Account state changed, SFLphone received a notification + from registrar.</p> + </tp:docstring> + <arg type="s" name="accountID" > + <tp:docstring> + The account ID + </tp:docstring> + </arg> + <arg type="s" name="state"> + <tp:docstring> + Description string + </tp:docstring> + </arg> + <arg type="i" name="code"> + <tp:docstring> + The SIP or IAX2 message 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> + <p>Notify clients of a volume level change.</p> + <p>This signal occurs only if ALSA is enabled since Pulseaudio streams are managed externally. </p> + </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> + <p>Transfer has been successfully + processed. Client should remove transfered + call from call list as it is no longer + accessible in SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="transferFailed" tp:name-for-bindings="transferFailed"> + <tp:docstring> + <p>Transfer operation failed. Corespondin + call is no longer accessible in + SFLphone-daemon.</p> + </tp:docstring> + </signal> + + <signal name="secureSdesOn" tp:name-for-bindings="secureSdesOn"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Signal sent on SDES session success. Media transmission is encripted + for this call only. It does not apply for a conference.</p> + <p>A conference can be considered to be secured if and only if each + participant is secured.</p> + </tp:docstring> + <arg type="s" name="callID"/> + </signal> + + <signal name="secureSdesOff" tp:name-for-bindings="secureSdesOff"> + <tp:added version="0.9.7"/> + <tp:docstring> + <p>Sinal sent to notify that SDES session failed.</p> + <p>Media transmission is not encrypted.</p> + </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"/> + <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"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="confirmGoClear" tp:name-for-bindings="confirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" /> + </signal> + + <signal name="zrtpNegotiationFailed" tp:name-for-bindings="zrtpNegotiationFailed"> + <tp:added version="0.9.7"/> + <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"/> + <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"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified" tp:name-for-bindings="resetSASVerified"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear" tp:name-for-bindings="setConfirmGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear" tp:name-for-bindings="requestGoClear"> + <tp:added version="0.9.7"/> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="acceptEnrollment" tp:name-for-bindings="acceptEnrollment"> + <tp:added version="0.9.7"/> + <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"/> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="yesNo" direction="in"/> + </method> + + </interface> </node> diff --git a/kde/src/dbus/configurationmanager-introspec.xml b/kde/src/dbus/configurationmanager-introspec.xml index d86ffc2b6f1faa1ff91dddb168079237b0e2f048..5f30f252686223fef440f8f76af66872a65fa561 100755 --- a/kde/src/dbus/configurationmanager-introspec.xml +++ b/kde/src/dbus/configurationmanager-introspec.xml @@ -1,107 +1,107 @@ <?xml version="1.0" ?> <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>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="setCredentials" tp:name-for-bindings="setCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails"> + <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>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="setCredentials" tp:name-for-bindings="setCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map"> + <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"/>--> + <!--<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: @@ -134,584 +134,584 @@ </arg> </method> - <method name="getCredentials" tp:name-for-bindings="getCredentials"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> - <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="api" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> - <tp:docstring> - </tp:docstring> - <arg type="s" 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> - - <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="res" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="enabled" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> - <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> - <tp:docstring> - </tp:docstring> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> - <arg type="s" name="accountID" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - <arg type="ai" name="list" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> - <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> - <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> - <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> - <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="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> + <method name="getCredentials" tp:name-for-bindings="getCredentials"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <arg type="aa{ss}" name="credentialInformation" 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="getAudioManager" tp:name-for-bindings="getAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="api" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setAudioManager" tp:name-for-bindings="setAudioManager"> + <tp:docstring> + </tp:docstring> + <arg type="s" 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> + + <method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="res" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording"> + <tp:docstring> + </tp:docstring> + <arg type="b" name="enabled" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails"> + <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="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList"> + <tp:docstring> + </tp:docstring> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/> + <arg type="s" name="accountID" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + <arg type="ai" name="list" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList"> + <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="getAudioPluginList" tp:name-for-bindings="getAudioPluginList"> + <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="setAudioPlugin" tp:name-for-bindings="setAudioPlugin"> + <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="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="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice"> + <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="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> <method name="getEchoCancelState" tp:name-for-bindings="getNoiseSuppressState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="in"> - </arg> - </method> - - <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="index" direction="out"> - </arg> - </method> - - - <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> - <arg type="s" name="state" direction="in"> - </arg> - </method> - - <!-- General Settings Panel --> - - <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="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="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> - - <!-- 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> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="setEchoCancelTailLength" tp:name-for-bindings="setEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="getEchoCancelTailLength" tp:name-for-bindings="getEchoCancelTailLength"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelDelay" tp:name-for-bindings="setEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="in"> + </arg> + </method> + + <method name="getEchoCancelDelay" tp:name-for-bindings="getEchoCancelDelay"> + <tp:docstring> + </tp:docstring> + <arg type="i" name="index" direction="out"> + </arg> + </method> + + + <method name="getNoiseSuppressState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <!-- General Settings Panel --> + + <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="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="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> + + <!-- 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"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/> <!-- Return a List of type Dict<string, string> >...a List of Dicts --> <arg type="aa{ss}" name="entries" direction="out"/> - </method> + </method> <method name="clearHistory" tp:name-for-bindings="clearHistory"> - </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"> + </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> - <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.In0" value="MapStringString"/> - <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"> + <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> + <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.In0" value="MapStringString"/> + <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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setShortcuts" tp:name-for-bindings="setShortcuts"> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" 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="MapStringString"/> - <tp:docstring> - </tp:docstring> - <arg type="a{ss}" name="shortcutsMap" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> + <tp:docstring> + </tp:docstring> + <arg type="a{ss}" name="shortcutsMap" direction="in"> + <tp:docstring> + </tp:docstring> + </arg> + </method> </interface> - </node> +</node>