summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;