t_relay() will absorb the retransmissions, the drawback is that the messages is processed through all script to t_relay(). You can use t_newtran() somewhere at the beginning and then use t_forward_nonack() instead of t_relay(). Also, relace sl_send_replay() with t_replay(). TM docs should give you more details about usage of these functions.
Cheers, Daniel
On 10/09/06 21:07, Michael Ulitskiy wrote:
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
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users