anchor.diff:  				case ocs_eap_codec:eap_packet(EAPMessage) of
   					#eap_packet{code = response, type = ?Identity,
   							identifier = StartEapID,
  -							data = <<?PERM_TAG, PermanentID/binary>>}
  +							data = <<?PERM_TAG, PermanentID/binary>> = Identity}
   							when Trusted == true ->
  -						NextStateData = NewStateData#statedata{eap_id = StartEapID},
  +						NextStateData = NewStateData#statedata{eap_id = StartEapID,
  +								identity = Identity},
   						[IMSI | _] = binary:split(PermanentID, <<$@>>, []),
   						% @todo handle RADIUS attribute for ANID
   						gen_fsm:send_event(AucFsm, {self(), IMSI, "WLAN"}),
   						{next_state, vector, NextStateData, ?TIMEOUT};
   					#eap_packet{code = response, type = ?Identity,
   							identifier = StartEapID,
  -							data = <<?TEMP_TAG:6, _/bits>> = TemporaryID}
  +							data = <<?TEMP_TAG:6, _/bits>> = Identity}
   							when Trusted == true ->
  -						NextStateData = NewStateData#statedata{eap_id = StartEapID},
  -						Pseudonym = binary:split(TemporaryID, <<$@>>, []),
  +						NextStateData = NewStateData#statedata{eap_id = StartEapID,
  +								identity = Identity},
  +						Pseudonym = binary:split(Identity, <<$@>>, []),
   						CompressedIMSI = decrypt_imsi(Pseudonym, Keys),
   						IMSI = compressed_imsi(CompressedIMSI),
   						% @todo handle RADIUS attribute for ANID
  
positive.code: 		diameter_port_server :: undefined | pid(),
  		password_required :: boolean(),
  		trusted :: boolean(),
  		keys :: [{pos_integer(), binary()}],
  		id_req :: any | full | permanent,
  		service_type :: undefined | integer()}).
  -type statedata() :: #statedata{}.
  
  -define(TIMEOUT, 30000).
  
negative.code: 		#eap_packet{code = response, type = ?AKA, identifier = EapID,
  				data = Data} = ocs_eap_codec:eap_packet(EapMessage),
  		case ocs_eap_codec:eap_aka(Data) of
  			#eap_aka_identity{identity = <<?PERM_TAG,
  					PermanentID/binary>> = Identity} when IdReq == full ->
  				[IMSI | _] = binary:split(PermanentID, <<$@>>, []),
  				% @todo handle DIAMETER ANID AVP
  				gen_fsm:send_event(AucFsm, {self(), IMSI, "WLAN"}),
  				NewStateData = StateData#statedata{identity = Identity},
  				{next_state, vector, NewStateData, ?TIMEOUT};
  			#eap_aka_identity{identity = <<?TEMP_TAG:6, _/bits>> = Identity}
  					when IdReq == full ->
  				Pseudonym = binary:split(Identity, <<$@>>, []),
  				CompressedIMSI = decrypt_imsi(Pseudonym, Keys),
  				IMSI = compressed_imsi(CompressedIMSI),
  				% @todo handle DIAMETER ANID AVP
  				gen_fsm:send_event(AucFsm, {self(), IMSI, "WLAN"}),
  				NewStateData = StateData#statedata{identity = Identity},
  				{next_state, vector, NewStateData, ?TIMEOUT}
  		end
  	catch
  		_:_Reason ->
  