Fix bug introduced by commit 5166: don't drop the encoding of a ResultLast component operation code type is missing and it has no payload.

git-svn-id: http://yate.null.ro/svn/yate/trunk@5176 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
oana 2012-07-03 12:40:25 +00:00
parent cc8fc64078
commit a369fb1dc3
1 changed files with 6 additions and 2 deletions

View File

@ -4317,6 +4317,7 @@ void SS7TCAPTransactionITU::encodeComponents(NamedList& params, DataBlock& data)
int compType = map->mappedTo;
NamedString* value = 0;
bool hasPayload = false;
if (compType == Reject) {
value = params.getParam(compParam + "." + s_tcapProblemCode);
if (!TelEngine::null(value)) {
@ -4340,6 +4341,7 @@ void SS7TCAPTransactionITU::encodeComponents(NamedList& params, DataBlock& data)
DataBlock payload;
payload.unHexify(payloadHex->c_str(),payloadHex->length(),' ');
codedComp.insert(payload);
hasPayload = true;
}
}
// encode Error Code only if ReturnError
@ -4395,9 +4397,11 @@ void SS7TCAPTransactionITU::encodeComponents(NamedList& params, DataBlock& data)
}
}
else {
Debug(tcap(),DebugWarn,"Missing mandatory 'operationCodeType' information for component with index='%d' from transaction "
if (compType == Invoke || hasPayload) {
Debug(tcap(),DebugWarn,"Missing mandatory 'operationCodeType' information for component with index='%d' from transaction "
"with localID=%s [%p]",index,m_localID.c_str(),this);
continue;
continue;
}
}
}