Hi Jiri, David,

 

     Thank you very much for your timely replies. I will check if the ACK hits t_relay or not in my configuration. I have skimmed through the transaction matching code in SER but I don't remember if it checks the FROM field or the FROM tag. I'll verify this when I can.

 

Minh

 


De : Wearne, David W. [mailto:DWWearne@west.com]
Envoyé : jeudi 6 janvier 2005 20:56
À : PHAN, Quang-Minh (Docteur Ordinateur); serusers@lists.iptel.org
Objet : RE: [Serusers] Problem with ACK on Negative Reply

 

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@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@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