anchor.diff:  usage_characteristics([], _Ipdr, Acc) ->
   	lists:reverse(Acc).
   
  +%% @hidden
  +usage_aaa_auth(Events) ->
  +	UsageSpec = {{"id", "AAAAccessUsageSpec"},
  +			{"href", "/usageManagement/v1/usageSpecification/AAAAccessUsageSpec"},
  +			{name, "AAAAccessUsageSpec"}},
  +	Type = "AAAAccessUsageSpec",
  +	Status = "received",
  +	F = fun({Milliseconds, N, P, Node, Server, Client,
  +					Type, ReqAttrs, _RespAttrs},  Acc) ->
  +				ID = "access-" ++ integer_to_list(Milliseconds)
  +						++ integer_to_list(N),
  +				Href = "/usageManagement/v1/usage/" ++ ID,
  +				Date = ocs_log:iso8601(Milliseconds),
  +				Protocol = case P of
  +					radius ->
  +						"RADIUS";
  +					diameter ->
  +						"DIAMETER"
  +				end,
  +				UsageChars = [{struct, [{name, "protocol"}, {"value", Protocol}]},
  +						{struct, [{"name", ""}, {"value", ""}]}],
  +				JsonObj = {struct, [{"id", ID}, {"href", Href},
  +						{"date", Date}, {"type", Type}, {"status", Status},
  +						{"usageSpecification", UsageSpec},
  +						{"usageCharacteristic", {array, UsageChars}}]},
  +				[JsonObj | Acc];
  +		(_, Acc) ->
  +				%% TODO support for DIAMETER
  +				Acc
  +	end,
  +	lists:reverse(lists:foldl(F, [], Events)).
   
   %% @hidden
   spec_aaa_auth() ->
  
positive.code: 			{ok, Headers, Body};
  		{error, _Reason} ->
  			{error, 500}
  	end.
  
  -spec get_usage(Id, Query) -> Result
  
negative.code: %% @doc Body producing function for
  %% 	`GET /usageManagement/v1/usage'
  %% 	requests.
  get_usage([] = _Query) ->
  	{ok, Directory} = application:get_env(ocs, ipdr_log_dir),
  	case file:list_dir(Directory) of
  		{ok, Files} ->
  