diff --git a/channels/chan_sip.c b/channels/chan_sip.c index cb02d31dee63e7ac4ae0ab25388c431410e35b23..068636e00cc1c89c5acbb78b2a563df7d77ae5e7 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4101,6 +4101,11 @@ static int retrans_pkt(const void *data) append_history(pkt->owner, "DialogKill", "Killing this failed dialog immediately"); } } + } 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) {