tm readme on t_relay flag "0x02" says:
0x02 - do not internally send a negative reply in case of forward failure (due internal error, bad RURI, bad message, etc). When a forward failure occurs, no SIP request is relayed and therefore no negative reply or timeout will show up on the failure_route (if one is set). It applies only when the transaction is created. By default one negative reply is sent. Useful if you want to implement a serial forking in case of failure.
i don't quite understand the statement:
It applies only when the transaction is created.
what does "It" refer to?
i did some experiments with new lcr implementation and if, for example, tcp connection to a gw cannot be established, then t_relay without "0x02" flag generates 477 reply to caller and, indeed, failure route is not executed.
so i need test if t_relay("0x02") failed due to "send failed" and handle selection of next gw in the same route block where t_relay("0x02") was called. this is inconvenient, because there already exists a failure route block that does all that and now its code needs to be at least partially duplicated.
or am i missing something and it is somehow possible to get a failure route block executed also on this kind of internally generated negative reply?
-- juha