anchor.diff:  	StartArgs = [DiscArgs, []],
   	supervisor:start_child(DiscSup, StartArgs).
   
  --spec extract_session_attributes(Attributes) -> SessionAttributes
  +-spec session_attributes(Attributes) -> SessionAttributes
   	when
   		Attributes :: radius_attributes:attributes(),
   		SessionAttributes :: radius_attributes:attributes().
  -%% @doc Extract and return RADIUS session related attributes from
  -%% `Attributes'.
  +%% @doc Extract RADIUS session related attributes.
   %% @hidden
  -extract_session_attributes(Attributes) ->
  -	F = fun({K, _}) when K == ?NasIdentifier; K == ?NasIpAddress;
  -				K == ?UserName; K == ?FramedIpAddress; K == ?NasPort;
  -				K == ?NasPortType; K == ?CalledStationId; K == ?CallingStationId;
  -				K == ?AcctSessionId; K == ?AcctMultiSessionId; K == ?NasPortId;
  -				K == ?OriginatingLineInfo; K == ?FramedInterfaceId;
  -				K == ?FramedIPv6Prefix ->
  -			true;
  -		(_) ->
  -			false
  +session_attributes(Attributes) ->
  +	F = fun({?NasIdentifier, _}) ->
  +				true;
  +			({?NasIpAddress, _}) ->
  +				true;
  +			({?AcctSessionId, _}) ->
  +				true;
  +			(_) ->
  +				false
   	end,
   	lists:filter(F, Attributes).
  +
  
positive.code: request1(?AccountingStart, AcctSessionId, Id,
  		Authenticator, Secret, NasId, Address, _AccPort, _ListenPort, Attributes,
  		From, #state{address = ServerAddress, port = ServerPort} = State) ->
  	SessionAttributes = extract_session_attributes(Attributes),
  	{ok, Subscriber} = radius_attributes:find(?UserName, Attributes),
  	Destination = proplists:get_value(?CalledStationId, Attributes, ""),
  	case ocs_rating:rate(radius, Subscriber,
  
negative.code: 	end,
  	{ok, Subscriber} = radius_attributes:find(?UserName, Attributes),
  	ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, interim, Attributes),
  	SessionAttributes = session_attributes(Attributes),
  	ReserveAmount = [{octets, UsageOctets}, {seconds, UsageSecs}],
  	Destination = proplists:get_value(?CalledStationId, Attributes, ""),
  	case ocs_rating:rate(radius, Subscriber,
  			Destination, interim, [], ReserveAmount, SessionAttributes) of
  		{error, not_found} ->
  			error_logger:warning_report(["Accounting subscriber not found",
  					{module, ?MODULE}, {subscriber, Subscriber},
  