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