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: 		when Count > 5 ->
  	{stop, shutdown, StateData};
  receive_response(timeout, #statedata{socket = Socket, nas_ip = NasIp ,
  		request =  DisconnectRequest, retry_count = Count} = StateData) ->
  	{ok, Port} = application:get_env(ocs, radius_disconnect_port),
  	NewCount = Count + 1,
  	NewStateData = StateData#statedata{retry_count = NewCount},
  	case gen_udp:send(Socket, NasIp, Port, DisconnectRequest)of
  		ok ->
  			{next_state, receive_response, NewStateData, ?RETRY};
  		{error, _Reason} ->
  			{next_state, receive_response, NewStateData, 0}
  	end;
  
negative.code: 		 acct_session_id :: string(),
  		 secret :: string(),
  		 socket :: inet:socket(),
  		 retry_time = 500 :: integer(),
  		 retry_count = 0 :: integer(),
  		 request :: binary()}).
  
  -define(TIMEOUT, 30000).
  -define(ERRORLOG, radius_disconnect_error).
  
  %%----------------------------------------------------------------------
  