summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2007-05-08 21:34:22 +0000
committerHenri Herscher <henri@oreka.org>2007-05-08 21:34:22 +0000
commitd699831cfc45869aa74b35fb00ee6f94748c3605 (patch)
treeb8d328ab2ddcf48313e4fea6c2adb689f15a2dbc /orkaudio/audiocaptureplugins/voip
parentdbbc010093d9ddda3fd4372580aeb9a60c089ce1 (diff)
SIP over TCP now builds under win32. Also made it disabled by default.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@439 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip')
-rw-r--r--orkaudio/audiocaptureplugins/voip/SipTcp.cpp4
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp15
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.dsp8
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp2
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIpConfig.h1
5 files changed, 22 insertions, 8 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/SipTcp.cpp b/orkaudio/audiocaptureplugins/voip/SipTcp.cpp
index 0cea0f5..eaa86e3 100644
--- a/orkaudio/audiocaptureplugins/voip/SipTcp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/SipTcp.cpp
@@ -223,7 +223,9 @@ bool SipTcpStream::SipRequestIsComplete()
return false;
if(strlen(eol) == cLength)
- return true;
+ return true;
+
+ return false;
}
SafeBufferRef SipTcpStream::GetCompleteSipRequest()
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 9f34247..1c9cddb 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -1218,9 +1218,9 @@ bool TrySipTcp(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, T
}
}
- for(std::list<SipTcpStreamRef>::iterator it = toErase.begin(); it != toErase.end(); it++)
+ for(std::list<SipTcpStreamRef>::iterator it2 = toErase.begin(); it2 != toErase.end(); it2++)
{
- SipTcpStreamRef tcpstream = *it;
+ SipTcpStreamRef tcpstream = *it2;
s_SipTcpStreams.remove(tcpstream);
}
@@ -1694,11 +1694,6 @@ void HandlePacket(u_char *param, const struct pcap_pkthdr *header, const u_char
else if(ipHeader->ip_p == IPPROTO_TCP)
{
TcpHeaderStruct* tcpHeader = (TcpHeaderStruct*)((char *)ipHeader + ipHeaderLength);
- CStdString tcpSeq;
-
- memToHex((unsigned char *)&tcpHeader->seq, 4, tcpSeq);
-
- TrySipTcp(ethernetHeader, ipHeader, tcpHeader);
if(ntohs(tcpHeader->source) == SKINNY_CTRL_PORT || ntohs(tcpHeader->dest) == SKINNY_CTRL_PORT)
{
@@ -1727,6 +1722,12 @@ void HandlePacket(u_char *param, const struct pcap_pkthdr *header, const u_char
skinnyHeader = (SkinnyHeaderStruct*)((u_char*)skinnyHeader + SKINNY_HEADER_LENGTH + skinnyHeader->len);
}
}
+ else if(DLLCONFIG.m_sipOverTcpSupport)
+ {
+ //CStdString tcpSeq;
+ //memToHex((unsigned char *)&tcpHeader->seq, 4, tcpSeq);
+ TrySipTcp(ethernetHeader, ipHeader, tcpHeader);
+ }
}
if((now - s_lastHooveringTime) > 5)
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.dsp b/orkaudio/audiocaptureplugins/voip/VoIp.dsp
index ce715bc..50b4321 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.dsp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.dsp
@@ -140,6 +140,14 @@ SOURCE=.\RtpSession.h
# End Source File
# Begin Source File
+SOURCE=.\SipTcp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SipTcp.h
+# End Source File
+# Begin Source File
+
SOURCE=.\VoIp.cpp
# End Source File
# Begin Source File
diff --git a/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp b/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp
index c8e1459..2ff4046 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp
@@ -37,6 +37,7 @@ VoIpConfig::VoIpConfig()
m_rtpDiscontinuityMinSeqDelta = 1000;
m_iax2Support = false; // Disabled by default
m_rtpDetectOnOddPorts = false;
+ m_sipOverTcpSupport = false; // Disabled by default
}
void VoIpConfig::Define(Serializer* s)
@@ -66,6 +67,7 @@ void VoIpConfig::Define(Serializer* s)
s->BoolValue("Iax2Support", m_iax2Support);
s->BoolValue("RtpDetectOnOddPorts", m_rtpDetectOnOddPorts);
s->CsvValue("SipExtractFields", m_sipExtractFields);
+ s->BoolValue("SipOverTcpSupport", m_sipOverTcpSupport);
}
void VoIpConfig::Validate()
diff --git a/orkaudio/audiocaptureplugins/voip/VoIpConfig.h b/orkaudio/audiocaptureplugins/voip/VoIpConfig.h
index df6ef45..2e62f39 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIpConfig.h
+++ b/orkaudio/audiocaptureplugins/voip/VoIpConfig.h
@@ -70,6 +70,7 @@ public:
int m_rtpDiscontinuityMinSeqDelta;
bool m_rtpDetectOnOddPorts;
bool m_iax2Support;
+ bool m_sipOverTcpSupport;
std::list<CStdString> m_dnisNumbers;
std::list<CStdString> m_sipExtractFields;