anchor.diff:  %%%                 Status = integer(), SIP status code
   %%%                 Reason = string(), SIP reason phrase
   %%%
  +%%%           Note : You can't assume that you will get a branch_result
  +%%%                  signal with a final Response and SipState =
  +%%%                  'terminated'.
  +%%%
   %%%           You can tell the client transaction to terminate
   %%%           gracefully by using gen_server:cast() to send it a
   %%%
  -%%%           {cancel, Msg, ExtraHeaders}
  +%%%           {cancel, Msg, ExtraHeaders} - Msg is only for logging,
  +%%%               ExtraHeaders is a list of {Key, ValueList} tuples
  +%%%               to add to the CANCEL request generated.
   %%%
   %%% Created : 06 Feb 2004 by Fredrik Thulin <ft@it.su.se>
   %%%-------------------------------------------------------------------
  
positive.code: 		    SipState = State#state.sipstate,
  		    ReportTo ! {branch_result, self(), Branch, SipState, Response},
  		    if
  			IsFinalResponse ->
  			    %% Make event out of final response
  			    L = [{dst, sipdst:dst2str(State#state.dst)}],
  			    event_handler:uac_result(Branch, Status, Reason, L),
  			    State#state{final_r_sent = true};
  			true -> State
  		    end
  	    end;
  	{false, undefined} ->
  
negative.code: %% Returns : NewState = state record()
  %%--------------------------------------------------------------------
  process_timer2({invite_expire}, _Timer, State) when is_record(State, state) ->
      %% end_invite/1 will fake receiving an 408 Request Timeout if we are in sipstate 'calling',
      %% start a CANCEL transaction if we are in state 'proceeding' or don't do anything if we
      %% are in state 'completed' or 'terminated'
      end_invite(State);
  
  process_timer2(Signal, Timer, State) when is_record(State, state) ->
  