From aaf9793f442e14a80da56342f11fba24a57f8b3a Mon Sep 17 00:00:00 2001 From: Gerald Begumisa Date: Tue, 6 Mar 2007 17:26:41 +0000 Subject: 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 --- orkaudio/audiocaptureplugins/voip/VoIp.cpp | 36 +++++++++++++----------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp') 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) -- cgit v1.2.3