anchor.diff:  access_challenge(Socket, Address, Port, Secret, RadId, ReqAuth) ->
   	receive_radius(?AccessChallenge, Socket, Address, Port, Secret, RadId, ReqAuth).
   
  +access_accept(Socket, Address, Port, Secret, RadId, ReqAuth) ->
  +	receive_radius(?AccessAccept, Socket, Address, Port, Secret, RadId, ReqAuth).
  +
   receive_radius(Code, Socket, Address, Port, Secret, RadId, ReqAuth) ->
   	{ok, {Address, Port, RespPacket1}} = gen_udp:recv(Socket, 0),
   	Resp1 = radius:codec(RespPacket1),
  
positive.code: 			master_secret , <<"ttls keying material">>, Seed, 128),
  	ReqAuth6 = radius:authenticator(),
  	{RadId7, CPAuth} = client_passthrough(SslSocket, Subscriber, PeerAuth,
  			Socket, Address, Port, NasId, Secret, MAC, ReqAuth6, EapId5, RadId7).
  	
  send_identity(Socket, Address, Port, NasId, AnonymousName, Secret, MAC,
  		Auth, EapId, RadId) ->
  
negative.code: 	access_request(EapPacket, Socket, Address, Port, NasId,
  		binary_to_list(UserName), Secret, MAC, Auth, RadId),
  	{RadId, Auth}.
  
  server_passthrough(Socket, Address, Port, NasId, UserName, Secret,
  			MAC, Auth, RadId) ->
  	EapMsg = access_accept(Socket, Address, Port,
  			Secret, RadId, Auth),
  	#eap_packet{code = success, identifier = EapId,
  			type = ?TTLS} = ocs_eap_codec:eap_packet(EapMsg),
  	ok.
  
  %% EapPacket :: #eap_packet{}.
  access_request(EapPacket, Socket, Address, Port, NasId, UserName,
  