diff --git a/fscomm/conf/sofia.conf.xml b/fscomm/conf/sofia.conf.xml index ad9a3944f8..67f7f5d958 100644 --- a/fscomm/conf/sofia.conf.xml +++ b/fscomm/conf/sofia.conf.xml @@ -10,117 +10,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fscomm/mainwindow.h b/fscomm/mainwindow.h index a6166642d8..103b1165dc 100644 --- a/fscomm/mainwindow.h +++ b/fscomm/mainwindow.h @@ -37,7 +37,7 @@ #include #include #include -#include +#include "preferences/prefdialog.h" namespace Ui { class MainWindow; diff --git a/fscomm/preferences/prefdialog.cpp b/fscomm/preferences/prefdialog.cpp index 8b537ec0b7..8a53fc2120 100644 --- a/fscomm/preferences/prefdialog.cpp +++ b/fscomm/preferences/prefdialog.cpp @@ -2,6 +2,7 @@ #include "prefdialog.h" #include "ui_prefdialog.h" #include "prefportaudio.h" +#include "prefsofia.h" PrefDialog::PrefDialog(QWidget *parent) : QDialog(parent), @@ -12,6 +13,7 @@ PrefDialog::PrefDialog(QWidget *parent) : connect(this, SIGNAL(accepted()), this, SLOT(writeConfig())); _mod_portaudio = new PrefPortaudio(ui, this); + _mod_sofia = new PrefSofia(ui, this); readConfig(); } @@ -23,6 +25,7 @@ PrefDialog::~PrefDialog() void PrefDialog::writeConfig() { _mod_portaudio->writeConfig(); + /*_mod_sofia->writeConfig();*/ } void PrefDialog::changeEvent(QEvent *e) @@ -40,4 +43,5 @@ void PrefDialog::changeEvent(QEvent *e) void PrefDialog::readConfig() { _mod_portaudio->readConfig(); + /*_mod_sofia->readConfig();*/ } diff --git a/fscomm/preferences/prefdialog.h b/fscomm/preferences/prefdialog.h index d22712e3f1..5ad01c852e 100644 --- a/fscomm/preferences/prefdialog.h +++ b/fscomm/preferences/prefdialog.h @@ -7,6 +7,7 @@ #include class PrefPortaudio; +class PrefSofia; namespace Ui { class PrefDialog; @@ -29,6 +30,7 @@ private: QSettings *_settings; Ui::PrefDialog *ui; PrefPortaudio *_mod_portaudio; + PrefSofia *_mod_sofia; }; diff --git a/fscomm/preferences/prefdialog.ui b/fscomm/preferences/prefdialog.ui index c8baa2b05e..276c89ed4c 100644 --- a/fscomm/preferences/prefdialog.ui +++ b/fscomm/preferences/prefdialog.ui @@ -60,7 +60,7 @@ General - + :/images/pref_general.jpg:/images/pref_general.jpg @@ -69,7 +69,7 @@ Sofia - + :/images/pref_sip.png:/images/pref_sip.png @@ -78,7 +78,7 @@ PortAudio - + :/images/pref_audio.gif:/images/pref_audio.gif @@ -270,7 +270,7 @@ - + XML @@ -346,7 +346,7 @@ - $${local_ip_v4} + auto @@ -360,7 +360,7 @@ - $${local_ip_v4} + auto @@ -517,7 +517,7 @@ - + 1000 @@ -887,7 +887,7 @@ - + diff --git a/fscomm/preferences/prefsofia.cpp b/fscomm/preferences/prefsofia.cpp index 400d1011fa..a1b7ebc41f 100644 --- a/fscomm/preferences/prefsofia.cpp +++ b/fscomm/preferences/prefsofia.cpp @@ -11,6 +11,11 @@ PrefSofia::PrefSofia(Ui::PrefDialog *ui, QObject *parent) : void PrefSofia::readConfig() { + int guess_mask; + char guess_ip[80]; + switch_find_local_ip(guess_ip, sizeof(guess_ip), &guess_mask, AF_INET); + _ui->sofiaRtpIpEdit->setText(QString(guess_ip)); + _ui->sofiaSipIpEdit->setText(QString(guess_ip)); } void PrefSofia::writeConfig() @@ -18,6 +23,40 @@ void PrefSofia::writeConfig() _settings->beginGroup("FreeSWITCH/conf"); _settings->beginGroup("sofia.conf"); + /* General Settings */ + _settings->setValue("log-level", _ui->sofiaLogLevelSpin->value()); + _settings->setValue("auto-restart", _ui->sofiaAutoRestartCombo->currentText()); + _settings->setValue("debug-presence", _ui->sofiaDebugPresenceSpin->value()); + _settings->setValue("rewrite-multicasted-fs-path", _ui->sofiaRewriteMulticastedFsPathCombo->currentText()); + + /* Profile settings */ + _settings->setValue("user-agent-string", _ui->sofiaUserAgentStringEdit->text()); + _settings->setValue("debug", _ui->sofiaDebugSpin->value()); + _settings->setValue("sip-trace", _ui->sofiaSipTraceCombo->currentText()); + _settings->setValue("context", _ui->sofiaContextEdit->text()); + _settings->setValue("rfc2833-pt", _ui->sofiaRfc2833PtEdit->text()); + _settings->setValue("sip-port", _ui->sofiaSipPortSpin->value()); + _settings->setValue("dialplan", _ui->sofiaDialplanEdit->text()); + _settings->setValue("dtmf-duration", _ui->sofiaDtmfDurationSpin->value()); + _settings->setValue("codec-prefs", _ui->sofiaCodecPrefsEdit->text()); + _settings->setValue("use-rtp-timer", _ui->sofiaUseRtpTimerCombo->currentText()); + _settings->setValue("rtp-timer-name", _ui->sofiaRtpTimerNameEdit->text()); + _settings->setValue("rtp-ip", _ui->sofiaRtpIpEdit->text()); + _settings->setValue("sip-ip", _ui->sofiaSipIpEdit->text()); + _settings->setValue("hold-music", _ui->sofiaHoldMusicEdit->text()); + _settings->setValue("apply-nat-acl", _ui->sofiaApplyNatAclEdit->text()); + _settings->setValue("manage-presence", _ui->sofiaManagePresenceCombo->currentText()); + _settings->setValue("max-proceeding", _ui->sofiaMaxProceedingEdit->text()); + _settings->setValue("inbound-codec-negotiation", _ui->sofiaInboundCodecNegotiationCombo->currentText()); + _settings->setValue("nonce-ttl", _ui->sofiaNonceTtlSpin->value()); + _settings->setValue("auth-calls", _ui->sofiaAuthCallsCombo->currentText()); + _settings->setValue("auth-all-packets", _ui->sofiaAuthAllPacketsCombo->currentText()); + _settings->setValue("ext-rtp-ip", _ui->sofiaExtRtpIpEdit->text()); + _settings->setValue("ext-sip-ip", _ui->sofiaExtSipIpEdit->text()); + _settings->setValue("rtp-timeout-sec", _ui->sofiaRtpTimeoutSecSpin->value()); + _settings->setValue("rtp-hold-timeout-sec", _ui->sofiaRtpHoldTimeoutSecSpin->value()); + _settings->setValue("disable-register", _ui->sofiaDisableRegisterCombo->currentText()); + _settings->setValue("challenge-realm", _ui->sofiaChallengeRealmCombo->currentText()); _settings->endGroup(); diff --git a/fscomm/resources.qrc b/fscomm/resources.qrc index 2ee05d4693..aedbf6a89f 100644 --- a/fscomm/resources.qrc +++ b/fscomm/resources.qrc @@ -10,6 +10,7 @@ conf/accounts/example.xml conf/event_socket.conf.xml conf/portaudio.conf.xml + conf/sofia.conf.xml resources/test.wav