If no CBD could be sent on any alternative link activate the current link anyway.

git-svn-id: http://voip.null.ro/svn/yate@3581 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2010-08-30 08:59:39 +00:00
parent 5b18da6dd7
commit fbb0542530
1 changed files with 8 additions and 0 deletions

View File

@ -741,10 +741,13 @@ void SS7Management::notify(SS7Layer3* network, int sls)
{
Debug(this,DebugAll,"SS7Management::notify(%p,%d) [%p]",network,sls,this);
if (network && (sls >= 0)) {
if (network->inhibited(sls,SS7Layer2::Unchecked))
return;
bool linkUp = network->operational(sls);
if (linkUp && !network->inhibited(sls,SS7Layer2::Inactive))
return;
bool linkAvail[256];
bool activate = linkUp;
int txSls;
for (txSls = 0; txSls < 256; txSls++)
linkAvail[txSls] = (txSls != sls) && !network->inhibited(txSls) && network->operational(txSls);
@ -805,6 +808,7 @@ void SS7Management::notify(SS7Layer3* network, int sls)
}
ctl->setParam("automatic",String::boolText(true));
controlExecute(ctl);
activate = false;
}
while (seq >= 0) {
// scan pending list for matching ECA, turn them into COA/XCA
@ -847,6 +851,10 @@ void SS7Management::notify(SS7Layer3* network, int sls)
}
}
}
if (activate) {
Debug(this,DebugWarn,"Could not send CBD for link %d, activating anyway [%p]",sls,this);
network->inhibit(sls,0,SS7Layer2::Inactive);
}
}
}