2
<node name="/configurationmanager-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
3
<interface name="org.sflphone.SFLphone.ConfigurationManager">
5
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
6
Used to handle the configuration stuff: accounts settings, account registration, user preferences, ...
9
<method name="getAccountTemplate" tp:name-for-bindings="getAccountTemplate">
10
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
11
<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
15
<method name="getAccountDetails" tp:name-for-bindings="getAccountDetails">
17
Get all parameters of the specified account.
19
<arg type="s" name="accountID" direction="in">
24
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
25
<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
27
The available keys / parameters are:
29
<li>CONFIG_ACCOUNT_ENABLE: True or False (Default: True)</li>
30
<li>CONFIG_ACCOUNT_RESOLVE_ONCE</li>
31
<li>CONFIG_ACCOUNT_TYPE: SIP or IAX2 (Default: SIP)</li>
32
<li>HOSTNAME: The IP adress or hostname of the registrar</li>
33
<li>USERNAME: The username (or extension) of the account</li>
34
<li>PASSWORD: The password associated to the account</li>
36
<li>CONFIG_ACCOUNT_MAILBOX: Number to dial to access the voicemail box</li>
37
<li>CONFIG_ACCOUNT_REGISTRATION_EXPIRE: SIP header expiration value (Default: 1600)</li>
38
<li>LOCAL_INTERFACE: The network interface (Default: eth0)</li>
39
<li>PUBLISHED_SAMEAS_LOCAL: If False, the published address equals the local address. This is the default.</li>
40
<li>PUBLISHED_ADDRESS: The SIP published address</li>
41
<li>LOCAL_PORT: The SIP listening port (Default: 5060)</li>
42
<li>PUBLISHED_PORT: The SIP published port</li>
43
<li>DISPLAY_NAMEL: The display name</li>
44
<li>STUN_ENABLE: True or False (Default: False)</li>
45
<li>STUN_SERVER: The STUN server address</li>
46
<li>ACCOUNT_REGISTRATION_STATUS: The account registration status. Should be Registered to make calls.</li>
47
<li>ACCOUNT_REGISTRATION_STATE_CODE</li>
48
<li>ACCOUNT_REGISTRATION_STATE_DESC</li>
49
<li>SRTP_KEY_EXCHANGE</li>
50
<li>SRTP_ENABLE: Whether or not voice communication are encrypted - True or False (Default: False)</li>
51
<li>SRTP_RTP_FALLBACK</li>
52
<li>ZRTP_DISPLAY_SAS</li>
53
<li>ZRTP_DISPLAY_SAS_ONCE</li>
54
<li>ZRTP_HELLO_HASH</li>
55
<li>ZRTP_NOT_SUPP_WARNING</li>
56
<li>TLS_LISTENER_PORT: TLS listening port (Default: 5061)</li>
57
<li>TLS_ENABLE: Whether or not signalling is encrypted - True or False (Default: False)</li>
58
<li>TLS_CA_LIST_FILE</li>
59
<li>TLS_CERTIFICATE_FILE</li>
60
<li>TLS_PRIVATE_KEY_FILE</li>
63
<li>TLS_SERVER_NAME</li>
64
<li>TLS_VERIFY_SERVER</li>
65
<li>TLS_VERIFY_CLIENT</li>
66
<li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
67
<li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
68
<li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
74
<method name="setAccountDetails" tp:name-for-bindings="setAccountDetails">
76
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.
77
<tp:rationale>Account settings are written to the configuration file when sflphone properly quits.</tp:rationale>
78
<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>
80
<annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/>
81
<arg type="s" name="accountID" direction="in">
83
<arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map">
87
<method name="setCredentials" tp:name-for-bindings="setCredentials">
88
<arg type="s" name="accountID" direction="in">
90
<annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="VectorMapStringString"/>
91
<arg type="aa{ss}" name="credentialInformation" direction="in" tp:type="String_String_Map">
95
<method name="getIp2IpDetails" tp:name-for-bindings="getIp2IpDetails">
97
Get configuration settings of the IP2IP_PROFILE. They are sligthly different from account settings since no VoIP accounts are involved.
99
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
100
<arg type="a{ss}" name="details" direction="out" tp:type="String_String_Map">
102
Available parameters are:
105
<li>SRTP_KEY_EXCHANGE</li>
107
<li>SRTP_RTP_FALLBACK</li>
108
<li>ZRTP_DISPLAY_SAS</li>
109
<li>ZRTP_HELLO_HASH</li>
110
<li>ZRTP_NOT_SUPP_WARNING</li>
111
<li>ZRTP_DISPLAY_SAS_ONCE</li>
112
<li>LOCAL_INTERFACE</li>
114
<li>TLS_LISTENER_PORT</li>
115
<li>TLS_CA_LIST_FILE</li>
116
<li>TLS_CERTIFICATE_FILE</li>
117
<li>TLS_PRIVATE_KEY_FILE</li>
118
<li>TLS_PASSWORD</li>
121
<li>TLS_SERVER_NAME</li>
122
<li>TLS_VERIFY_SERVER</li>
123
<li>TLS_VERIFY_CLIENT</li>
124
<li>TLS_REQUIRE_CLIENT_CERTIFICATE</li>
125
<li>TLS_NEGOTIATION_TIMEOUT_SEC</li>
126
<li>TLS_NEGOTIATION_TIMEOUT_MSEC</li>
132
<method name="getCredentials" tp:name-for-bindings="getCredentials">
133
<arg type="s" name="accountID" direction="in">
135
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/>
136
<arg type="aa{ss}" name="credentialInformation" direction="out">
140
<method name="addAccount" tp:name-for-bindings="addAccount">
142
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.
143
<tp:rationale>If no details are specified, the default parameters are used.</tp:rationale>
144
<tp:rationale>The core tries to register the account as soon it is created.</tp:rationale>
146
<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
147
<arg type="a{ss}" name="details" direction="in" tp:type="String_String_Map">
149
The new account settings
152
<arg type="s" name="createdAccountId" direction="out">
159
<method name="setAccountsOrder" tp:name-for-bindings="setAccountsOrder">
161
Update the accounts order.
162
<tp:rationale>When placing a call, the first registered account in the list is used.</tp:rationale>
164
<arg type="s" name="order" direction="in">
166
An ordered list of account IDs, delimited by '/'
171
<method name="removeAccount" tp:name-for-bindings="removeAccount">
173
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.
175
<arg type="s" name="accoundID" direction="in">
177
The account to remove, identified by its ID
182
<method name="getAccountList" tp:name-for-bindings="getAccountList">
184
Get a list of all created accounts, as stored by the core.
186
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
187
<arg type="as" name="list" direction="out">
189
A list of account IDs
194
<method name="registerAllAccounts" tp:name-for-bindings="registerAllAccounts">
196
Send account registration (REGISTER) for all accounts, even if they are not enabled.
200
<method name="sendRegister" tp:name-for-bindings="sendRegister">
202
Send account registration (REGISTER) to the registrar.
203
Register the account if enable=true, unregister if enable=false.
205
<arg type="s" name="accountID" direction="in">
210
<arg type="b" name="enable" direction="in">
212
<p>To register, enable must be true.</p>
213
<p>To un-register, enable must be false.</p>
218
<method name="getAudioManager" tp:name-for-bindings="getAudioManager">
219
<arg type="s" name="api" direction="out">
223
<method name="setAudioManager" tp:name-for-bindings="setAudioManager">
224
<arg type="s" name="api" direction="in">
228
<method name="getRecordPath" tp:name-for-bindings="getRecordPath">
229
<arg type="s" name="rec" direction="out">
233
<method name="setRecordPath" tp:name-for-bindings="setRecordPath">
234
<arg type="s" name="rec" direction="in">
238
<method name="getIsAlwaysRecording" tp:name-for-bindings="getIsAlwaysRecording">
239
<arg type="b" name="res" direction="out">
243
<method name="setIsAlwaysRecording" tp:name-for-bindings="setIsAlwaysRecording">
244
<arg type="b" name="enabled" direction="in">
248
<!-- /////////////////////// -->
250
<!-- Codecs-related methods -->
252
<method name="getAudioCodecList" tp:name-for-bindings="getAudioCodecList">
253
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/>
254
<arg type="ai" name="list" direction="out">
258
<method name="getAudioCodecDetails" tp:name-for-bindings="getAudioCodecDetails">
259
<arg type="i" name="payload" direction="in">
261
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
262
<arg type="as" name="details" direction="out">
266
<method name="getActiveAudioCodecList" tp:name-for-bindings="getActiveAudioCodecList">
267
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorInt"/>
268
<arg type="s" name="accountID" direction="in">
270
<arg type="ai" name="list" direction="out">
274
<method name="setActiveAudioCodecList" tp:name-for-bindings="setActiveAudioCodecList">
275
<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/>
276
<arg type="as" name="list" direction="in">
278
<arg type="s" name="accountID" direction="in">
282
<!-- Audio devices methods -->
284
<method name="getAudioPluginList" tp:name-for-bindings="getAudioPluginList">
285
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
286
<arg type="as" name="list" direction="out">
290
<method name="setAudioPlugin" tp:name-for-bindings="setAudioPlugin">
291
<arg type="s" name="audioPlugin" direction="in">
295
<method name="getAudioOutputDeviceList" tp:name-for-bindings="getAudioOutputDeviceList">
296
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
297
<arg type="as" name="list" direction="out">
301
<method name="setAudioOutputDevice" tp:name-for-bindings="setAudioOutputDevice">
302
<arg type="i" name="index" direction="in">
306
<method name="setAudioInputDevice" tp:name-for-bindings="setAudioInputDevice">
307
<arg type="i" name="index" direction="in">
311
<method name="setAudioRingtoneDevice" tp:name-for-bindings="setAudioRingtoneDevice">
312
<arg type="i" name="index" direction="in">
316
<method name="getAudioInputDeviceList" tp:name-for-bindings="getAudioInputDeviceList">
317
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
318
<arg type="as" name="list" direction="out">
323
<method name="getCurrentAudioDevicesIndex" tp:name-for-bindings="getCurrentAudioDevicesIndex">
324
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
325
<arg type="as" name="list" direction="out">
329
<method name="getAudioDeviceIndex" tp:name-for-bindings="getAudioDeviceIndex">
330
<arg type="s" name="name" direction="in">
332
<arg type="i" name="index" direction="out">
336
<method name="getCurrentAudioOutputPlugin" tp:name-for-bindings="getCurrentAudioOutputPlugin">
337
<arg type="s" name="plugin" direction="out">
341
<method name="getEchoCancelState" tp:name-for-bindings="getNoiseSuppressState">
342
<arg type="s" name="state" direction="out">
346
<method name="getRingtoneList" tp:name-for-bindings="getRingtoneList">
347
<tp:added version="1.1.1"/>
348
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
350
Get a map [Path,Filename] of available ringtone. Note, set the ringtone with the complete path
352
<arg type="a{ss}" name="list" direction="out">
356
<method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState">
357
<arg type="s" name="state" direction="in">
361
<!-- General Settings Panel -->
363
<method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState">
364
<arg type="s" name="state" direction="out">
368
<method name="setNoiseSuppressState" tp:name-for-bindings="setNoiseSuppressState">
369
<arg type="s" name="state" direction="in">
373
<!-- General Settings Panel -->
375
<method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled">
376
<arg type="i" name="res" direction="out">
380
<method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit">
381
<arg type="i" name="days" direction="out">
385
<method name="setHistoryLimit" tp:name-for-bindings="setHistoryLimit">
386
<arg type="i" name="days" direction="in">
390
<!-- Hook configuration -->
391
<method name="getHookSettings" tp:name-for-bindings="getHookSettings">
392
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
393
<arg type="a{ss}" name="settings" direction="out">
397
<method name="setHookSettings" tp:name-for-bindings="setHookSettings">
398
<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
399
<arg type="a{ss}" name="settings" direction="in">
403
<method name="getHistory" tp:name-for-bindings="getHistory">
404
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorMapStringString"/>
405
<!-- Return a List of type Dict<string, string> >...a List of Dicts -->
406
<arg type="aa{ss}" name="entries" direction="out"/>
409
<method name="clearHistory" tp:name-for-bindings="clearHistory">
412
<signal name="accountsChanged" tp:name-for-bindings="accountsChanged">
415
<signal name="historyChanged" tp:name-for-bindings="historyChanged">
418
<signal name="registrationStateChanged" tp:name-for-bindings="registrationStateChanged">
419
<arg type="s" name="accountID"/>
420
<arg type="i" name="registration_state"/>
423
<signal name="stunStatusFailure" tp:name-for_bindings="stunStatusFailure">
424
<arg type="s" name="reason">
428
<signal name="stunStatusSuccess" tp:name-for_bindings="stunStatusSuccess">
429
<arg type="s" name="message">
433
<signal name="errorAlert" tp:name-for-bindings="errorAlert">
434
<arg type="i" name="code">
439
<method name="getSupportedTlsMethod" tp:name-for-bindings="getSupportedTlsMethod">
440
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
441
<arg type="as" name="list" direction="out">
445
<method name="getTlsSettingsDefault" tp:name-for-bindings="getTlsSettingsDefault">
446
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
447
<arg type="a{ss}" name="details" direction="out">
451
<method name="getTlsSettings" tp:name-for-bindings="getTlsSettings">
452
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
453
<arg type="a{ss}" name="details" direction="out">
457
<method name="setTlsSettings" tp:name-for-bindings="setTlsSettings">
458
<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
459
<arg type="a{ss}" name="details" direction="in">
463
<method name="getAddrFromInterfaceName" tp:name-for-bindings="getAddrFromInterfaceName">
464
<arg type="s" name="interface" direction="in">
466
<arg type="s" name="address" direction="out">
470
<method name="getAllIpInterface" tp:name-for-bindings="getAllIpInterface">
471
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
472
<arg type="as" name="list" direction="out">
476
<method name="getAllIpInterfaceByName" tp:name-for-bindings="getAllIpInterfaceByName">
477
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/>
478
<arg type="as" name="list" direction="out">
482
<method name="getShortcuts" tp:name-for-bindings="getShortcuts">
483
<annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/>
484
<arg type="a{ss}" name="shortcutsMap" direction="out">
488
<method name="setShortcuts" tp:name-for-bindings="setShortcuts">
489
<annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/>
490
<arg type="a{ss}" name="shortcutsMap" direction="in">