anchor.diff:  					{username, UserName}, {nas, NasId}, {address, Address},
   					{session, AcctSessionId}]),
   			{reply, {ok, response(Id, Authenticator, Secret)}, State};
  -		{error, out_of_credit} ->
  -			case client_disconnect_supported(Address) of
  -				true ->
  -					start_disconnect(AcctSessionId, Id, Authenticator, Secret,
  -							ListenPort, NasId, Address, Attributes, Subscriber, State);
  -				false ->
  -					{reply, {ok, response(Id, Authenticator, Secret)}, State}
  -			end;
  -		{ok, #subscriber{enabled = Flag}} when Flag == false ->
  -			case client_disconnect_supported(Address) of
  -				true ->
  -					start_disconnect(AcctSessionId, Id, Authenticator, Secret,
  -							ListenPort, NasId, Address, Attributes, Subscriber, State);
  -				false ->
  -					{reply, {ok, response(Id, Authenticator, Secret)}, State}
  -			end;
  +		{error, out_of_credit, SessionList} ->
  +			start_disconnect(Subscriber, Id, Authenticator, State, SessionList);
  +		{ok, #subscriber{enabled = false, session_attributes = SessionList}} ->
  +			start_disconnect(Subscriber, Id, Authenticator, State, SessionList);
   		{ok, #subscriber{}} ->
   			{reply, {ok, response(Id, Authenticator, Secret)}, State}
   	end;
  
positive.code: 			{reply, {ok, response(Id, Authenticator, Secret)}, State}
  	end;
  request1(?AccountingInterimUpdate, AcctSessionId, Id,
  		Authenticator, Secret, NasId, Address, _AccPort, ListenPort, Attributes,
  		#state{address = ServerAddress, port = ServerPort} = State) ->
  	InOctets = radius_attributes:find(?AcctInputOctets, Attributes),
  	OutOctets = radius_attributes:find(?AcctOutputOctets, Attributes),
  
negative.code: 							{address, Address}, {session, AcctSessionId}, {error, Reason}]),
  					{reply, {ok, response(Id, Authenticator, Secret)}, State}
  			end
  	end;
  start_disconnect1(_Subscriber, _Id, _Authenticator, _State, []) ->
  	ok.
  
  