提交 2f9ae630 authored 作者: João Mesquita's avatar João Mesquita

First created account is set as default outbound account. Will start making GUI…

First created account is set as default outbound account. Will start making GUI stuff to be able to select between accounts.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16346 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 11682688
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
<X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/> <X-PRE-PROCESS cmd="set" data="external_rtp_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/> <X-PRE-PROCESS cmd="set" data="external_sip_ip=stun:stun.freeswitch.org"/>
<X-PRE-PROCESS cmd="set" data="console_loglevel=info"/> <X-PRE-PROCESS cmd="set" data="console_loglevel=info"/>
<X-PRE-PROCESS cmd="set" data="default_gateway=default"/>
<X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/> <X-PRE-PROCESS cmd="set" data="us-ring=%(2000, 4000, 440.0, 480.0)"/>
<X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/> <X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/> <X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
...@@ -255,6 +254,7 @@ ...@@ -255,6 +254,7 @@
</extension> </extension>
<extension name="number"> <extension name="number">
<condition field="destination_number" expression="^(.*)$"> <condition field="destination_number" expression="^(.*)$">
<!-- Default gateway is set by FSComm when default account is selected -->
<action application="bridge" data="sofia/gateway/${default_gateway}/$1"/> <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
</condition> </condition>
</extension> </extension>
......
...@@ -130,13 +130,7 @@ void AccountDialog::writeConfig() ...@@ -130,13 +130,7 @@ void AccountDialog::writeConfig()
_settings->endGroup(); _settings->endGroup();
QString res; emit gwAdded(_accId);
if (g_FSHost.sendCmd("sofia", "profile softphone rescan", &res) != SWITCH_STATUS_SUCCESS)
{
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not rescan the softphone profile.\n");
return;
}
emit gwAdded();
} }
void AccountDialog::clear() void AccountDialog::clear()
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
void readConfig(); void readConfig();
signals: signals:
void gwAdded(); void gwAdded(QString);
private slots: private slots:
void writeConfig(); void writeConfig();
......
...@@ -24,7 +24,8 @@ void PrefAccounts::addAccountBtnClicked() ...@@ -24,7 +24,8 @@ void PrefAccounts::addAccountBtnClicked()
return; return;
} }
_accDlg = new AccountDialog(uuid); _accDlg = new AccountDialog(uuid);
connect(_accDlg, SIGNAL(gwAdded()), this, SLOT(readConfig())); connect(_accDlg, SIGNAL(gwAdded(QString)), this, SLOT(readConfig()));
connect(_accDlg, SIGNAL(gwAdded(QString)), this, SLOT(applyNewGw(QString)));
} }
else else
{ {
...@@ -43,6 +44,26 @@ void PrefAccounts::addAccountBtnClicked() ...@@ -43,6 +44,26 @@ void PrefAccounts::addAccountBtnClicked()
_accDlg->activateWindow(); _accDlg->activateWindow();
} }
void PrefAccounts::applyNewGw(QString accId)
{
QString res;
if (g_FSHost.sendCmd("sofia", "profile softphone rescan", &res) != SWITCH_STATUS_SUCCESS)
{
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not rescan the softphone profile.\n");
return;
}
if (_ui->accountsTable->rowCount() == 1)
{
_settings->beginGroup("FreeSWITCH/conf/globals");
_settings->setValue("default_gateway",_settings->value("/attrs/name"));
_settings->endGroup();
_settings->beginGroup(QString("FreeSWITCH/conf/sofia.conf/profiles/profile/gateways/%1/gateway").arg(accId));
switch_core_set_variable("default_gateway",_settings->value("/attrs/name").toByteArray().data());
_settings->endGroup();
}
}
void PrefAccounts::editAccountBtnClicked() void PrefAccounts::editAccountBtnClicked()
{ {
QList<QTableWidgetSelectionRange> selList = _ui->accountsTable->selectedRanges(); QList<QTableWidgetSelectionRange> selList = _ui->accountsTable->selectedRanges();
...@@ -56,7 +77,7 @@ void PrefAccounts::editAccountBtnClicked() ...@@ -56,7 +77,7 @@ void PrefAccounts::editAccountBtnClicked()
if (!_accDlg) if (!_accDlg)
{ {
_accDlg = new AccountDialog(uuid); _accDlg = new AccountDialog(uuid);
connect(_accDlg, SIGNAL(gwAdded()), this, SLOT(readConfig())); connect(_accDlg, SIGNAL(gwAdded(QString)), this, SLOT(readConfig()));
} }
else else
{ {
......
...@@ -20,6 +20,7 @@ private slots: ...@@ -20,6 +20,7 @@ private slots:
void addAccountBtnClicked(); void addAccountBtnClicked();
void editAccountBtnClicked(); void editAccountBtnClicked();
void remAccountBtnClicked(); void remAccountBtnClicked();
void applyNewGw(QString);
private: private:
Ui::PrefDialog *_ui; Ui::PrefDialog *_ui;
......
...@@ -28,6 +28,7 @@ void PrefDialog::writeConfig() ...@@ -28,6 +28,7 @@ void PrefDialog::writeConfig()
{ {
_mod_portaudio->writeConfig(); _mod_portaudio->writeConfig();
_mod_sofia->writeConfig(); _mod_sofia->writeConfig();
} }
void PrefDialog::changeEvent(QEvent *e) void PrefDialog::changeEvent(QEvent *e)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论