anchor.diff:  		{ok, Socket} ->
   			case gen_udp:send(Socket, NasIpAddress, Port, DisconnectRequest)of
   				ok ->
  -					NewStateData = StateData#statedata{id = Id, socket = Socket},
  +					NewStateData = StateData#statedata{id = Id, socket = Socket,
  +						request = DisconnectRequest},
   					{next_state, receive_response, NewStateData, ?RETRY};
   				{error, _Reason} ->
   					{next_state, send_request, StateData, ?TIMEOUT}
  
positive.code: 		 acct_session_id :: string(),
  		 secret :: string(),
  		 socket :: inet:socket(),
  		 retry_count = 0 :: integer()}).
  
  -define(TIMEOUT, 30000).
  -define(RETRY, 5000).
  
negative.code: receive_response(timeout, #statedata{retry_count = Count}= StateData)
  		when Count > 5->
  	{stop, shutdown, StateData};
  receive_response(timeout, #statedata{socket = Socket, nas_ip = NasIp ,
  		request =  DisconnectRequest} = StateData)->
  	{ok, Port} = application:get_env(ocs, radius_disconnect_port),
  		case gen_udp:send(Socket, NasIp, Port, DisconnectRequest)of
  			ok ->
  				{next_state, receive_response, StateData, ?RETRY};
  			{error, _Reason} ->
  				{next_state, send_request, StateData, ?TIMEOUT}
  		end;
  receive_response({udp, Socket, _, _, Packet}, #statedata{id = Id,
  		socket = Socket, retry_count = Count} = StateData) ->
  	case radius:codec(Packet) of
  