anchor.diff:  	access_request(Socket, Address, Port, NasId,
   			AnonymousName, Secret, MAC, ReqAuth,RadId, EapMessages).
   
  -server_hello(Socket, Address, Port, ReqAuth, RadId, Secret) ->
  +server_hello(ClientPid, Socket, Address, Port, ReqAuth, RadId, Secret) ->
   	EapMsg = access_challenge(Socket, Address, Port,
   			Secret, RadId, ReqAuth),
   	#eap_packet{code = request, type = ?TTLS,
   			identifier = 4, data = TtlsMsg} = ocs_eap_codec:eap_packet(EapMsg),
  -	#eap_ttls{data = TtlsData} = ocs_eap_codec:eap_ttls(TtlsMsg).
  +	#eap_ttls{data = TtlsData} = ocs_eap_codec:eap_ttls(TtlsMsg),
  +	deliver(TtlsData).
   
   eap_fragment(<<Chunk:253/binary, Rest/binary>>, RadiusAttributes) ->
   	AttributList = radius_attributes:add(?EAPMessage, Chunk,
  
positive.code: 	Options :: [term()],
  	SslSocket :: pid(),
  	Reason :: term().
  %% @doc Opens an SSL connection to Host, Port.
  ssl_connect(Address, Port, Options) ->
  	ssl:connect(Address, Port, [?cb_info | Options]).
  
  -spec deliver(SslPid, ClientPid, Data) ->
  	ok when
  		SslPid :: pid(),
  		ClientPid :: pid(),
  		Data :: iodata().
  %% @doc Deliver received EAP-TTLS payload to SSL.
  deliver(SslPid, ClientPid, Data) ->
  	SslPid ! {eap_ttls, ClientPid, iolist_to_binary(Data)},
  	ok.
  
  %%----------------------------------------------------------------------
  
negative.code: 		Reason :: term().
  %% @doc Sets one or more options for an EAP session.
  setopts(ClientPid, Options) when is_pid(ClientPid) -> 
  	case proplists:get_value(active, Options) of
  		undefined ->
  			ok;
  