diff --git a/sflphone-client-kde/src/AccountWizard.cpp b/sflphone-client-kde/src/AccountWizard.cpp index 1fdeb85b3a749820e9850ddd100b2980b15a9d16..83afe4bdadbe73ddfe748e15b8170aff4799ef82 100644 --- a/sflphone-client-kde/src/AccountWizard.cpp +++ b/sflphone-client-kde/src/AccountWizard.cpp @@ -34,13 +34,17 @@ #define FIELD_SIP_ACCOUNT "SIP" #define FIELD_IAX_ACCOUNT "IAX" #define FIELD_EMAIL_ADDRESS "EMAIL_ADDRESS" -#define FIELD_ENABLE_STUN "ENABLE_STUN" -#define FIELD_STUN_SERVER "STUN_SERVER" + #define FIELD_SIP_ALIAS "SIP_ALIAS" #define FIELD_SIP_SERVER "SIP_SERVER" #define FIELD_SIP_USER "SIP_USER" #define FIELD_SIP_PASSWORD "SIP_PASSWORD" #define FIELD_SIP_VOICEMAIL "SIP_VOICEMAIL" +#define FIELD_SIP_ENABLE_STUN "SIP_ENABLE_STUN" +#define FIELD_SIP_STUN_SERVER "SIP_STUN_SERVER" + +#define FIELD_ZRTP_ENABLED "ZRTP_ENABLED" + #define FIELD_IAX_ALIAS "IAX_ALIAS" #define FIELD_IAX_SERVER "IAX_SERVER" #define FIELD_IAX_USER "IAX_USER" @@ -157,8 +161,8 @@ AccountWizard::AccountWizard(QWidget * parent) setPage(Page_AutoMan, new WizardAccountAutoManualPage); setPage(Page_Type, new WizardAccountTypePage); setPage(Page_Email, new WizardAccountEmailAddressPage); - setPage(Page_SIPForm, new WizardAccountFormPage(SIP)); - setPage(Page_IAXForm, new WizardAccountFormPage(IAX)); + setPage(Page_SIPForm, new WizardAccountSIPFormPage); + setPage(Page_IAXForm, new WizardAccountIAXFormPage); setPage(Page_Stun, new WizardAccountStunPage); setPage(Page_Conclusion, new WizardAccountConclusionPage); @@ -176,88 +180,133 @@ AccountWizard::~AccountWizard() void AccountWizard::accept() { + ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); + QString ret; MapStringString accountDetails; QString & alias = accountDetails[QString(ACCOUNT_ALIAS)]; - QString & server = accountDetails[QString(ACCOUNT_HOSTNAME)]; - QString & user = accountDetails[QString(ACCOUNT_USERNAME)]; - QString & password = accountDetails[QString(ACCOUNT_PASSWORD)]; - QString & protocol = accountDetails[QString(ACCOUNT_TYPE)]; - QString & mailbox = accountDetails[QString(ACCOUNT_MAILBOX)]; QString & enabled = accountDetails[QString(ACCOUNT_ENABLED)]; - QString & resolveOnce = accountDetails[QString(ACCOUNT_RESOLVE_ONCE)]; - QString & regExpire = accountDetails[QString(ACCOUNT_EXPIRE)]; - - bool createAccount = false; - bool sip = false; - bool SFL = field(FIELD_SFL_ACCOUNT).toBool(); - if(SFL) + QString & mailbox = accountDetails[QString(ACCOUNT_MAILBOX)]; + QString & protocol = accountDetails[QString(ACCOUNT_TYPE)]; + QString & server = accountDetails[QString(ACCOUNT_HOSTNAME)]; + QString & user = accountDetails[QString(ACCOUNT_USERNAME)]; + QString & password = accountDetails[QString(ACCOUNT_PASSWORD)]; + + // sip only parameters + QString & stun_enabled = accountDetails[QString(ACCOUNT_SIP_STUN_ENABLED)]; + QString & stun_server = accountDetails[QString(ACCOUNT_SIP_STUN_SERVER)]; + + // zrtp only parameters + QString & srtp_enabled = accountDetails[QString(ACCOUNT_SRTP_ENABLED)]; + QString & key_exchange = accountDetails[QString(ACCOUNT_KEY_EXCHANGE)]; + QString & zrtp_display_sas = accountDetails[QString(ACCOUNT_ZRTP_DISPLAY_SAS)]; + QString & zrtp_not_supp_warning = accountDetails[QString(ACCOUNT_ZRTP_NOT_SUPP_WARNING)]; + QString & zrtp_hello_hash = accountDetails[QString(ACCOUNT_ZRTP_HELLO_HASH)]; + QString & display_sas_once = accountDetails[QString(ACCOUNT_DISPLAY_SAS_ONCE)]; + + // interface paramters + QString & locale_interface = accountDetails[QString(LOCAL_INTERFACE)]; + QString & published_address = accountDetails[QString(PUBLISHED_ADDRESS)]; + + bool is_using_sflphone_org = field(FIELD_SFL_ACCOUNT).toBool(); + bool is_using_sip = false; + bool is_create_account = false; + + // sflphone.org + if(is_using_sflphone_org) { QString emailAddress = field(FIELD_EMAIL_ADDRESS).toString(); char charEmailAddress[1024]; strncpy(charEmailAddress, emailAddress.toLatin1(), sizeof(charEmailAddress) - 1); - rest_account acc = get_rest_account(SFL_ACCOUNT_HOST, charEmailAddress); + if(acc.success) { ret += i18n("This assistant is now finished.") + "\n"; - alias = QString(acc.user) + "@" + SFL_ACCOUNT_HOST; + field(FIELD_SIP_ALIAS) = QString(acc.user) + "@" + SFL_ACCOUNT_HOST; + field(FIELD_SIP_VOICEMAIL) = QString(); + field(FIELD_SIP_SERVER) = QString(SFL_ACCOUNT_HOST); + field(FIELD_SIP_PASSWORD) = QString(acc.passwd); + field(FIELD_SIP_USER) = QString(acc.user); + + protocol = QString(ACCOUNT_TYPE_SIP); server = QString(SFL_ACCOUNT_HOST); - user = QString(acc.user); password = QString(acc.passwd); - mailbox = QString(); - protocol = QString(ACCOUNT_TYPE_SIP); - createAccount = true; - sip = true; + user = QString(acc.user); + enabled = QString(ACCOUNT_ENABLED_TRUE); + + is_create_account = true; + is_using_sip = true; } else { ret += i18n("Creation of account has failed for the reason") + " :\n"; ret += acc.reason; } + } + else if(field(FIELD_SIP_ACCOUNT).toBool()) //sip + { + ret += i18n("This assistant is now finished.") + "\n"; + + alias = field(FIELD_SIP_ALIAS).toString(); + enabled = QString(ACCOUNT_ENABLED_TRUE); + mailbox = field(FIELD_SIP_VOICEMAIL).toString(); + protocol = QString(ACCOUNT_TYPE_SIP); + server = field(FIELD_SIP_SERVER).toString(); + password = field(FIELD_SIP_PASSWORD).toString(); + user = field(FIELD_SIP_USER).toString(); + + is_create_account = true; + is_using_sip = true; + } - else + else // iax { ret += i18n("This assistant is now finished.") + "\n"; - bool SIPAccount = field(FIELD_SIP_ACCOUNT).toBool(); - if(SIPAccount) + + alias = field(FIELD_IAX_ALIAS).toString(); + enabled = QString(ACCOUNT_ENABLED_TRUE); + mailbox = field(FIELD_IAX_VOICEMAIL).toString(); + protocol = QString(ACCOUNT_TYPE_IAX); + server = field(FIELD_IAX_SERVER).toString(); + password = field(FIELD_IAX_PASSWORD).toString(); + user = field(FIELD_IAX_USER).toString(); + + is_create_account = true; + is_using_sip = false; + } + + + // common sip paramaters + if(is_using_sip) + { + if(field(FIELD_SIP_ENABLE_STUN).toBool()) { - alias = field(FIELD_SIP_ALIAS).toString(); - server = field(FIELD_SIP_SERVER).toString(); - user = field(FIELD_SIP_USER).toString(); - password = field(FIELD_SIP_PASSWORD).toString(); - mailbox = field(FIELD_SIP_VOICEMAIL).toString(); - protocol = QString(ACCOUNT_TYPE_SIP); - sip = true; - + stun_enabled = QString(ACCOUNT_ENABLED_TRUE); + stun_server = field(FIELD_SIP_STUN_SERVER).toString(); } else { - alias = field(FIELD_IAX_ALIAS).toString(); - server = field(FIELD_IAX_SERVER).toString(); - user = field(FIELD_IAX_USER).toString(); - password = field(FIELD_IAX_PASSWORD).toString(); - mailbox = field(FIELD_IAX_VOICEMAIL).toString(); - protocol = QString(ACCOUNT_TYPE_IAX); + stun_enabled = QString(ACCOUNT_ENABLED_FALSE); + stun_server = QString(); } - createAccount = true; - } - if(createAccount) - { - enabled = ACCOUNT_ENABLED_TRUE; - resolveOnce = "FALSE"; - regExpire = QString::number(ACCOUNT_EXPIRE_DEFAULT); - ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance(); - QString accountId = configurationManager.addAccount(accountDetails); - //configurationManager.sendRegister(accountId, 1); - if(sip) + + if(field(FIELD_ZRTP_ENABLED).toBool()) { - bool enableStun = field(FIELD_ENABLE_STUN).toBool(); - QString stunServer = field(FIELD_STUN_SERVER).toString(); - if(enableStun != configurationManager.isStunEnabled()) configurationManager.enableStun(); - if(enableStun) configurationManager.setStunServer(stunServer); + srtp_enabled = QString(ACCOUNT_ENABLED_TRUE); + key_exchange = QString(ZRTP); + zrtp_display_sas = QString(ACCOUNT_ENABLED_TRUE); + zrtp_not_supp_warning = QString(ACCOUNT_ENABLED_TRUE); + zrtp_hello_hash = QString(ACCOUNT_ENABLED_TRUE); + display_sas_once = QString(ACCOUNT_ENABLED_FALSE); } + + QStringList ifaceList = configurationManager.getAllIpInterface(); + + locale_interface = ifaceList.at(0); + published_address = ifaceList.at(0); + ret += i18n("Alias") + " : " + alias + "\n"; ret += i18n("Server") + " : " + server + "\n"; ret += i18n("Username") + " : " + user + "\n"; @@ -265,6 +314,11 @@ void AccountWizard::accept() ret += i18n("Protocol") + " : " + protocol + "\n"; ret += i18n("Voicemail number") + " : " + mailbox + "\n"; } + + if(is_create_account) + { + QString accountId = configurationManager.addAccount(accountDetails); + } qDebug() << ret; QDialog::accept(); restart(); @@ -403,12 +457,19 @@ WizardAccountEmailAddressPage::WizardAccountEmailAddressPage(QWidget *parent) label_emailAddress = new QLabel(i18n("Email address")); lineEdit_emailAddress = new QLineEdit(); + label_enableZrtp = new QLabel(i18n("Secure with ZRTP")); + checkBox_enableZrtp = new QCheckBox(); registerField(FIELD_EMAIL_ADDRESS, lineEdit_emailAddress); + registerField(FIELD_ZRTP_ENABLED, checkBox_enableZrtp); QFormLayout *layout = new QFormLayout; + layout->setWidget(0, QFormLayout::LabelRole, label_emailAddress); layout->setWidget(0, QFormLayout::FieldRole, lineEdit_emailAddress); + layout->setWidget(1, QFormLayout::LabelRole, label_enableZrtp); + layout->setWidget(1, QFormLayout::FieldRole, checkBox_enableZrtp); + setLayout(layout); } @@ -417,6 +478,8 @@ WizardAccountEmailAddressPage::~WizardAccountEmailAddressPage() { delete label_emailAddress; delete lineEdit_emailAddress; + delete label_enableZrtp; + delete checkBox_enableZrtp; } int WizardAccountEmailAddressPage::nextId() const @@ -429,18 +492,10 @@ int WizardAccountEmailAddressPage::nextId() const * Page of account settings. * ***************************************************************************/ -WizardAccountFormPage::WizardAccountFormPage(int type, QWidget *parent) +WizardAccountSIPFormPage::WizardAccountSIPFormPage(QWidget *parent) : QWizardPage(parent) { - this->type = type; - if(type == SIP) - { - setTitle(i18n("SIP account settings")); - } - else - { - setTitle(i18n("IAX2 account settings")); - } + setTitle(i18n("SIP account settings")); setSubTitle(i18n("Please fill the following information")); label_alias = new QLabel(i18n("Alias") + " *"); @@ -448,74 +503,130 @@ WizardAccountFormPage::WizardAccountFormPage(int type, QWidget *parent) label_user = new QLabel(i18n("Username") + " *"); label_password = new QLabel(i18n("Password") + " *"); label_voicemail = new QLabel(i18n("Voicemail number")); - + label_enableZrtp = new QLabel(i18n("Secure with ZRTP")); + lineEdit_alias = new QLineEdit; lineEdit_server = new QLineEdit; lineEdit_user = new QLineEdit; lineEdit_password = new QLineEdit; lineEdit_voicemail = new QLineEdit; + checkBox_enableZrtp = new QCheckBox; lineEdit_password->setEchoMode(QLineEdit::Password); - if(type == SIP) - { - registerField(QString(FIELD_SIP_ALIAS) + "*", lineEdit_alias); - registerField(QString(FIELD_SIP_SERVER) + "*", lineEdit_server); - registerField(QString(FIELD_SIP_USER) + "*", lineEdit_user); - registerField(QString(FIELD_SIP_PASSWORD) + "*", lineEdit_password); - registerField(QString(FIELD_SIP_VOICEMAIL), lineEdit_voicemail); - } - else - { - registerField(QString(FIELD_IAX_ALIAS) + "*", lineEdit_alias); - registerField(QString(FIELD_IAX_SERVER) + "*", lineEdit_server); - registerField(QString(FIELD_IAX_USER) + "*", lineEdit_user); - registerField(QString(FIELD_IAX_PASSWORD) + "*", lineEdit_password); - registerField(QString(FIELD_IAX_VOICEMAIL), lineEdit_voicemail); - } + registerField(QString(FIELD_SIP_ALIAS) + "*", lineEdit_alias); + registerField(QString(FIELD_SIP_SERVER) + "*", lineEdit_server); + registerField(QString(FIELD_SIP_USER) + "*", lineEdit_user); + registerField(QString(FIELD_SIP_PASSWORD) + "*", lineEdit_password); + registerField(QString(FIELD_SIP_VOICEMAIL), lineEdit_voicemail); + registerField(QString(FIELD_ZRTP_ENABLED), checkBox_enableZrtp); QFormLayout *layout = new QFormLayout; layout->setWidget(0, QFormLayout::LabelRole, label_alias); layout->setWidget(0, QFormLayout::FieldRole, lineEdit_alias); - layout->setWidget(1, QFormLayout::LabelRole, label_server); + layout->setWidget(1, QFormLayout::LabelRole, label_server); layout->setWidget(1, QFormLayout::FieldRole, lineEdit_server); - layout->setWidget(2, QFormLayout::LabelRole, label_user); + layout->setWidget(2, QFormLayout::LabelRole, label_user); layout->setWidget(2, QFormLayout::FieldRole, lineEdit_user); - layout->setWidget(3, QFormLayout::LabelRole, label_password); + layout->setWidget(3, QFormLayout::LabelRole, label_password); layout->setWidget(3, QFormLayout::FieldRole, lineEdit_password); - layout->setWidget(4, QFormLayout::LabelRole, label_voicemail); + layout->setWidget(4, QFormLayout::LabelRole, label_voicemail); layout->setWidget(4, QFormLayout::FieldRole, lineEdit_voicemail); + layout->setWidget(5, QFormLayout::LabelRole, label_enableZrtp); + layout->setWidget(5, QFormLayout::FieldRole, checkBox_enableZrtp); setLayout(layout); } -WizardAccountFormPage::~WizardAccountFormPage() +WizardAccountSIPFormPage::~WizardAccountSIPFormPage() { delete label_alias; delete label_server; delete label_user; delete label_password; delete label_voicemail; + delete label_enableZrtp; delete lineEdit_alias; delete lineEdit_server; delete lineEdit_user; delete lineEdit_password; delete lineEdit_voicemail; + delete checkBox_enableZrtp; } -int WizardAccountFormPage::nextId() const +int WizardAccountSIPFormPage::nextId() const { - if(type == SIP) - { - return AccountWizard::Page_Stun; - } - else - { - return AccountWizard::Page_Conclusion; - } + return AccountWizard::Page_Stun; +} + +/*************************************************************************** + * Class WizardAccountFormPage * + * Page of account settings. * + ***************************************************************************/ + +WizardAccountIAXFormPage::WizardAccountIAXFormPage(QWidget *parent) + : QWizardPage(parent) +{ + setTitle(i18n("IAX2 account settings")); + setSubTitle(i18n("Please fill the following information")); + + label_alias = new QLabel(i18n("Alias") + " *"); + label_server = new QLabel(i18n("Server") + " *"); + label_user = new QLabel(i18n("Username") + " *"); + label_password = new QLabel(i18n("Password") + " *"); + label_voicemail = new QLabel(i18n("Voicemail number")); + + lineEdit_alias = new QLineEdit; + lineEdit_server = new QLineEdit; + lineEdit_user = new QLineEdit; + lineEdit_password = new QLineEdit; + lineEdit_voicemail = new QLineEdit; + + lineEdit_password->setEchoMode(QLineEdit::Password); + + registerField(QString(FIELD_IAX_ALIAS) + "*", lineEdit_alias); + registerField(QString(FIELD_IAX_SERVER) + "*", lineEdit_server); + registerField(QString(FIELD_IAX_USER) + "*", lineEdit_user); + registerField(QString(FIELD_IAX_PASSWORD) + "*", lineEdit_password); + registerField(QString(FIELD_IAX_VOICEMAIL), lineEdit_voicemail); + + QFormLayout *layout = new QFormLayout; + + layout->setWidget(0, QFormLayout::LabelRole, label_alias); + layout->setWidget(0, QFormLayout::FieldRole, lineEdit_alias); + layout->setWidget(1, QFormLayout::LabelRole, label_server); + layout->setWidget(1, QFormLayout::FieldRole, lineEdit_server); + layout->setWidget(2, QFormLayout::LabelRole, label_user); + layout->setWidget(2, QFormLayout::FieldRole, lineEdit_user); + layout->setWidget(3, QFormLayout::LabelRole, label_password); + layout->setWidget(3, QFormLayout::FieldRole, lineEdit_password); + layout->setWidget(4, QFormLayout::LabelRole, label_voicemail); + layout->setWidget(4, QFormLayout::FieldRole, lineEdit_voicemail); + + setLayout(layout); +} + + +WizardAccountIAXFormPage::~WizardAccountIAXFormPage() +{ + delete label_alias; + delete label_server; + delete label_user; + delete label_password; + delete label_voicemail; + delete lineEdit_alias; + delete lineEdit_server; + delete lineEdit_user; + delete lineEdit_password; + delete lineEdit_voicemail; +} + +int WizardAccountIAXFormPage::nextId() const +{ + return AccountWizard::Page_Conclusion; } /*************************************************************************** @@ -533,8 +644,8 @@ WizardAccountStunPage::WizardAccountStunPage(QWidget *parent) label_StunServer = new QLabel(i18n("Stun Server")); lineEdit_StunServer = new QLineEdit(); - registerField(FIELD_ENABLE_STUN, checkBox_enableStun); - registerField(FIELD_STUN_SERVER, lineEdit_StunServer); + registerField(FIELD_SIP_ENABLE_STUN, checkBox_enableStun); + registerField(FIELD_SIP_STUN_SERVER, lineEdit_StunServer); QFormLayout *layout = new QFormLayout; layout->addWidget(checkBox_enableStun); diff --git a/sflphone-client-kde/src/AccountWizard.h b/sflphone-client-kde/src/AccountWizard.h index e0791ada5ce78cd677793f16ab6f285ce136b068..f01c5170ccf0590190a540b2ea4ca7d53558ba9f 100644 --- a/sflphone-client-kde/src/AccountWizard.h +++ b/sflphone-client-kde/src/AccountWizard.h @@ -119,21 +119,23 @@ public: private: QLabel * label_emailAddress; QLineEdit * lineEdit_emailAddress; + QLabel * label_enableZrtp; + QCheckBox * checkBox_enableZrtp; }; /*************************************************************************** - * Class WizardAccountFormPage * + * Class WizardAccountSIPFormPage * * Page of account settings. * ***************************************************************************/ -class WizardAccountFormPage : public QWizardPage +class WizardAccountSIPFormPage : public QWizardPage { Q_OBJECT public: - WizardAccountFormPage(int type, QWidget *parent = 0); - ~WizardAccountFormPage(); + WizardAccountSIPFormPage(QWidget *parent = 0); + ~WizardAccountSIPFormPage(); int nextId() const; private: @@ -144,7 +146,40 @@ private: QLabel * label_user; QLabel * label_password; QLabel * label_voicemail; + QLabel * label_enableZrtp; + + QLineEdit * lineEdit_alias; + QLineEdit * lineEdit_server; + QLineEdit * lineEdit_user; + QLineEdit * lineEdit_password; + QLineEdit * lineEdit_voicemail; + QCheckBox * checkBox_enableZrtp; +}; + +/*************************************************************************** + * Class WizardAccountIAXFormPage * + * Page of account settings. * + ***************************************************************************/ + +class WizardAccountIAXFormPage : public QWizardPage +{ + Q_OBJECT + +public: + WizardAccountIAXFormPage(QWidget *parent = 0); + ~WizardAccountIAXFormPage(); + int nextId() const; + +private: + int type; + + QLabel * label_alias; + QLabel * label_server; + QLabel * label_user; + QLabel * label_password; + QLabel * label_voicemail; + QLineEdit * lineEdit_alias; QLineEdit * lineEdit_server; QLineEdit * lineEdit_user; diff --git a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp index d6e8fe9b505f762fdf0e812506e3fac3cfc00e03..c1c983d72ca381b37c0fe2badcd4f355109fe2b8 100644 --- a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp +++ b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp @@ -63,9 +63,6 @@ void ConfigurationSkeleton::readConfig() //Call history settings setEnableHistory(QVariant(configurationManager.getHistoryEnabled()).toBool()); setHistoryMax(configurationManager.getHistoryLimit()); - - //SIP port settings - setSIPPort(configurationManager.getSipPort()); //////////////////////// ////Display settings//// @@ -85,11 +82,6 @@ void ConfigurationSkeleton::readConfig() // loadAccountList(); - - //Stun settings - setEnableStun(configurationManager.isStunEnabled()); - setStunServer(configurationManager.getStunServer()); - ////////////////////// ////Audio settings//// @@ -127,11 +119,7 @@ void ConfigurationSkeleton::readConfig() qDebug() << "outputDevice = " << devices[0]; int outputDevice = devices[0].toInt(& ok); if(!ok) qDebug() << "outputDevice is not a number"; - setAlsaOutputDevice(outputDevice); - - - //pulseaudio settings - setPulseAudioVolumeAlter(configurationManager.getPulseAppVolumeControl()); + setAlsaOutputDevice(outputDevice); /////////////////////// ////Record settings//// @@ -195,8 +183,6 @@ void ConfigurationSkeleton::writeConfig() configurationManager.setHistoryEnabled(); } configurationManager.setHistoryLimit(historyMax()); - //SIP port settings - configurationManager.setSipPort(sIPPort()); //////////////////////// @@ -222,11 +208,6 @@ void ConfigurationSkeleton::writeConfig() // saveAccountList(); - - //Stun settings - if(enableStun() != configurationManager.isStunEnabled()) configurationManager.enableStun(); - configurationManager.setStunServer(stunServer()); - ////////////////////// ////Audio settings//// ////////////////////// @@ -258,12 +239,6 @@ void ConfigurationSkeleton::writeConfig() configurationManager.setAudioInputDevice(alsaInputDevice()); configurationManager.setAudioOutputDevice(alsaOutputDevice()); } - //pulseaudio settings - if(newManager == EnumInterface::PulseAudio) - { - qDebug() << "setting pulseaudio settings"; - if(pulseAudioVolumeAlter() != configurationManager.getPulseAppVolumeControl()) configurationManager.setPulseAppVolumeControl(); - } /////////////////////// diff --git a/sflphone-client-kde/src/dbus/callmanager-introspec.xml b/sflphone-client-kde/src/dbus/callmanager-introspec.xml index e9130e9a91a8d7bf17f3dc43180f33d1e11438e4..e4dcb0bdf4a0c8e28782da651451c4160c678fcc 100644 --- a/sflphone-client-kde/src/dbus/callmanager-introspec.xml +++ b/sflphone-client-kde/src/dbus/callmanager-introspec.xml @@ -1,129 +1,243 @@ <?xml version="1.0" ?> <node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.CallManager"> - - <method name="placeCall"> - <arg type="s" name="accountID" direction="in"/> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="refuse"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="accept"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hangUp"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="hold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="unhold"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="transfert"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="to" direction="in"/> - </method> - - <method name="playDTMF"> - <arg type="s" name="key" direction="in"/> - </method> - - <method name="startTone"> - <arg type="i" name="start" direction="in"/> - <arg type="i" name="type" direction="in"/> - </method> - - <method name="setVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="in"/> - </method> - - <method name="getVolume"> - <arg type="s" name="device" direction="in"/> - <arg type="d" name="value" direction="out"/> - </method> - - <method name="setRecording"> - <arg type="s" name="callID" direction="in"/> - </method> - - <method name="getIsRecording"> - <arg type="s" name="callID" direction="in"/> - <arg type="b" name="isRecording" direction="out"/> - </method> - - <method name="getCallDetails"> - <arg type="s" name="callID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="infos" direction="out"/> - </method> - - <method name="getCallList"> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCurrentCallID"> - <arg type="s" name="callID" direction="out"/> - </method> - - <method name="getCurrentCodecName"> - <arg type="s" name="callID" direction="in"/> - <arg type="s" name="codecName" direction="out"/> - </method> - - <signal name="currentSelectedCodec"> - <arg type="s" name="callID" direction="out" /> - <arg type="s" name="codecName" direction="out"/> - </signal> - - <signal name="incomingCall"> - <arg type="s" name="accountID" /> - <arg type="s" name="callID" /> - <arg type="s" name="from" /> - </signal> - - <signal name="incomingMessage"> - <arg type="s" name="accountID" direction="out" /> - <arg type="s" name="message" direction="out"/> - </signal> - - <signal name="callStateChanged"> - <arg type="s" name="callID" direction="out"/> - <arg type="s" name="state" direction="out"/> - </signal> - - <signal name="voiceMailNotify"> - <arg type="s" name="accountID" direction="out"/> - <arg type="i" name="count" direction="out"/> - </signal> - - <signal name="volumeChanged"> - <arg type="s" name="device" direction="out"/> - <arg type="d" name="value" direction="out"/> - </signal> - - <signal name="transferSucceded"> - </signal> - - <signal name="transferFailed"> - </signal> - - <!-- - <signal name="error"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </signal> - --> - - </interface> - </node> + <interface name="org.sflphone.SFLphone.CallManager"> + + <method name="placeCall"> + <arg type="s" name="accountID" direction="in"/> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="to" direction="in"/> + </method> + + <method name="refuse"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="accept"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="hangUp"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="hangUpConference"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="hold"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="unhold"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="transfert"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="to" direction="in"/> + </method> + + <method name="playDTMF"> + <arg type="s" name="key" direction="in"/> + </method> + + <method name="startTone"> + <arg type="i" name="start" direction="in"/> + <arg type="i" name="type" direction="in"/> + </method> + + <method name="setVolume"> + <arg type="s" name="device" direction="in"/> + <arg type="d" name="value" direction="in"/> + </method> + + <method name="getVolume"> + <arg type="s" name="device" direction="in"/> + <arg type="d" name="value" direction="out"/> + </method> + + <method name="joinParticipant"> + <arg type="s" name="sel_callID" direction="in"/> + <arg type="s" name="drag_callID" direction="in"/> + </method> + + <method name="addParticipant"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="confID" direction="in"/> + </method> + + <method name="addMainParticipant"> + <arg type="s" name="confID" direction="in"/> + </method> + + <method name="detachParticipant"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="joinConference"> + <arg type="s" name="sel_confID" direction="in"/> + <arg type="s" name="drag_confID" direction="in"/> + </method> + + <method name="getConferenceDetails"> + <arg type="s" name="callID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out"/> + </method> + + <method name="getConferenceList"> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setRecording"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="getIsRecording"> + <arg type="s" name="callID" direction="in"/> + <arg type="b" name="isRecording" direction="out"/> + </method> + + <method name="getCallDetails"> + <arg type="s" name="callID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="infos" direction="out"/> + </method> + + <method name="getCallList"> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getCurrentCallID"> + <arg type="s" name="callID" direction="out"/> + </method> + + <method name="getCurrentCodecName"> + <arg type="s" name="callID" direction="in"/> + <arg type="s" name="codecName" direction="out"/> + </method> + + <signal name="currentSelectedCodec"> + <arg type="s" name="callID" direction="out" /> + <arg type="s" name="codecName" direction="out"/> + </signal> + + <signal name="incomingCall"> + <arg type="s" name="accountID" /> + <arg type="s" name="callID" /> + <arg type="s" name="from" /> + </signal> + + <signal name="incomingMessage"> + <arg type="s" name="accountID" direction="out" /> + <arg type="s" name="message" direction="out"/> + </signal> + + <signal name="callStateChanged"> + <arg type="s" name="callID" direction="out"/> + <arg type="s" name="state" direction="out"/> + </signal> + + <signal name="conferenceChanged"> + <arg type="s" name="confID" direction="out"/> + <arg type="s" name="state" direction="out"/> + </signal> + + <method name="getParticipantList"> + <arg type="s" name="confID" direction="in"/> + <arg type="as" name="list" direction="out"/> + </method> + + <signal name="conferenceCreated"> + <arg type="s" name="confID" direction="out"/> + </signal> + + <signal name="conferenceRemoved"> + <arg type="s" name="confID" direction="out"/> + </signal> + + <method name="holdConference"> + <arg type="s" name="confID" direction="in"/> + </method> + + <method name="unholdConference"> + <arg type="s" name="confID" direction="in"/> + </method> + + <signal name="sipCallStateChanged"> + <arg type="s" name="callID" direction="out"/> + <arg type="s" name="state" direction="out"/> + <arg type="i" name="code" direction="out"/> + </signal> + + <signal name="voiceMailNotify"> + <arg type="s" name="accountID" direction="out"/> + <arg type="i" name="count" direction="out"/> + </signal> + + <signal name="volumeChanged"> + <arg type="s" name="device" direction="out"/> + <arg type="d" name="value" direction="out"/> + </signal> + + <signal name="transferSucceded"> + </signal> + + <signal name="transferFailed"> + </signal> + + <!-- SRTP related methods and signals --> + <method name="setSASVerified"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="resetSASVerified"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="setConfirmGoClear"> + <arg type="s" name="callID" direction="in"/> + </method> + + <method name="requestGoClear"> + <arg type="s" name="callID" direction="in"/> + </method> + + <signal name="secureOn"> + <arg type="s" name="callID" direction="out" /> + <arg type="s" name="cipher" direction="out" /> + </signal> + + <signal name="secureOff"> + <arg type="s" name="callID" direction="out" /> + </signal> + + <signal name="showSAS"> + <arg type="s" name="callID" direction="out" /> + <arg type="s" name="sas" direction="out" /> + <arg type="b" name="verified" direction="out" /> + </signal> + + <signal name="zrtpNotSuppOther"> + <arg type="s" name="callID" direction="out" /> + </signal> + + <signal name="zrtpNegotiationFailed"> + <arg type="s" name="callID" direction="out" /> + <arg type="s" name="reason" direction="out" /> + <arg type="s" name="severity" direction="out" /> + </signal> + + <signal name="confirmGoClear"> + <arg type="s" name="callID" direction="out" /> + </signal> + +<!-- + <signal name="error"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </signal> + + </interface> +</node> diff --git a/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml b/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml index d0bd440ab3a8b67cb94cfbadc0fd6a2c4305de6a..8e966c933bac20ae18639f159e4942126cf8c526 100644 --- a/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-client-kde/src/dbus/configurationmanager-introspec.xml @@ -1,336 +1,390 @@ <?xml version="1.0" ?> <node name="/org/sflphone/SFLphone"> - <interface name="org.sflphone.SFLphone.ConfigurationManager"> - - <!-- Accounts-related methods --> - <method name="getAccountDetails"> - <arg type="s" name="accountID" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="out"/> - </method> - - <method name="setAccountDetails"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> - <arg type="s" name="accountID" direction="in"/> - <arg type="a{ss}" name="details" direction="in"/> - </method> - - <method name="addAccount"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="details" direction="in"/> - <arg type="s" name="createdAccountId" direction="out"/> - </method> - - <method name="setAccountsOrder"> - <arg type="s" name="order" direction="in"/> - </method> - - <method name="removeAccount"> - <arg type="s" name="accoundID" direction="in"/> - </method> - - <method name="getAccountList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="sendRegister"> - <arg type="s" name="accountID" direction="in"/> - <arg type="i" name="expire" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Various audio-related methods --> - - <method name="getToneLocaleList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getVersion"> - <arg type="s" name="version" direction="out"/> - </method> - - <method name="getRingtoneList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getPlaybackDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getRecordDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="isRingtoneEnabled"> - <arg type="i" name="bool" direction="out"/> - </method> - - <method name="ringtoneEnabled"> - </method> - - <method name="getRingtoneChoice"> - <arg type="s" name="tone" direction="out"/> - </method> - - <method name="setRingtoneChoice"> - <arg type="s" name="tone" direction="in"/> - </method> - - <method name="getAudioManager"> - <arg type="i" name="api" direction="out"/> - </method> - - <method name="setAudioManager"> - <arg type="i" name="api" direction="in"/> - </method> - - <method name="getRecordPath"> - <arg type="s" name="rec" direction="out"/> - </method> - - <method name="setRecordPath"> - <arg type="s" name="rec" direction="in"/> - </method> - - <!-- /////////////////////// --> - - <!-- Codecs-related methods --> - - <method name="getCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getCodecDetails"> - <arg type="i" name="payload" direction="in"/> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="details" direction="out"/> - </method> - - <method name="getActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setActiveCodecList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="list" direction="in"/> - </method> - - - <!-- Audio devices methods --> - - <method name="getInputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getOutputAudioPluginList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setInputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="setOutputAudioPlugin"> - <arg type="s" name="audioPlugin" direction="in"/> - </method> - - <method name="getAudioOutputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioOutputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getAudioInputDeviceList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="setAudioInputDevice"> - <arg type="i" name="index" direction="in"/> - </method> - - <method name="getCurrentAudioDevicesIndex"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="list" direction="out"/> - </method> - - <method name="getAudioDeviceIndex"> - <arg type="s" name="name" direction="in"/> - <arg type="i" name="index" direction="out"/> - </method> - - <method name="getCurrentAudioOutputPlugin"> - <arg type="s" name="plugin" direction="out"/> - </method> - - <!-- General Settings Panel --> - - <method name="isIax2Enabled"> - <arg type="i" name="res" direction="out"/> - </method> - - <method name="setNotify"> - </method> - - <method name="getNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="setMailNotify"> - </method> - - <method name="getMailNotify"> - <arg type="i" name="level" direction="out"/> - </method> - - <method name="getDialpad"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setDialpad"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getSearchbar"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSearchbar"> - </method> - - <method name="setHistoryEnabled"> - </method> - - <method name="getHistoryEnabled"> - <arg type="s" name="state" direction="out"/> - </method> - - <method name="getVolumeControls"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setVolumeControls"> - <arg type="b" name="display" direction="in"/> - </method> - - <method name="getHistoryLimit"> - <arg type="i" name="days" direction="out"/> - </method> - - <method name="setHistoryLimit"> - <arg type="i" name="days" direction="in"/> - </method> - - <method name="startHidden"> - </method> - - <method name="isStartHidden"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="popupMode"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="switchPopupMode"> - </method> - - <method name="setPulseAppVolumeControl"> - </method> - - <method name="getPulseAppVolumeControl"> - <arg type="i" name="state" direction="out"/> - </method> - - <method name="setSipPort"> - <arg type="i" name="port" direction="in"/> - </method> - - <method name="getSipPort"> - <arg type="i" name="port" direction="out"/> - </method> - - <method name="setStunServer"> - <arg type="s" name="server" direction="in"/> - </method> - - <method name="getStunServer"> - <arg type="s" name="server" direction="out"/> - </method> - - <method name="enableStun"> - </method> - - <method name="isStunEnabled"> - <arg type="i" name="state" direction="out"/> - </method> - - <!-- Addressbook configuration --> - <method name="getAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="out"/> - </method> - - <method name="setAddressbookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> - <arg type="a{si}" name="settings" direction="in"/> - </method> - - <!-- Addressbook list --> - <method name="getAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> - <arg type="as" name="settings" direction="out"/> - </method> - - <method name="setAddressbookList"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> - <arg type="as" name="settings" direction="in"/> - </method> - - <!-- Hook configuration --> - <method name="getHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="out"/> - </method> - - <method name="setHookSettings"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="settings" direction="in"/> - </method> - - <method name="getHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="out"/> - </method> - - <method name="setHistory"> - <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> - <arg type="a{ss}" name="entries" direction="in"/> - </method> - - - <signal name="accountsChanged"> - </signal> + <interface name="org.sflphone.SFLphone.ConfigurationManager"> + + <!-- Accounts-related methods --> + <method name="getAccountDetails"> + <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setAccountDetails"> + <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="setCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="index" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.In2" value="MapStringString"/> + <arg type="a{ss}" name="credentialInformation" direction="in"/> + </method> + + <method name="setNumberOfCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="number" direction="in"/> + </method> + + <method name="deleteAllCredential"> + <arg type="s" name="accountID" direction="in"/> + </method> + + <method name="getIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setIp2IpDetails"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="getCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="index" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="credentialInformation" direction="out"/> + </method> + + <method name="getNumberOfCredential"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="numberOfCredential" direction="out"/> + </method> + + <method name="addAccount"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="in"/> + <arg type="s" name="createdAccountId" direction="out"/> + </method> + + <method name="setAccountsOrder"> + <arg type="s" name="order" direction="in"/> + </method> + + <method name="removeAccount"> + <arg type="s" name="accoundID" direction="in"/> + </method> + + <method name="getAccountList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="sendRegister"> + <arg type="s" name="accountID" direction="in"/> + <arg type="i" name="expire" direction="in"/> + </method> + + <!-- /////////////////////// --> + + <!-- Various audio-related methods --> + + <method name="getToneLocaleList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getVersion"> + <arg type="s" name="version" direction="out"/> + </method> + + <method name="getRingtoneList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getPlaybackDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getRecordDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="isRingtoneEnabled"> + <arg type="i" name="bool" direction="out"/> + </method> + + <method name="ringtoneEnabled"> + </method> + + <method name="getRingtoneChoice"> + <arg type="s" name="tone" direction="out"/> + </method> + + <method name="setRingtoneChoice"> + <arg type="s" name="tone" direction="in"/> + </method> + + <method name="getAudioManager"> + <arg type="i" name="api" direction="out"/> + </method> + + <method name="setAudioManager"> + <arg type="i" name="api" direction="in"/> + </method> + + <method name="getRecordPath"> + <arg type="s" name="rec" direction="out"/> + </method> + + <method name="setRecordPath"> + <arg type="s" name="rec" direction="in"/> + </method> + + <!-- /////////////////////// --> + + <!-- Codecs-related methods --> + + <method name="getCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getCodecDetails"> + <arg type="i" name="payload" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="details" direction="out"/> + </method> + + <method name="getActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setActiveCodecList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="list" direction="in"/> + </method> + + + <!-- Audio devices methods --> + + <method name="getInputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getOutputAudioPluginList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setInputAudioPlugin"> + <arg type="s" name="audioPlugin" direction="in"/> + </method> + + <method name="setOutputAudioPlugin"> + <arg type="s" name="audioPlugin" direction="in"/> + </method> + + <method name="getAudioOutputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setAudioOutputDevice"> + <arg type="i" name="index" direction="in"/> + </method> + + <method name="getAudioInputDeviceList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="setAudioInputDevice"> + <arg type="i" name="index" direction="in"/> + </method> + + <method name="getCurrentAudioDevicesIndex"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getAudioDeviceIndex"> + <arg type="s" name="name" direction="in"/> + <arg type="i" name="index" direction="out"/> + </method> + + <method name="getCurrentAudioOutputPlugin"> + <arg type="s" name="plugin" direction="out"/> + </method> + + <!-- General Settings Panel --> + + <method name="isMd5CredentialHashing"> + <arg type="b" name="res" direction="out"/> + </method> + + <method name="setMd5CredentialHashing"> + <arg type="b" name="enabled" direction="in"/> + </method> + + <method name="isIax2Enabled"> + <arg type="i" name="res" direction="out"/> + </method> + + <method name="setNotify"> + </method> + + <method name="getNotify"> + <arg type="i" name="level" direction="out"/> + </method> + + <method name="setMailNotify"> + </method> + + <method name="getMailNotify"> + <arg type="i" name="level" direction="out"/> + </method> + + <method name="getDialpad"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setDialpad"> + <arg type="b" name="display" direction="in"/> + </method> + + <method name="getSearchbar"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setSearchbar"> + </method> + + <method name="setHistoryEnabled"> + </method> + + <method name="getHistoryEnabled"> + <arg type="s" name="state" direction="out"/> + </method> + + <method name="getVolumeControls"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="setVolumeControls"> + <arg type="b" name="display" direction="in"/> + </method> + + <method name="getHistoryLimit"> + <arg type="i" name="days" direction="out"/> + </method> + + <method name="setHistoryLimit"> + <arg type="i" name="days" direction="in"/> + </method> + + <method name="startHidden"> + </method> + + <method name="isStartHidden"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="popupMode"> + <arg type="i" name="state" direction="out"/> + </method> + + <method name="switchPopupMode"> + </method> + + <!-- Addressbook configuration --> + <method name="getAddressbookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="out"/> + </method> + + <method name="setAddressbookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringInt"/> + <arg type="a{si}" name="settings" direction="in"/> + </method> + + <!-- Addressbook list --> + <method name="getAddressbookList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="settings" direction="out"/> + </method> + + <method name="setAddressbookList"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="VectorString"/> + <arg type="as" name="settings" direction="in"/> + </method> + + + <!-- Hook configuration --> + <method name="getHookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="out"/> + </method> + + <method name="setHookSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="settings" direction="in"/> + </method> + + <method name="getHistory"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="out"/> + </method> + + <method name="setHistory"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="MapStringString"/> + <arg type="a{ss}" name="entries" direction="in"/> + </method> + + <signal name="accountsChanged"> + </signal> + + <signal name="audioManagerChanged"> + </signal> + + <signal name="errorAlert"> + <arg type="i" name="code" direction="out"/> + </signal> + + <!-- TLS Methods --> + <method name="getSupportedTlsMethod"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + <method name="getTlsSettingsDefault"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="getTlsSettings"> + <arg type="s" name="accountID" direction="in"/> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="MapStringString"/> + <arg type="a{ss}" name="details" direction="out"/> + </method> + + <method name="setTlsSettings"> + <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="MapStringString"/> + <arg type="s" name="accountID" direction="in"/> + <arg type="a{ss}" name="details" direction="in"/> + </method> + + <method name="getAddrFromInterfaceName"> + <arg type="s" name="interface" direction="in"/> + <arg type="s" name="address" direction="out"/> + </method> + + <method name="getAllIpInterface"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> - <signal name="audioManagerChanged"> - </signal> - - <signal name="errorAlert"> - <arg type="i" name="code" direction="out"/> - </signal> - - </interface> - </node> + <method name="getAllIpInterfaceByName"> + <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="VectorString"/> + <arg type="as" name="list" direction="out"/> + </method> + + </interface> +</node> diff --git a/sflphone-client-kde/src/sflphone_const.h b/sflphone-client-kde/src/sflphone_const.h index 454f0da177989cc14cde791410948c9f77b6f218..c6ccd80411639818a5500d4fe87c49c8ab8b86e8 100644 --- a/sflphone-client-kde/src/sflphone_const.h +++ b/sflphone-client-kde/src/sflphone_const.h @@ -109,26 +109,65 @@ /** Account details */ -#define ACCOUNT_TYPE "Account.type" -#define ACCOUNT_ALIAS "Account.alias" -#define ACCOUNT_ENABLED "Account.enable" -#define ACCOUNT_MAILBOX "Account.mailbox" -#define ACCOUNT_HOSTNAME "hostname" -#define ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" -#define ACCOUNT_EXPIRE "Account.expire" -#define ACCOUNT_USERNAME "username" -#define ACCOUNT_PASSWORD "password" -#define ACCOUNT_STATUS "Status" +#define ACCOUNT_TYPE "Account.type" +#define ACCOUNT_ALIAS "Account.alias" +#define ACCOUNT_ENABLED "Account.enable" +#define ACCOUNT_MAILBOX "Account.mailbox" +#define ACCOUNT_RESOLVE_ONCE "Account.resolveOnce" +#define ACCOUNT_REGISTRATION_EXPIRE "Account.expire" #define ACCOUNT_SIP_STUN_SERVER "STUN.server" -#define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" +#define ACCOUNT_SIP_STUN_ENABLED "STUN.enable" +#define ACCOUNT_HOSTNAME "hostname" +#define ACCOUNT_USERNAME "username" +#define ACCOUNT_PASSWORD "password" +#define ACCOUNT_AUTHENTICATION_USERNAME "authenticationUsername" +#define ACCOUNT_REALM "realm" +#define ACCOUNT_KEY_EXCHANGE "SRTP.keyExchange" +#define ACCOUNT_SRTP_ENABLED "SRTP.enable" +#define ACCOUNT_ZRTP_DISPLAY_SAS "ZRTP.displaySAS" +#define ACCOUNT_ZRTP_NOT_SUPP_WARNING "ZRTP.notSuppWarning" +#define ACCOUNT_ZRTP_HELLO_HASH "ZRTP.helloHashEnable" +#define ACCOUNT_DISPLAY_SAS_ONCE "ZRTP.displaySasOnce" +#define KEY_EXCHANGE_NONE "0" +#define ZRTP "1" +#define SDES "2" + +#define TLS_ENABLE "TLS.enable" +#define TLS_PORT "TLS.port" +#define TLS_CA_LIST_FILE "TLS.certificateListFile" +#define TLS_CERTIFICATE_FILE "TLS.certificateFile" +#define TLS_PRIVATE_KEY_FILE "TLS.privateKeyFile" +#define TLS_PASSWORD "TLS.password" +#define TLS_METHOD "TLS.method" +#define TLS_CIPHERS "TLS.ciphers" +#define TLS_SERVER_NAME "TLS.serverName" +#define TLS_VERIFY_SERVER "TLS.verifyServer" +#define TLS_VERIFY_CLIENT "TLS.verifyClient" +#define TLS_REQUIRE_CLIENT_CERTIFICATE "TLS.requireClientCertificate" +#define TLS_NEGOTIATION_TIMEOUT_SEC "TLS.negotiationTimeoutSec" +#define TLS_NEGOTIATION_TIMEOUT_MSEC "TLS.negotiationTimemoutMsec" + +#define LOCAL_INTERFACE "Account.localInterface" +#define PUBLISHED_SAMEAS_LOCAL "Account.publishedSameAsLocal" +#define LOCAL_PORT "Account.localPort" +#define PUBLISHED_PORT "Account.publishedPort" +#define PUBLISHED_ADDRESS "Account.publishedAddress" + +#define REGISTRATION_STATUS "Status" +#define REGISTRATION_STATE_CODE "Registration.code" +#define REGISTRATION_STATE_DESCRIPTION "Registration.description" + + +/** Maybe to remove **/ +#define ACCOUNT_EXPIRE "Account.expire" +#define ACCOUNT_STATUS "Status" #define ACCOUNT_EXPIRE_DEFAULT 600 - #define ACCOUNT_ENABLED_TRUE "true" #define ACCOUNT_ENABLED_FALSE "false" - #define ACCOUNT_TYPE_SIP "SIP" #define ACCOUNT_TYPE_IAX "IAX" #define ACCOUNT_TYPES_TAB {QString(ACCOUNT_TYPE_SIP), QString(ACCOUNT_TYPE_IAX)} +/*********************/ /** Constant variables */ #define ACCOUNT_MAILBOX_DEFAULT_VALUE "888"