Some UA have inconsistency with RFC 3261 when create request methods. It does not update 'branch' attribute of Via header when sent requests during one dialog and change CSeq header only. For example: sent two INVITE without and with authorization data. As a result, the second INVITE is considered as the previous retransmission and session expired by timeout instead of authorization.
This issue can be resolved by adding CSeq header value to Via 'branch' when Transaction ID is created.