anchor.diff:  	DebitAmount = [{octets, UsageOctets}, {seconds, UsageSecs}],
   	case ocs_rating:rate(radius, Subscriber, final, DebitAmount, [], Candidates) of
   		{out_of_credit, SessionList}  ->
  -			start_disconnect(State, Subscriber, SessionList),
  -			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  +			gen_server:reply(From, {ok, response(Id, Authenticator, Secret)}),
  +			start_disconnect(State, Subscriber, SessionList),
  +			{noreply, State};
   		{error, Reason} ->
   			error_logger:warning_report(["Accounting failed",
   					{error, Reason}, {module, ?MODULE},
  
positive.code: 					{session, AcctSessionId}]),
  			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  		{out_of_credit, SessionList} ->
  			start_disconnect(State, Subscriber, SessionList),
  			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  		{disabled, SessionList} ->
  			start_disconnect(State, Subscriber, SessionList),
  			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  		{ok, #subscriber{}, _} ->
  			{reply, {ok, response(Id, Authenticator, Secret)}, State}
  	end;
  request1(?AccountingON, _AcctSessionId, Id,
  		Authenticator, Secret, _NasId, _Address, _AccPort, _ListenPort, Attributes,
  		#state{address = ServerAddress, port = ServerPort} = State) ->
  	ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, on, Attributes),
  	{reply, {ok, response(Id, Authenticator, Secret)}, State};
  request1(?AccountingOFF, _AcctSessionId, Id,
  		Authenticator, Secret, _NasId, _Address, _AccPort, _ListenPort, Attributes,
  		#state{address = ServerAddress, port = ServerPort} = State) ->
  	ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, off, Attributes),
  	{reply, {ok, response(Id, Authenticator, Secret)}, State};
  request1(_AcctStatusType, _AcctSessionId, _Id, _Authenticator,
  		_Secret, _NasId, _Address, _Port, _ListenPort, _Attributes, State) ->
  	{reply, {error, ignore}, State}.
  
  -spec response(Id, RequestAuthenticator, Secret) -> AccessAccept
  
negative.code: 					{address, Address}, {session, AcctSessionId}]),
  			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  		{disabled, SessionList} ->
  			gen_server:reply(From, {ok, response(Id, Authenticator, Secret)}),
  			start_disconnect(State, Subscriber, SessionList),
  			{noreply, State};
  		{ok, #subscriber{}, _} ->
  			ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, start, Attributes),
  			{reply, {ok, response(Id, Authenticator, Secret)}, State}
  	end;
  request1(?AccountingStop, AcctSessionId, Id,
  		Authenticator, Secret, NasId, Address, _AccPort, _ListenPort, Attributes,
  		From, #state{address = ServerAddress, port = ServerPort} = State) ->
  	InOctets = radius_attributes:find(?AcctInputOctets, Attributes),
  	OutOctets = radius_attributes:find(?AcctOutputOctets, Attributes),
  	UsageOctets = case {InOctets, OutOctets} of
  