Do not send by default a TRA when the linkset is put in service.

In STP mode routing information (TFx) should be sent first.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3745 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2010-10-21 15:30:32 +00:00
parent 238723414a
commit 68d1e06a3f
3 changed files with 11 additions and 3 deletions

View File

@ -586,6 +586,10 @@
; testrestricted: boolean: Test restricted routes too (national option)
;testrestricted=no
; earlyrestart: boolean: Send a TRA soon after the first link is checked
; This setting should not be used in STP mode as it interferes with routing
;earlyrestart=no
; Example of a SS7 Management Part
; This component is created by the SS7 router, see its "management" setting

View File

@ -324,7 +324,7 @@ SS7Router::SS7Router(const NamedList& params)
m_changes(0), m_transfer(false), m_phase2(false), m_started(false),
m_restart(0), m_isolate(0),
m_trafficOk(0), m_trafficSent(0), m_routeTest(0), m_testRestricted(false),
m_checkRoutes(false), m_autoAllowed(false),
m_checkRoutes(false), m_autoAllowed(false), m_earlyRestart(false),
m_sendUnavail(true), m_sendProhibited(true),
m_rxMsu(0), m_txMsu(0), m_fwdMsu(0), m_congestions(0),
m_mngmt(0)
@ -347,6 +347,7 @@ SS7Router::SS7Router(const NamedList& params)
m_trafficOk.interval(m_restart.interval() + 4000);
m_trafficSent.interval(m_restart.interval() + 8000);
m_testRestricted = params.getBoolValue("testrestricted",m_testRestricted);
m_earlyRestart = params.getBoolValue("earlyrestart",m_earlyRestart);
loadLocalPC(params);
}
@ -371,6 +372,7 @@ bool SS7Router::initialize(const NamedList* config)
m_autoAllowed = config->getBoolValue("autoallow",m_autoAllowed);
m_sendUnavail = config->getBoolValue("sendupu",m_sendUnavail);
m_sendProhibited = config->getBoolValue("sendtfp",m_sendProhibited);
m_earlyRestart = config->getBoolValue("earlyrestart",m_earlyRestart);
const String* param = config->getParam("management");
const char* name = "ss7snm";
if (param) {
@ -1659,9 +1661,10 @@ void SS7Router::notify(SS7Layer3* network, int sls)
// send TRA only for the first activated link
const SS7MTP3* mtp3 = YOBJECT(SS7MTP3,network);
if (!mtp3 || (mtp3->linksActive() <= 1)) {
clearRoutes(network,true);
// adjacent point restart
sendRestart(network);
clearRoutes(network,true);
if (m_earlyRestart)
sendRestart(network);
m_trafficOk.start();
}
}

View File

@ -6321,6 +6321,7 @@ private:
bool m_testRestricted;
bool m_checkRoutes;
bool m_autoAllowed;
bool m_earlyRestart;
bool m_sendUnavail;
bool m_sendProhibited;
unsigned long m_rxMsu;