diff options
Diffstat (limited to 'orkaudio/audiocaptureplugins')
-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 |