diff options
author | Henri Herscher <henri@oreka.org> | 2007-04-13 20:07:14 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2007-04-13 20:07:14 +0000 |
commit | 2c370d203163951283f80bd229cc81bf533fb089 (patch) | |
tree | ac9a51cad9802bb770c3d72e30c3e952b429803e /orkaudio/audiocaptureplugins/voip/VoIp.cpp | |
parent | c78e205237f0fd156f46ca104ee188107c53a1af (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.cpp | 15 |
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 |