Hi all,
I'm facing a cenario where an INVITE transaction goes through one
(Open)SER more than one time, and the ACK to a 480 Temporarily
Unavailable is wrongly being matched as an e2e ACK.
I dug through tm code and found this comment in t_lookup.c:
/* here we do an exercise which will be removed from future code
* versions: we try to match end-2-end ACKs if they
appear at our
* server. This allows some applications bound to TM
via callbacks
* to correlate the e2e ACKs with transaction context, e.g., for
* purpose of accounting. We think it is a bad place here, among
* other things because it is not reliable. If a
transaction loops
* via SER the ACK can't be matched to proper INVITE transaction
* (it is a separate transactino with its own branch ID) and it
* matches all transaction instances in the loop dialog-wise.
* Eventually, regardless to which transaction in the loop the
* ACK belongs, only the first one will match.
*/
Does anyone have a solution to this problem?
Thanks,
JF