anchor.diff:  					authorize4(Protocol, ServiceType, list_to_existing_atom(TariffTable),
   							Subscriber, Destination, Prices, SessionAttributes, Reserve);
   				false ->
  -					case lists:keyfind(usage, #price.type, Prices) of
  -						#price{} = Price ->
  +					F = fun(#price{type = usage, units = seconds}) ->
  +							true;
  +						(_) ->
  +							false
  +					end,
  +					case lists:filter(F, Prices) of
  +						[Price | _] ->
   							authorize5(Protocol, ServiceType, Subscriber,
   									Price, SessionAttributes, Reserve);
  -						false ->
  -							throw(price_not_found)
  +						[] ->
  +							authorize6(Subscriber, ServiceType, SessionAttributes, Attributes)
   					end
   			end
   	end.
  
positive.code: 		_:_ ->
  			throw(invalid_bundle_product)
  	end;
  authorize2(radius = Protocol, ServiceType, Subscriber,
  		#product{specification = ProdSpec, price = Prices,
  		char_value_use = CharValueUse}, Destination, SessionAttributes,
  		Reserve) when (Reserve > 0) and ((ProdSpec == 9) orelse (ProdSpec == 5)) ->
  	case lists:keyfind("destPrefixPriceTable", #char_value_use.name, CharValueUse) of
  		#char_value_use{values = [#char_value{value = PriceTable}]} ->
  			authorize3(Protocol, ServiceType, list_to_existing_atom(PriceTable),
  
negative.code: 		= Subscriber, _Destination, SessionAttributes) ->
  	authorize6(Subscriber, ServiceType, SessionAttributes, Attributes).
  %% @hidden
  authorize2(radius = Protocol, ServiceType, #subscriber{attributes = Attributes}
  		= Subscriber, #product{specification = undefined, bundle = Bundle},
  		Destination, SessionAttributes, Reserve) when Reserve > 0, Bundle /= [] ->
  	try
  		F = fun(#bundled_po{name = ProdId}, Acc) ->
  				case mnesia:read(product, ProdId, read) of
  					[#product{specification = Spec, status = Status} = P] when
  