Remove message-prefix if no parameter was transferred from incoming signalling message to engine message.

git-svn-id: http://voip.null.ro/svn/yate@1688 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
marian 2008-01-28 13:23:58 +00:00
parent 74ec2ef63b
commit 615e40d626
1 changed files with 4 additions and 0 deletions

View File

@ -1210,16 +1210,20 @@ void SigDriver::copySigMsgParams(NamedList& dest, SignallingEvent* event,
if (!prefix.null())
dest.addParam("message-prefix",prefix);
unsigned int n = sig->params().length();
bool noParams = true;
for (unsigned int i = 0; i < n; i++) {
NamedString* param = sig->params().getParam(i);
if (!param || exclude.find(param->name()))
continue;
noParams = false;
NamedPointer* np = static_cast<NamedPointer*>(param->getObject("NamedPointer"));
if (!np)
dest.addParam(prefix+param->name(),*param);
else
dest.addParam(new NamedPointer(prefix+param->name(),np->takeData(),*param));
}
if (!prefix.null() && noParams)
dest.clearParam("message-prefix");
}
// Append a link to the list. Duplicate names are not allowed