anchor.diff:  -spec code_change(OldVsn, StateName, StateData, Extra) -> Result
   	when
   		OldVsn :: (Vsn :: term() | {down, Vsn :: term()}),
  -		StateName :: atom(), 
  -		StateData :: #statedata{}, 
  +		StateName :: atom(),
  +		StateData :: #statedata{},
   		Extra :: term(),
   		Result :: {ok, NextStateName :: atom(), NewStateData :: #statedata{}}.
   %% @doc Update internal state data during a release upgrade&#047;downgrade.
  
positive.code: 
  -define(DIAMETER_ACCT_SERVICE(A, P), {ocs_diameter_acct_service, A, P}).
  -define(BASE_APPLICATION, ocs_diameter_base_application).
  -define(BASE_APPLICATION_ID, 0).
  -define(BASE_APPLICATION_CALLBACK, ocs_diameter_base_application_cb).
  -define(CC_APPLICATION_ID, 4).
  -define(CC_APPLICATION, ocs_diameter_cc_application).
  -define(CC_APPLICATION_DICT, diameter_gen_cc_application_rfc4006).
  -define(CC_APPLICATION_CALLBACK, ocs_diameter_cc_application_cb).
  -define(RO_APPLICATION_ID, 4).
  -define(RO_APPLICATION, ocs_diameter_3gpp_ro_application).
  -define(RO_APPLICATION_DICT, diameter_gen_3gpp_ro_application).
  -define(RO_APPLICATION_CALLBACK, ocs_diameter_3gpp_ro_application_cb).
  
  %%----------------------------------------------------------------------
  %%  The ocs_diameter_acct_service_fsm API
  
negative.code: %% @see //stdlib/gen_fsm:handle_info/3
  %% @private
  %%
  handle_info(#diameter_event{info = start}, wait_for_start, StateData) ->
  	{next_state, started, StateData};
  %handle_info(#diameter_event{info = stop}, _StateName, StateData) ->
  %	{next_state, wait_for_stop, StateData, ?WAIT_STOP};
  handle_info(#diameter_event{info = Event, service = Service},
  		StateName, StateData) when element(1, Event) == up;
  		element(1, Event) == down ->
  	{_PeerRef, #diameter_caps{origin_host = {_, Peer}}} = element(3, Event),
  	error_logger:info_report(["DIAMETER event",
  			{service, Service}, {event, element(1, Event)},
  			{peer, binary_to_list(Peer)}]),
  	{next_state, StateName, StateData};
  handle_info(#diameter_event{info = {watchdog,
  		_Ref, _PeerRef, {_From, _To}, _Config}}, StateName, StateData) ->
  	{next_state, StateName, StateData};
  handle_info(#diameter_event{info = Event, service = Service}, StateName, StateData) ->
  	error_logger:info_report(["DIAMETER event",
  			{service, Service}, {event, Event}]),
  	{next_state, StateName, StateData}.
  
  -spec terminate(Reason, StateName, StateData) -> any()
  	when
  		Reason :: normal | shutdown | term(),
  		StateName :: atom(),
  		StateData :: #statedata{}.
  %% @doc Cleanup and exit.
  