anchor.diff:  case existing_sessions(Subscriber) of
   	false ->
   		request3(list_to_binary(Password), StateData);
  -	{true, false, ExistingSessionAtt} ->
  -		%% @todo
  -		%% 1. Get existing session attributes
  -		%% 2. spawn a disconnect fsm and pass it session attributes
  -		%% 3. When existing session is disconnected by NAS, authorize new session
  -		%% 4. Store new session attributes on subscriber
  -		;
  -	{true, true, ExistingSessionAtt} ->
  +	{true, false, [ExistingSessionAtt]} ->
  +		case pg2:get_closest_pid(ocs_radius_acct_top_sup) of
  +			{error, Reason} ->
  +				request5(Reason, StateData);
  +			DiscFsmSup ->
  +				start_disconnect(DiscFsmSup, ExistingSessionAtt, StateData)
  +		end;
  +	{true, true, _ExistingSessionAtt} ->
   		request3(list_to_binary(Password), StateData);
   	{error, _Reason} ->
   		request5(not_found, StateData)
   end.
   %% @hidden
  -request3(<<>>, #statedata{subscriber = Subscriber,
  -		session_id = SessionID} = StateData) ->
  +request3(<<>>, #statedata{subscriber = Subscriber} = StateData) ->
   	case ocs:authorize(ocs:normalize(Subscriber), []) of
   		{ok, <<>>, Attributes} ->
   			request4(?AccessAccept, Attributes, StateData);
  
positive.code: 			terminate/3, code_change/4]).
  
  -include_lib("radius/include/radius.hrl").
  -include("ocs_eap_codec.hrl").
  -include_lib("diameter/include/diameter.hrl").
  -include_lib("diameter/include/diameter_gen_base_rfc6733.hrl").
  
negative.code: 		{error, Reason} ->
  			request5(Reason, StateData)
  	end;
  request3(Password, #statedata{subscriber = Subscriber} = StateData) ->
  	case ocs:authorize(Subscriber, Password) of
  		{ok, Password, ResponseAttributes} ->
  			request4(?AccessAccept, ResponseAttributes, StateData);
  		{error, Reason} ->
  			request5(Reason, StateData)
  	end.
  %% @hidden
  request4(RadiusPacketType, ResponseAttributes, #statedata{session_id = SessionID,
  		req_attr = Attributes, subscriber = Subscriber} = StateData) ->
  	case add_session_attributes(Subscriber, Attributes) of
  		ok ->
  			response(RadiusPacketType, ResponseAttributes, StateData),
  