[Home]

Summary:ASTERISK-14830: [patch] handle_response check for retransmits when using TCP/TLS
Reporter:Elazar Broad (ebroad)Labels:
Date Opened:2009-09-15 01:01:02Date Closed:2009-10-09 13:36:54
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/TCP-TLS
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) no_tcptls_retrans_check.patch
Description:Since we don't use reliable xmit when using TCP/TLS(since TCP is reliable in itself), we should not be attempting to ack retransmitted packets in handle_response().


****** ADDITIONAL INFORMATION ******

---
/* Acknowledge whatever it is destined for */
if ((resp >= 100) && (resp <= 199)) {
ack_res = __sip_semi_ack(p, seqno, 0, sipmethod);
} else {
ack_res = __sip_ack(p, seqno, 0, sipmethod);
}

if (ack_res == FALSE) {
append_history(p, "Ignore", "Ignoring this retransmit\n");
return;
}
---

ack_res will always return FALSE when using tcp/tls, resulting in the dialog never being completed, as we return from handle_response() before actually doing anything.
Comments:By: Joshua C. Colp (jcolp) 2009-09-16 14:28:37

I was unaware of this issue while testing this morning and fixed it the same way. The revisions are below:

trunk - 218918
1.6.0 - 218931
1.6.1 - 218932
1.6.2 - 218934