void SIPNict::handleRequestTimeout() { SIPTransaction::Ptr pTransaction = static_cast<SIPTransaction::WeakPtr*>(_owner)->lock(); if (!pTransaction) return; int state = pTransaction->getState(); if (state == SIPTransaction::TRN_STATE_TERMINATED || state == COMPLETED) return; cancelTimerK(); cancelTimerE(); cancelTimerF(); pTransaction->handleTimeoutNICT(); pTransaction->terminate(); }