diff options
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/RtpSession.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp index 9424cd9..e6f789c 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp @@ -1308,6 +1308,13 @@ void RtpSessions::ReportSipInvite(SipInviteInfoRef& invite) // Do nothing here so that we end up stopping this Raw RTP session // and creating new session below } + else if (invite->m_callId.Equals(session->m_callId) == false) + { + LOG4CXX_INFO(m_log, "[" + session->m_trackingId + "] Detecting new SIP callId:" + invite->m_callId + " stopping..."); + // Forcing previous session type to Raw RTP so that SetMediaAddress() successfully + // replaces it by a new session below. + session->m_protocol = RtpSession::ProtRawRtp; + } else { if(invite->m_attrSendonly) |