On 06/15/2010 04:57 PM, Alex Balashov wrote:
* are NOT used.
----
- 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.)
- 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?
- 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