summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Begumisa <ben_g@users.sourceforge.net>2009-09-15 11:26:13 +0000
committerGerald Begumisa <ben_g@users.sourceforge.net>2009-09-15 11:26:13 +0000
commit3b0b11b04d2e09a18f48b258f04fbedec4479f3c (patch)
treef961054cb56af9cbaddca2735eca261a02b146ae
parentc059289a05edf37e4e01a1736a4f78a456b19879 (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.cpp12
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIpConfig.cpp2
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIpConfig.h1
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;