summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/VoIp.cpp
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2007-03-06 17:26:41 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2007-03-06 17:26:41 +0000
commitaaf9793f442e14a80da56342f11fba24a57f8b3a (patch)
treea529efa2d63597204afb745109350bf3298acd83 /orkaudio/audiocaptureplugins/voip/VoIp.cpp
parentbbb1a16f102f947b3841d5275512d867da797182 (diff)
Corrected issue where IAX2 checks masked SIP traffic
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@428 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp36
1 files changed, 16 insertions, 20 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index c3791c8..fd09335 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -975,11 +975,7 @@ bool TryIax2MiniVoiceFrame(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct*
info->m_arrivalTimestamp = time(NULL);
info->m_frame_type = IAX2_FRAME_MINI;
- Iax2SessionsSingleton::instance()->ReportIax2Packet(info);
-
- //LOG4CXX_INFO(s_packetLog, "Processed IAX2 Mini Voice packet");
-
- return true;
+ return Iax2SessionsSingleton::instance()->ReportIax2Packet(info);
}
bool TryRtp(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, UdpHeaderStruct* udpHeader, u_char* udpPayload)
@@ -1457,7 +1453,21 @@ void HandlePacket(u_char *param, const struct pcap_pkthdr *header, const u_char
MutexSentinel mutexSentinel(s_mutex); // serialize access for competing pcap threads
- detectedUsefulPacket = TryIax2New(ethernetHeader, ipHeader, udpHeader, udpPayload);
+ detectedUsefulPacket = TryRtp(ethernetHeader, ipHeader, udpHeader, udpPayload);
+
+ if(!detectedUsefulPacket) {
+ detectedUsefulPacket= TrySipInvite(ethernetHeader, ipHeader, udpHeader,
+ udpPayload);
+ }
+
+ if(!detectedUsefulPacket) {
+ detectedUsefulPacket = TrySipBye(ethernetHeader, ipHeader, udpHeader,
+ udpPayload);
+ }
+
+ if(!detectedUsefulPacket) {
+ detectedUsefulPacket = TryIax2New(ethernetHeader, ipHeader, udpHeader, udpPayload);
+ }
if(!detectedUsefulPacket) {
detectedUsefulPacket = TryIax2Accept(ethernetHeader, ipHeader, udpHeader,
@@ -1498,20 +1508,6 @@ void HandlePacket(u_char *param, const struct pcap_pkthdr *header, const u_char
detectedUsefulPacket = TryIax2MiniVoiceFrame(ethernetHeader, ipHeader,
udpHeader, udpPayload);
}
-
- if(!detectedUsefulPacket) {
- detectedUsefulPacket = TryRtp(ethernetHeader, ipHeader, udpHeader, udpPayload);
- }
-
- if(!detectedUsefulPacket) {
- detectedUsefulPacket= TrySipInvite(ethernetHeader, ipHeader, udpHeader,
- udpPayload);
- }
-
- if(!detectedUsefulPacket) {
- detectedUsefulPacket = TrySipBye(ethernetHeader, ipHeader, udpHeader,
- udpPayload);
- }
}
}
else if(ipHeader->ip_p == IPPROTO_TCP)