summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/RtpSession.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.cpp7
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)