anchor.diff:  		eap_id = EapID, session_id = SessionID,
   		secret = Secret} = StateData) ->
   	{ok, SslSocket} = ocs_eap_ttls_transport:ssl_accept(self(), []),
  +	NewStateData = StateData#statedata{ssl_socket = SslSocket},
   	EapTtls = #eap_ttls{start = true},
   	EapData = ocs_eap_codec:eap_ttls(EapTtls),
   	case radius_attributes:find(?EAPMessage, Attributes) of
  
positive.code: 			send_response(EapPacket, ?AccessChallenge,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			ssl:ssl_accept(SslSocket),
  			{next_state, ttls, StateData, ?TIMEOUT}
  	end.
  
  -spec ttls(Event :: timeout | term(), StateData :: #statedata{}) ->
  
negative.code: 					send_response(NewEapPacket, ?AccessChallenge,
  							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  					ssl:ssl_accept(SslSocket),
  					NextStateData = NewStateData#statedata{eap_id = NewEapID},
  					{next_state, ttls, NextStateData, ?TIMEOUT};
  				#eap_packet{code = request, identifier = NewEapID} ->
  					NewEapPacket = #eap_packet{code = response, type = ?LegacyNak,
  							identifier = NewEapID, data = <<0>>},
  					send_response(NewEapPacket, ?AccessReject,
  							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  					{stop, {shutdown, SessionID}, NewStateData};
  				#eap_packet{code = Code,
  							type = EapType, identifier = NewEapID, data = Data} ->
  					error_logger:warning_report(["Unknown EAP received",
  