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