I'm facing a race condition when a CANCEL is received when cancelled INVITE is not yet completely processed:
* When t_forward_nonack() start, transaction is still not cancelled.
* When cancel_invite() process transaction, not all branches are created yet.
Result : cancel_invite() process correctly created branches but not ones created later. This is ending with never cancelled branches.
Attached patch flag branch to be cancelled on reply just after sending it.
It's more a safeguard : it's may be better, in addition, to not send branch at all if detected before sending.