summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2008-12-09 22:03:52 +0000
committerHenri Herscher <henri@oreka.org>2008-12-09 22:03:52 +0000
commita578ceb82ea189a0296eb5bb1bbe70e20cc427a6 (patch)
tree2672560ac8d5f63597b3151e1be0a764bb542551
parent80521778a66f62c71e25c8b32aa093540f0d1cc1 (diff)
SipDynamicMediaAddress now also forces session media address update on reception of SIP 200OK with valid SDP.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@585 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
index d720ef5..7d9038a 100644
--- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
+++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
@@ -1306,11 +1306,14 @@ void RtpSessions::ReportSip200Ok(Sip200OkInfoRef info)
if (pair != m_byCallId.end())
{
RtpSessionRef session = pair->second;
+ unsigned short mediaPort = ACE_OS::atoi(info->m_mediaPort);
- if(info->m_hasSdp && DLLCONFIG.m_sipUse200OkMediaAddress && !session->m_numRtpPackets)
+ if(info->m_hasSdp && DLLCONFIG.m_sipUse200OkMediaAddress && DLLCONFIG.m_sipDynamicMediaAddress)
+ {
+ SetMediaAddress(session, info->m_mediaIp, mediaPort);
+ }
+ else if(info->m_hasSdp && DLLCONFIG.m_sipUse200OkMediaAddress && !session->m_numRtpPackets)
{
- unsigned short mediaPort = ACE_OS::atoi(info->m_mediaPort);
-
if(!session->m_rtpIp.s_addr)
{
// Session has empty RTP address