1) AFAIK, the Record-Route/Route headers are used by TM for maintaining transaction state, unless you are relying on the 'dialog' module's "fast matching" cookies, which are identifiers that get placed as a URI parameter into the Record-Route header so that it is not necessary to match the message by more conventional means (Via/branch, Call-ID, tags, etc.)

2) ACK is a separate transaction; every request and reply sequence is a transaction. So, if you're trying to match it to an existing INVITE transaction, for instance, that won't happen.

t_check_trans() has special behaviour for ACKs, depending on whether they're end-to-end ACKs or ACKs for negative replies to existing transactions:

http://www.kamailio.org/docs/modules/3.0.x/modules/tm.html#t_check_trans

Are you sure that you're using it, or its newer variant, t_lookup_request(), correctly?

3) You are, nevertheless, correct that the ACK should contain the RR header:

   The UAC core MUST generate an ACK request for each 2xx received from
   the transaction layer.  The header fields of the ACK are constructed
   in the same way as for any request sent within a dialog (see Section
   12) with the exception of the CSeq and the header fields related to
   authentication.

-- Alex

--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to