--- chan_sip.c 2012-12-12 10:28:11.000000000 +0100 +++ chan_sip.c_patch 2012-12-12 10:28:07.000000000 +0100 @@ -4199,6 +4199,13 @@ } } } + else if(pkt->owner->pendinginvite == pkt->seqno) + { + ast_log(LOG_WARNING, "Timeout on %s on non-critical invite transaction.\n", pkt->owner->callid); + pkt->owner->invitestate = INV_TERMINATED; + pkt->owner->pendinginvite = 0; + check_pendings(pkt->owner); + } if (pkt->method == SIP_BYE) { /* We're not getting answers on SIP BYE's. Tear down the call anyway. */