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