Properly initialize the MTP operational status when attaching an ISUP dynamically at runtime.

git-svn-id: http://yate.null.ro/svn/yate/trunk@4072 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2011-01-26 13:39:33 +00:00
parent 3682c4bf7f
commit c7ab08c559
2 changed files with 14 additions and 5 deletions

View File

@ -3206,6 +3206,12 @@ bool SS7ISUP::initialize(const NamedList* config)
return SS7Layer4::initialize(config);
}
void SS7ISUP::attach(SS7Layer3* network)
{
SS7Layer4::attach(network);
m_l3LinkUp = network && network->operational();
}
// Append a point code to the list of point codes serviced by this controller
// Set default point code
bool SS7ISUP::setPointCode(SS7PointCode* pc, bool def)
@ -3712,11 +3718,8 @@ void SS7ISUP::notify(SS7Layer3* link, int sls)
if ((unsigned int)-1 == link->getRoutePriority(m_type,m_remotePoint->pack(m_type)))
return;
bool linkTmp = m_l3LinkUp;
// Link is not operational
if (link->operational())
m_l3LinkUp = true;
else
m_l3LinkUp = false;
// Copy linkset operational state
m_l3LinkUp = link->operational();
// Reset remote user part's availability state if supported
// Force UPT re-send
if (m_uptTimer.interval() && !m_l3LinkUp) {

View File

@ -8030,6 +8030,12 @@ public:
*/
virtual bool initialize(const NamedList* config);
/**
* Attach a SS7 network or router to this service. Detach itself from the old one
* @param network Pointer to network or router to attach
*/
virtual void attach(SS7Layer3* network);
/**
* Get the length of the Circuit Identification Code for this user part
* @return Length of the CIC field in octets