anchor.diff:  	case filter_prices_dir(Direction, FilteredPrices2) of
   		[Price | _] ->
   			authorize3(Protocol, ServiceType, Service, Buckets, Address,
  -					Price, SessionAttributes, Reserve);
  +					Price, SessionAttributes, Reserve, ReserveUnits);
   		_ ->
   			authorize5(Service, Buckets, ServiceType, SessionAttributes, Attributes)
   	end;
   authorize2(radius = Protocol, ServiceType,
   		#service{attributes = Attributes} = Service, Buckets,
   		#offer{specification = ProdSpec, price = Prices}, Timestamp,
  -		_Address, _Direction, SessionAttributes, Reserve) when (Reserve > 0)
  -		and ((ProdSpec == "8") orelse (ProdSpec == "4")) ->
  -	F = fun(#price{type = usage, units = seconds}) ->
  +		_Address, _Direction, SessionAttributes, Reserve, ReserveUnits)
  +		when (Reserve > 0) and ((ProdSpec == "8") orelse (ProdSpec == "4")) ->
  +	F = fun(#price{type = usage, units = Units}) when Units == ReserveUnits ->
   				true;
   			(_) ->
   				false
  
positive.code: authorize2(radius = Protocol, ServiceType,
  		#service{attributes = Attributes} = Service, Buckets, Timestamp,
  		#offer{specification = undefined, bundle = Bundle}, Address, Direction,
  		SessionAttributes, Reserve) when Reserve > 0, Bundle /= [] ->
  	try
  		F = fun(#bundled_po{name = OfferId}, Acc) ->
  				case mnesia:read(offer, OfferId, read) of
  
negative.code: authorize2(radius = Protocol, ServiceType,
  		#service{attributes = Attributes} = Service, Buckets,
  		#offer{specification = ProdSpec, price = Prices}, Timestamp,
  		Address, Direction, SessionAttributes, Reserve, ReserveUnits)
  		when (Reserve > 0) and ((ProdSpec == "9") orelse (ProdSpec == "5")) ->
  	F = fun(#price{type = tariff, units = seconds}) ->
  				true;
  			(#price{type = usage, units = seconds}) ->
  