summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2009-03-26 18:58:50 +0000
committerHenri Herscher <henri@oreka.org>2009-03-26 18:58:50 +0000
commit42db22d6f35dfa83be0c6669659703d86498297f (patch)
treef1b791b9627484dfbeaf7f60642a1fcb41b5518e
parent3410cd29fb08f193b5140448a31479546f088c94 (diff)
Calling party name extraction from Ccm5CallInfo now done regardless of SkinnyNameAsLocalParty. Calling and called pary name now logged where applicable.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@608 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp43
1 files changed, 21 insertions, 22 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 6c7c558..f9c5fb6 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -2361,7 +2361,9 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
{
if(s_skinnyPacketLog->isInfoEnabled())
{
- logMsg.Format(" CallId:%u calling:%s called:%s line:%d", callInfo->callId, callInfo->callingParty, callInfo->calledParty, callInfo->lineInstance);
+ logMsg.Format(" CallId:%u calling:%s called:%s callingname:%s calledname:%s line:%d",
+ callInfo->callId, callInfo->callingParty, callInfo->calledParty,
+ callInfo->callingPartyName, callInfo->calledPartyName, callInfo->lineInstance);
}
RtpSessionsSingleton::instance()->ReportSkinnyCallInfo(callInfo, ipHeader);
}
@@ -2386,21 +2388,24 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
GrabToken(parties+callingParty.size()+1, parties+partiesLen, calledParty);
CStdString callingPartyName;
- if(DLLCONFIG.m_skinnyNameAsLocalParty)
+ // It appears that the calling party name is the 9th token.
+ // Tokens separated by a single null char. Multiple sequential null chars result in empty tokens.
+ // further tokens seem to be the called party name but not exploited so far.
+ int tokenNr = 0;
+ char *partiesPtr = NULL;
+ partiesPtr = parties;
+ while(tokenNr < 9 && partiesPtr < parties+partiesLen)
{
- // It appears that the calling party name is the 9th token
- int tokenNr = 0;
- char *partiesPtr = NULL;
-
- partiesPtr = parties;
- while(tokenNr < 9 && partiesPtr < parties+partiesLen)
+ callingPartyName = "";
+ GrabTokenAcceptSpace(partiesPtr, parties+partiesLen, callingPartyName);
+ if(s_skinnyPacketLog->isDebugEnabled())
{
- callingPartyName = "";
- GrabTokenAcceptSpace(partiesPtr, parties+partiesLen, callingPartyName);
- partiesPtr += callingPartyName.size() + 1;
- tokenNr += 1;
+ logMsg = logMsg + callingPartyName + ", ";
}
+ partiesPtr += callingPartyName.size() + 1;
+ tokenNr += 1;
}
+ LOG4CXX_DEBUG(s_skinnyPacketLog, "parties tokens:" + logMsg);
// Emulate a regular CCM CallInfo message
SkCallInfoStruct callInfo;
@@ -2411,16 +2416,9 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
callInfo.lineInstance = 0;
callInfo.calledPartyName[0] = '\0';
- if(DLLCONFIG.m_skinnyNameAsLocalParty)
+ if(callingPartyName.size())
{
- if(callingPartyName.size())
- {
- strncpy(callInfo.callingPartyName, (PCSTR)callingPartyName, sizeof(callInfo.callingPartyName));
- }
- else
- {
- callInfo.callingPartyName[0] = '\0';
- }
+ strncpy(callInfo.callingPartyName, (PCSTR)callingPartyName, sizeof(callInfo.callingPartyName));
}
else
{
@@ -2429,7 +2427,8 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
if(s_skinnyPacketLog->isInfoEnabled())
{
- logMsg.Format(" CallId:%u calling:%s called:%s", callInfo.callId, callInfo.callingParty, callInfo.calledParty);
+ logMsg.Format(" CallId:%u calling:%s called:%s callingname:%s", callInfo.callId,
+ callInfo.callingParty, callInfo.calledParty, callingPartyName);
}
RtpSessionsSingleton::instance()->ReportSkinnyCallInfo(&callInfo, ipHeader);
}