anchor.diff:  %%           NewState        = state record()
   %%           NewBranchAction = atom(), ignore | tell_parent
   %%--------------------------------------------------------------------
  +act_on_new_sipstate(SipState, SipState, ignore, State) when is_atom(SipState), is_record(State, state) ->
  +    %% SipState has not changed
  +    {State, ignore};
  +act_on_new_sipstate(SipState, SipState, tell_parent, State) when is_atom(SipState), is_record(State, state) ->
  +    %% SipState has not changed
  +    {State, tell_parent};
   act_on_new_sipstate(OldSipState, NewSipState, BranchAction, State)
     when is_atom(OldSipState), is_atom(NewSipState), is_atom(BranchAction),
  -       BranchAction == ignore; BranchAction == tell_parent,
  -       is_record(State, state), OldSipState == NewSipState ->
  -    %% State has not changed
  -    {State, BranchAction};
  -act_on_new_sipstate(OldSipState, NewSipState, BranchAction, State)
  -  when is_atom(OldSipState), is_atom(NewSipState), is_atom(BranchAction),
  -       BranchAction == ignore; BranchAction == tell_parent,
  +       (BranchAction == ignore orelse BranchAction == tell_parent),
          is_record(State, state) ->
       %% State has changed
       act_on_new_sipstate2(NewSipState, BranchAction, State).
  
positive.code:     autotest:mark(?LINE, "gen_server:cast() {sipmessage, ...} - 1.1"),
      SipMessage_State1 = #state{request   = Test_Request,
  			       sipstate  = calling,
  			       timerlist = siptimer:empty()
  			      },
      {noreply, SipMessage_State1_out} =
  	handle_cast({sipmessage, Test_Response, #siporigin{}, "testing"}, SipMessage_State1),
  
negative.code: 		    logger:log(debug, "~s: A previously cancelled transaction (INVITE ~s) "
  			       "entered state 'proceeding' upon receiving a '~p ~s' response. "
  			       "CANCEL ourselves!", [State#state.logtag, sipurl:print(URI), Status, Reason]),
  		    %% make sure cancel_request/2 doesn't think we have already started a CANCEL for this INVITE
  		    NewState1 = State#state{cancelled = false, do_cancel = false},
  		    NewState2 =
  			case cancel_request(NewState1, ExtraHeaders) of
  			    NewState2_1 when is_record(NewState2_1, state) ->
  				NewState2_1;
  			    {ok, testing, NewState2_1, _CancelParams} when is_record(NewState2_1, state) ->
  				NewState2_1
  			end,
  		    {NewState2, ignore};
  		false ->
  		    {State, BranchAction}
  