Hi All,

I searched list archives and have not seen a discussion on this issue.

According to 3261, CANCEL transaction matching follows the rules listed in section 17.2.3:

[...snip...]
      1. the branch parameter in the request is equal to the one in the
         top Via header field of the request that created the
         transaction, and

      2. the sent-by value in the top Via of the request is equal to the
         one in the request that created the transaction, and
[...snip...]

However, according to RFC 6141 (which I don't think kamailio implemented yet) suggests generating a CANCEL request (UAC) after losing contact (section 5.5):

[...snip...]

   When a UAC moves to a new contact and loses its old contact, it will
   not be able to receive responses to the re-INVITE.  Consequently, it
   will never generate an ACK request.

   Such a UAC SHOULD generate a CANCEL request to cancel the re-INVITE
   and cause the INVITE client transaction corresponding to the
   re-INVITE to enter the "Terminated" state.  The UAC SHOULD also send
   a new re-INVITE in order to make sure that both UAs have a common
   view of the state of the session.
[...snip...]

My interpretation is that sent-by comparison is ruled out because clearly IP:PORT will not match anymore.

Do you think this is the right interpretation?

Is there a plan to implement RFC 6141?

Regards,
-volkan