summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/VoIp.cpp
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2007-04-13 20:07:14 +0000
committerHenri Herscher <henri@oreka.org>2007-04-13 20:07:14 +0000
commit2c370d203163951283f80bd229cc81bf533fb089 (patch)
treeac9a51cad9802bb770c3d72e30c3e952b429803e /orkaudio/audiocaptureplugins/voip/VoIp.cpp
parentc78e205237f0fd156f46ca104ee188107c53a1af (diff)
SIP field extraction now functional.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@437 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index e34330f..6e7c8fb 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -10,7 +10,7 @@
* Please refer to http://www.gnu.org/copyleft/gpl.html
*
*/
-
+#pragma warning( disable: 4786 ) // disables truncated symbols in browse-info warning
#define _WINSOCKAPI_ // prevents the inclusion of winsock.h
#ifndef WIN32
@@ -1177,6 +1177,19 @@ bool TrySipInvite(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader
}
}
}
+ // SIP fields extraction
+ for(std::list<CStdString>::iterator it = DLLCONFIG.m_sipExtractFields.begin(); it != DLLCONFIG.m_sipExtractFields.end(); it++)
+ {
+ CStdString fieldName = *it + ":";
+ char* szField = memFindAfter((PSTR)(PCSTR)fieldName, (char*)udpPayload, sipEnd);
+ if(szField)
+ {
+ CStdString field;
+ GrabLine(szField, sipEnd, field);
+ info->m_extractedFields.insert(std::make_pair(*it, field));
+ }
+ }
+
if((unsigned int)info->m_fromRtpIp.s_addr == 0)
{
// In case connection address could not be extracted, use SIP invite sender IP address