diff -Naur asterisk-1.6.1.6.orig/channels/chan_sip.c asterisk-1.6.1.6/channels/chan_sip.c --- asterisk-1.6.1.6.orig/channels/chan_sip.c 2009-08-10 23:30:55.000000000 +0400 +++ asterisk-1.6.1.6/channels/chan_sip.c 2009-12-02 23:27:20.000000000 +0300 @@ -3283,14 +3283,9 @@ /* If there are packets still waiting for delivery, delay the destruction */ if (p->packets) { if (!p->needdestroy) { - char method_str[31]; ast_debug(3, "Re-scheduled destruction of SIP call %s\n", p->callid ? p->callid : ""); append_history(p, "ReliableXmit", "timeout"); - if (sscanf(p->lastmsg, "Tx: %30s", method_str) == 1 || sscanf(p->lastmsg, "Rx: %30s", method_str) == 1) { - if (method_match(SIP_CANCEL, method_str) || method_match(SIP_BYE, method_str)) { - p->needdestroy = 1; - } - } + p->needdestroy = 1; return 10000; } else { /* They've had their chance to respond. Time to bail */