anchor.diff:      1 = SipMessage_State2_out#state.res_count,
       "Testing" = (SipMessage_State2_out#state.response)#response.reason,
       [{terminate_transaction}] = siptimer:test_get_appsignals(SipMessage_State2_out#state.timerlist),
  -
  -    %% take new state and reset everything we expect to have changed, to then check
  -    %% that nothing _more_ than what we expected to change have changed
  -    SipMessage_State2_out2 = SipMessage_State2_out#state{sipstate   = calling,
  -							 response   = undefined,
  -							 res_count  = 0,
  -							 cancel_pid = undefined,
  -							 timerlist  = siptimer:empty(),
  -							 do_cancel  = {true, []}
  -							},
  -    SipMessage_State2 = SipMessage_State2_out2,
  +    ok = test_compare_records(SipMessage_State2, SipMessage_State2_out,
  +			      [sipstate, response, res_count, cancel_pid, timerlist, do_cancel]),
   
       %% clean up
       siptimer:cancel_all_timers(SipMessage_State2_out#state.timerlist),
  
positive.code:     EndInvite_State3 = end_invite(EndInvite_State3),
  
  
      %% cancel_request(State, ExtraHeaders)
      %%--------------------------------------------------------------------
  
      autotest:mark(?LINE, "cancel_request/2 - 1.0"),
      CancelRequest_State1_1 = #state{request = Test_Request#request{method = "TESTING"},
  				    logtag  = "testing",
  				    timerlist = siptimer:empty()
  				   },
      CancelRequest_State1 = add_timer(10000, "testing timer", {resendrequest}, CancelRequest_State1_1),
  
      autotest:mark(?LINE, "cancel_request/2 - 1.1"),
      CancelRequest_State1_out = cancel_request(CancelRequest_State1, []),
  
      autotest:mark(?LINE, "cancel_request/2 - 1.1"),
      %% verify new state
      siptimer:cancel_all_timers(CancelRequest_State1_out#state.timerlist),
      [{terminate_transaction}] = siptimer:test_get_appsignals(CancelRequest_State1_out#state.timerlist),
      completed = CancelRequest_State1_out#state.sipstate,
      true = CancelRequest_State1_out#state.cancelled,
      CancelRequest_State1 = CancelRequest_State1_out#state{timerlist = CancelRequest_State1#state.timerlist,
  							  sipstate  = undefined,
  							  cancelled = false
  							 },
  
      %% update_invite_expire(Status, State)
      %%--------------------------------------------------------------------
  
negative.code: %%          then receive a '487 Request Cancelled' response.
  %% @end
  %%--------------------------------------------------------------------
  start_cancel_transaction(State, ExtraHeaders) when is_record(State, state), is_list(ExtraHeaders) ->
      LogTag = State#state.logtag,
      Request = State#state.request,
      logger:log(debug, "~s: Starting new client transaction: CANCEL ~s",
  	       [LogTag, sipurl:print(Request#request.uri)]),
      CancelRequest = create_cancel_request(Request, ExtraHeaders),
  
      {ok, T1} = yxa_config:get_env(timerT1),
      NewState = add_timer(64 * T1, "quit after CANCEL", {terminate_transaction}, State),
  