anchor.diff:  		password_required :: boolean(),
   		trusted :: boolean(),
   		keys :: [{pos_integer(), binary()}],
  +		id_req :: any | full | permanent,
   		service_type :: undefined | integer()}).
   -type statedata() :: #statedata{}.
   
  
positive.code: 							when Trusted == true ->
  						% @todo handle fast re-authentication
  						NextEapID = (StartEapID rem 255) + 1,
  						NextStateData = NewStateData#statedata{eap_id = NextEapID},
  						EapData = ocs_eap_codec:eap_aka(#eap_aka_identity{fullauth_id_req = true}),
  						EapPacket = #eap_packet{code = request,
  								type = ?AKA, identifier = NextEapID, data = EapData},
  						send_radius_response(EapPacket, ?AccessChallenge, [], RadiusID,
  
negative.code: 			#eap_packet{code = response, type = ?Identity,
  					identifier = StartEapID} when Trusted == false ->
  				NextEapID = (StartEapID rem 255) + 1,
  				EapData = ocs_eap_codec:eap_aka(#eap_aka_identity{fullauth_id_req = true}),
  				NextStateData = NewStateData#statedata{eap_id = NextEapID, id_req = full},
  				EapPacket = #eap_packet{code = request,
  						type = ?AKA, identifier = NextEapID, data = EapData},
  				send_diameter_response(SessionId, AuthReqType,
  