On Thursday 12 July 2007 15:24:59 Klaus Darilion wrote:
Nils Ohlmeier wrote:
On Thursday 12 July 2007 09:03:39 Klaus Darilion
wrote:
I totally agree with you, e.g:
if (in_dialog()) { # probably an alias to has_totag()
No. The To-tag is not enough as criteria for in-dialog. And unfortunately
the presence of Route isn't as well.
You can basically have these type of ACKs (ACKs illustrate the worst
case): - the UAC uses an outbound proxy without a Route header
- the in-dialog ACK will have a To-tag and a Route header
- the out-of-dialog ACK will have a To-tag and no Route header
- the UAC uses a Route header for its outbound proxy
- then in-dialog ACK will have a To-tag and a Route header (same as
above) - the out-of-dialog ACK will have a To-tag and a Route header (and
this is the problematic case!)
Is it really necessary to differ this cases in ser.cfg? I usually just
t_relay() the ACKs as tm module should know if this is a 2xx ACK or a
non-2xx ACK.
If you need this information in ser.cfg, then having a function
t_is_ack_local() would be useful.
I did not claimed that I want this information to be available in the config.
You suggested to export it via the return code.
But as I pointed out to Martin in the other mail, the point is that non-2xx
and 2xx ACKs should also be routed correctly in case of stateless forwarding.
So telling everybody just call t_relay() for all ACKs, it will take care of
it, is IMHO no acceptable option.
Best Regards
Nils Ohlmeier