diff options
author | Henri Herscher <henri@oreka.org> | 2008-12-09 22:03:52 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2008-12-09 22:03:52 +0000 |
commit | a578ceb82ea189a0296eb5bb1bbe70e20cc427a6 (patch) | |
tree | 2672560ac8d5f63597b3151e1be0a764bb542551 | |
parent | 80521778a66f62c71e25c8b32aa093540f0d1cc1 (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.cpp | 9 |
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 |