Hello,
I have a question about a good way to handle retransmissions. I see that t_check_trans() function is able to tell me if the request is a retransmission or not. So my question is: should I apply the whole request-processing logic to retransmissions or I can simply do something like the following:
if (is_method("ACK|CANCEL")) { if (t_check_trans()) { t_relay(); } else { xlog(L_NOTICE,"$rm: No matching transaction. dropping"); exit; } }
if (t_check_trans()) { xlog(L_NOTICE,"$rm: is a retransmission"); t_relay(); }
I.e. in the above code I assume that t_relay() would be able to match the request to the transaction and absorb it like it does for ACKs and CANCELs without applying whatever modification was done to original request. Is it true? Thanks,
Michael