diff options
author | Gerald Begumisa <ben_g@users.sourceforge.net> | 2009-09-15 11:26:13 +0000 |
---|---|---|
committer | Gerald Begumisa <ben_g@users.sourceforge.net> | 2009-09-15 11:26:13 +0000 |
commit | 3b0b11b04d2e09a18f48b258f04fbedec4479f3c (patch) | |
tree | f961054cb56af9cbaddca2735eca261a02b146ae | |
parent | c059289a05edf37e4e01a1736a4f78a456b19879 (diff) |
Added new config.xml parameter RtpTrackByUdpPortOnly, which when set to true, causes the media address to be computed as to contain only the Udp port specified.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@641 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/RtpSession.cpp | 12 | ||||
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp | 2 | ||||
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/VoIpConfig.h | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp index b9bc898..f571212 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp @@ -1969,8 +1969,16 @@ RtpSessionRef RtpSessions::findNewestByEndpointIp(struct in_addr endpointIpAddr) void RtpSessions::CraftMediaAddress(CStdString& mediaAddress, struct in_addr ipAddress, unsigned short udpPort) { char szIpAddress[16]; - ACE_OS::inet_ntop(AF_INET, (void*)&ipAddress, szIpAddress, sizeof(szIpAddress)); - mediaAddress.Format("%s,%u", szIpAddress, udpPort); + + if(DLLCONFIG.m_rtpTrackByUdpPortOnly == false) + { + ACE_OS::inet_ntop(AF_INET, (void*)&ipAddress, szIpAddress, sizeof(szIpAddress)); + mediaAddress.Format("%s,%u", szIpAddress, udpPort); + } + else + { + mediaAddress.Format("%u", udpPort); + } } void RtpSessions::MapOtherMediaAddress(RtpSessionRef& session, CStdString& ipAndPort) diff --git a/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp b/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp index 03dea4f..69d51d7 100644 --- a/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp +++ b/orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp @@ -35,6 +35,7 @@ VoIpConfig::VoIpConfig() m_rtpSessionWithSignallingInitialTimeoutSec = 5*60; m_rtpSessionOnHoldTimeOutSec = 1800; m_rtpReportDtmf = false; + m_rtpTrackByUdpPortOnly = false; m_pcapTest= false; m_rtpDiscontinuityDetect = false; m_rtpDiscontinuityMinSeqDelta = 1000; @@ -108,6 +109,7 @@ void VoIpConfig::Define(Serializer* s) s->IntValue("RtpSessionOnHoldTimeOutSec", m_rtpSessionOnHoldTimeOutSec); s->BoolValue("RtpReportDtmf", m_rtpReportDtmf); s->IpRangesValue("RtpBlockedIpRanges", m_rtpBlockedIpRanges); + s->BoolValue("RtpTrackByUdpPortOnly", m_rtpTrackByUdpPortOnly); s->BoolValue("PcapTest", m_pcapTest); s->StringValue("PcapFilter", m_pcapFilter); diff --git a/orkaudio/audiocaptureplugins/voip/VoIpConfig.h b/orkaudio/audiocaptureplugins/voip/VoIpConfig.h index 5d5cd32..d853b85 100644 --- a/orkaudio/audiocaptureplugins/voip/VoIpConfig.h +++ b/orkaudio/audiocaptureplugins/voip/VoIpConfig.h @@ -74,6 +74,7 @@ public: bool m_rtpDetectOnOddPorts; bool m_rtpReportDtmf; IpRanges m_rtpBlockedIpRanges; + bool m_rtpTrackByUdpPortOnly; bool m_iax2Support; bool m_sipOverTcpSupport; |