anchor.diff:  %%
   send_request(timeout, #statedata{nas_ip = NasIpAddress, nas_id = NasIdentifier,
   		subscriber = Subscriber, acct_session_id = AcctSessionId, id = Id,
  -		secret = SharedSecret} = StateData) ->
  +		secret = SharedSecret, retry_time = Retry} = StateData) ->
   	{ok, Port} = application:get_env(ocs, radius_disconnect_port),
   	Attr0 = radius_attributes:new(),
   	Attr1 = radius_attributes:add(?NasIpAddress, NasIpAddress, Attr0),
  
positive.code: 				ok ->
  					NewStateData = StateData#statedata{id = Id, socket = Socket,
  						request = DisconnectRequest},
  					{next_state, receive_response, NewStateData, ?RETRY};
  				{error, _Reason} ->
  					{next_state, send_request, StateData, ?TIMEOUT}
  			end;
  
negative.code: 		when Count > 5 ->
  	{stop, shutdown, StateData};
  receive_response(timeout, #statedata{socket = Socket, nas_ip = NasIp ,
  		request =  DisconnectRequest, retry_count = Count, retry_time = Retry} = StateData) ->
  	{ok, Port} = application:get_env(ocs, radius_disconnect_port),
  	NewRetry = Retry * 2,
  	NewCount = Count + 1,
  	NewStateData = StateData#statedata{retry_count = NewCount, retry_time = NewRetry},
  	case gen_udp:send(Socket, NasIp, Port, DisconnectRequest)of
  		ok ->
  			{next_state, receive_response, NewStateData, NewRetry};
  		{error, _Reason} ->
  			{next_state, receive_response, NewStateData, 0}
  	end;
  