diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index 7d66305764a7ab3674c4758d2022da21152d06d8..76c93e350529a2ac9f2e0ef81c3701ad6796acc3 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -806,6 +806,12 @@ SIPVoIPLink::hangup (const CallID& id) return false; } + // Release RTP thread + if (Manager::instance().isCurrentCall (id)) { + _debug ("* SIP Info: Stopping AudioRTP for hangup\n"); + _audiortp->stop(); + } + // User hangup current call. Notify peer status = pjsip_inv_end_session (call->getInvSession(), 404, NULL, &tdata); @@ -825,6 +831,7 @@ SIPVoIPLink::hangup (const CallID& id) call->getInvSession()->mod_data[getModId() ] = NULL; + // Release RTP thread if (Manager::instance().isCurrentCall (id)) { _debug ("* SIP Info: Stopping AudioRTP for hangup\n"); @@ -852,6 +859,12 @@ SIPVoIPLink::peerHungup (const CallID& id) return false; } + // Release RTP thread + if (Manager::instance().isCurrentCall (id)) { + _debug ("* SIP Info: Stopping AudioRTP for hangup\n"); + _audiortp->stop(); + } + // User hangup current call. Notify peer status = pjsip_inv_end_session (call->getInvSession(), 404, NULL, &tdata);