anchor.diff:  %% @private
   %%
   init([Sup, radius, ServerAddress, ServerPort, ClientAddress, ClientPort,
  -		RadiusFsm, Secret, PasswordReq, SessionID, AccessRequest] = _Args) ->
  +		RadiusFsm, Secret, PasswordReq, SessionID, #radius{attributes =
  +		Attributes} = AccessRequest] = _Args) ->
   	{ok, TLSkey} = application:get_env(ocs, tls_key),
   	{ok, TLScert} = application:get_env(ocs, tls_cert),
   	{ok, TLScacert} = application:get_env(ocs, tls_cacert),
   	{ok, Hostname} = inet:gethostname(),
  +	ServiceType = case radius_attributes:find(?ServiceType, Attributes) of
  +		{error, not_found} ->
  +			undefined;
  +		{_, ST} ->
  +			ST
  +	end,
   	StateData = #statedata{sup = Sup, server_address = ServerAddress,
   			server_port = ServerPort, client_address = ClientAddress,
   			client_port = ClientPort, radius_fsm = RadiusFsm, secret = Secret,
   			session_id = SessionID, server_id = list_to_binary(Hostname),
   			start = AccessRequest, tls_key = TLSkey, tls_cert = TLScert,
  -			tls_cacert = TLScacert, password_required = PasswordReq},
  +			tls_cacert = TLScacert, password_required = PasswordReq,
  +			service_type = ServiceType},
   	process_flag(trap_exit, true),
   	{ok, ssl_start, StateData, 0};
   init([Sup, diameter, ServerAddress, ServerPort, ClientAddress, ClientPort,
  
positive.code: 					tls_key = TLSkey, tls_cert = TLScert, tls_cacert = TLScacert,
  					app_id = AppId, auth_req_type = ReqType, origin_host = OHost,
  					origin_realm = ORealm, port_server = PortServer,
  					password_required = PasswordReq},
  			process_flag(trap_exit, true),
  			{ok, ssl_start, StateData, 0}
  	end.
  
negative.code: 		origin_host :: undefined | binary(),
  		origin_realm :: undefined | binary(),
  		port_server :: undefined | pid(),
  		password_required :: boolean(),
  		service_type :: undefined | integer()}).
  
  -type statedata() :: #statedata{}.
  
  