anchor.diff:  	#eap_packet{code = request, type = ?AKAprime, identifier = NextEapId,
   			data = _EapData} = ocs_eap_codec:eap_packet(Payload).
   
  +eap_identity_radius_no_client() ->
  +   [{userdata, [{doc, "Send an EAP-Identity/Response using RADIUS"}]}].
  +
  +eap_identity_radius_no_client(Config) ->
  +	Socket = ?config(socket, Config),
  +	{ok, RadiusConfig} = application:get_env(ocs, radius),
  +	{auth, [{Address, Port, _} | _]} = lists:keyfind(auth, 1, RadiusConfig),
  +	NasId = ?config(nas_id, Config),
  +	ReqAuth = radius:authenticator(),
  +	RadId = 1, EapId = 1,
  +	Secret = ct:get_config(radius_shared_secret),
  +	Realm = ?config(realm, Config),
  +	MSIN = msin(),
  +	PeerId = "6" ++ ct:get_config(mcc) ++ ct:get_config(mcc) ++ MSIN ++ "@wlan." ++ Realm,
  +	PeerId1 = list_to_binary(PeerId),
  +	ok = send_radius_identity(Socket, Address, Port, NasId,
  +			PeerId1, Secret, ReqAuth, EapId, RadId),
  +	{error,timeout} = gen_udp:recv(Socket, 0, 5000).
  +
   %%---------------------------------------------------------------------
   %%  Internal functions
   %%---------------------------------------------------------------------
  
positive.code: 	#eap_packet{code = request, type = ?AKAprime, identifier = _EapID,
  			data = EapData} = ocs_eap_codec:eap_packet(EapMsg),
  	#eap_aka_challenge{rand = RAND, autn = _AUTN, mac = MAC} = ocs_eap_codec:eap_aka(EapData),
  
  	{_XRES, CK, IK, <<AK:48>>} = ocs_milenage:f2345(OPc, K, RAND),
  	SQN = sqn(DIF),
  	<<CKprime:16/binary, IKprime:16/binary>> = kdf(CK, IK, "WLAN", SQN, AK),
  
negative.code: 	ok = send_radius_identity(Socket, Address, Port, NasId,
  			PeerId1, Secret, ReqAuth, EapId, RadId),
  	NextEapId = EapId + 1,
  	{NextEapId, _ServerID} = receive_radius_id(Socket, Address,
  			Port, Secret, ReqAuth, RadId).
  
  