From d291f7960dd08bc120294f4ee754be5fbc68cc14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Thu, 26 Nov 2020 15:12:10 -0500
Subject: [PATCH] sipcall: reset sdp when removing call

Change-Id: If0fa3dd862404b19d024c08814292b5bba846569
GitLab: #355
---
 src/sip/sdp.cpp     | 5 -----
 src/sip/sipcall.cpp | 4 ++++
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/sip/sdp.cpp b/src/sip/sdp.cpp
index db27af617d..9398dea5a1 100644
--- a/src/sip/sdp.cpp
+++ b/src/sip/sdp.cpp
@@ -142,11 +142,6 @@ Sdp::setActiveLocalSdpSession(const pjmedia_sdp_session* sdp)
 void
 Sdp::setActiveRemoteSdpSession(const pjmedia_sdp_session* sdp)
 {
-    if (!sdp) {
-        JAMI_ERR("Remote sdp is NULL");
-        return;
-    }
-
     activeRemoteSession_ = sdp;
 }
 
diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index d573f5ce96..f2aab4c5b0 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -913,6 +913,10 @@ SIPCall::removeCall()
 {
     std::lock_guard<std::recursive_mutex> lk {callMutex_};
     JAMI_WARN("[call:%s] removeCall()", getCallId().c_str());
+    if (sdp_) {
+        sdp_->setActiveLocalSdpSession(nullptr);
+        sdp_->setActiveRemoteSdpSession(nullptr);
+    }
     Call::removeCall();
     mediaTransport_.reset();
     tmpMediaTransport_.reset();
-- 
GitLab