anchor.diff:  									case lists:all(F2, Buckets) of
   										true ->
   											State = #state{buckets = Buckets,
  -													service_id = ServiceId,
   													charging_key = ChargingKey,
   													service_network = ServiceNetwork,
   													session_id = get_session_id(SessionAttributes)},
  -											{rate1(Protocol, Service, Product, Buckets,
  +											{rate1(Protocol, #service{name = ServiceId} = Service, Product, Buckets,
   													Timestamp, Address, Direction, Offer,
   													Flag, DebitAmounts, ReserveAmounts, ServiceType, State), RedirectServerAddress};
   										false ->
  
positive.code: 							{Units, UnitsReserved}, State)
  			end
  	end;
  charge2(#service{enabled = false} = Service, #product{id = ProductId} = Product, Buckets,
  		#price{units = Units, size = UnitSize, amount = UnitPrice},
  		interim, {Units, Amount} = DebitAmount, _ReserveAmount,
  		#state{session_id = SessionId, service_id = ServiceId,
  		charging_key = ChargingKey} = State) ->
  	case update_session(Units, Amount, 0,
  			ServiceId, ChargingKey, SessionId, Buckets) of
  
negative.code: 							ReserveAmount, ReserveAmount, State#state{rated = Rated3})
  			end
  	end;
  charge2(#service{name = ServiceId} = Service, #product{id = ProductId} = Product, Buckets1,
  		#price{units = Units, size = UnitSize, amount = UnitPrice,
  		type = PriceType, currency = Currency}, event,
  		{Units, Amount} = DebitAmount, {Units, 0} = ReserveAmount,
  		#state{rated = Rated1, session_id = SessionId,
  		charging_key = ChargingKey} = State) ->
  	Rated2 = Rated1#rated{price_type = PriceType, currency = Currency},
  	case charge_event(Units, Amount, Buckets1) of
  		{Amount, Buckets2} ->
  