anchor.diff:  	  do_cancel=false,	%% atom(), {true, EH} | false - have we been instructed to cancel?
   	  tl_branch,	%% string(), the branch the transaction layer actually used when sending our request
   	  initialized=no,	%% atom(), yes | no - have we finished our initialization process
  -	  cancel_pid	%% undefined | pid(), if we start a CANCEL for ourselves, this is the pid of that transaction
  +	  cancel_pid,	%% undefined | pid(), if we start a CANCEL for ourselves, this is the pid of that transaction
  +	  final_r_sent=no	%% atom(), yes | no - have we sent a final response to our parent yet?
   	 }).
   
   
  
positive.code:     LogTag = State#state.logtag,
      logger:log(debug, "~s: ~s ~s - pretend we got an '~p ~s' (and enter SIP state terminated)",
  	       [LogTag, Method, sipurl:print(URI), Status, Reason]),
      FakeResponse = {Status, Reason},
      ReportTo = State#state.report_to,
      case util:safe_is_process_alive(ReportTo) of
  	{true, ReportTo} ->
  	    logger:log(debug, "~s: Client transaction forwarding fake response '~p ~s' to ~p",
  		       [LogTag, Status, Reason, ReportTo]),
  	    Branch = State#state.branch,
  	    ReportTo ! {branch_result, self(), Branch, terminated, FakeResponse};
  	{false, _} ->
  	    logger:log(debug, "~s: Client transaction orphaned ('~p' not alive) - not sending "
  		       "fake response '~p ~s' to anyone", [LogTag, ReportTo, Status, Reason])
      end,
      NewState1 = State#state{response=FakeResponse},
      NewState = terminate_transaction(NewState1),
      NewState.
  
  %%--------------------------------------------------------------------
  %% Function: fake_request_response(Status, Reason, State)
  
negative.code: 
      TimerList = State#state.timerlist,
      NewTimerList1 = siptimer:cancel_timers_with_appsignal({resendrequest_timeout}, TimerList),
      NewTimerList2 = siptimer:cancel_timers_with_appsignal({invite_timeout}, NewTimerList1),
      NewState1 = State#state{timerlist=NewTimerList2},
      %% Install TimerD with a minimum value of 32 seconds (RFC 3261 17.1.1.2)
      %% or TimerK (T4, default 5 seconds) in case of non-INVITE request (17.1.2.2)
      %% to stay alive for a few seconds collecting resends
  