diff --git a/core/plug-in/session_timer/SessionTimer.cpp b/core/plug-in/session_timer/SessionTimer.cpp index c464375d..001b6013 100644 --- a/core/plug-in/session_timer/SessionTimer.cpp +++ b/core/plug-in/session_timer/SessionTimer.cpp @@ -413,8 +413,16 @@ void SessionTimer::removeTimers(AmSession* s) void SessionTimer::onTimeoutEvent(AmTimeoutEvent* timeout_ev) { + int timer_id = timeout_ev->data.get(0).asInt(); + if (s->dlg.getStatus() == AmSipDialog::Disconnecting || + s->dlg.getStatus() == AmSipDialog::Disconnected) { + DBG("ignoring SST timeout event %i in Disconnecting/-ed session\n", + timer_id); + return; + } + if (timer_id == ID_SESSION_REFRESH_TIMER) { if (session_refresher == refresh_local) { DBG("Session Timer: initiating session refresh\n");