Hi List
To correctly route ACK belonging to a transaction (totag) the example
code does:
if ( is_method("ACK") ) {
if ( t_check_trans() ) {
route(RELAY);
exit;
} else {
xlog("L_INFO", "$cfg(route): $rm NOT loose route NO transaction found
DROP\n");
exit;
}
}
Unfortunatels I fear that in a parallell forking scenario, the
transaction is remove from memory as soon as the first 'negative' ACK
is being processed so that the end 2 end ACK to the 200 OK of the
branch that connected the call, never makes it through.
I attempted to increase wt_timer to 10000 to have the transaction stay
around 10 seconds but that does not solve the issue.
I read that t_check_trans()'s result shall be considered more as a hint
than as a confirmation of an existing transaction.
Is there a clean / secure way to process e2e ACK and make sure they
belong to a transaction? Or can I just safely remove the
t_check_trans() call and route any ACK with a totag?
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web
http://www.imp.ch
______________________________________________________