I ran into exactly the same problem in December. There are several
reasons why SER may not realize the ACK belongs to the transaction.
Look carefully at the via: and from: headers in the INVITE and the ACK.
The via: should have a branch parameter, and it should be the same in
both. Some UAs do not put in the branch parameter. In this case SER
should (according to RFC3261) be looking at the combination of the
Request URI, To tag, From tag, Call-ID, Cseq, and top via header. In my
case the problem was that SER compares the From field rather than the
From tag, and it does so incorrectly. I raised this
issue both here and
in the serdev list, (you can find the thread in the December
archives),
but the developers said they would not fix this because it is in support
of an obsolete spec (RFC 2543).
I recommend you check those headers to see if your situation actually
matches what I ran into, and if so, raise the issue to the serdev list.
If enough people complain, they might decide to provide better support
of RFC3261, section 17.2.3 (Matching Requests to Server Transactions).
Dave
_____
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of PHAN, Quang-Minh (Docteur Ordinateur)
Sent: Thursday, January 06, 2005 12:10 PM
To: serusers(a)lists.iptel.org
Subject: [Serusers] Problem with ACK on Negative Reply
Hi all,
When I use SER in transaction stateful mode, I have the following
problem:
When A sends an "INVITE B" to SER, SER forwards the INVITE to B
statefully. If B reply with "200 OK", everything goes fine as SER will
delete the transaction from memory when it sees the 200 OK. However, if
B send an "BUSY HERE" back to SER, SER will send an ACK to B right away
and then forwards the "BUSY HERE" to A. A will then send an ACK to SER
but SER won't realize that the ACK belong to the transaction and forward
it to B. SER will then keep sending "BUSY HERE" to A until the
transaction is timed out.
I wonder if there is something to add in the configuration file to
make SER understand that the ACK send from A should terminate the
transaction.
Any help will be highly appreciated!
Minh