anchor.diff:  		termination_date = erlang:system_time(?MILLISECOND) + 2592000000}],
   	Destination = ocs:generate_identity(),
   	{ok, _} = ocs:add_subscriber(SubscriberID, Password, ProdID, Chars, Buckets),
  -	{out_of_credit, _} = ocs_rating:rate(diameter, SubscriberID, Destination,
  -			interim, [{octets, Debit}], [{octets, Reservation}]),
  +	SessionId = [{'Session-Id', list_to_binary(ocs:generate_password())}],
  +	{ok, _, _} = ocs_rating:rate(diameter, SubscriberID, Destination, initial, [], [], SessionId),
  +	{out_of_credit, _} = ocs_rating:rate(diameter, SubscriberID, Destination, interim, [{octets, Debit}], [{octets, Reservation}], SessionId),
   	{ok, #subscriber{buckets = RatedBuckets}} = ocs:find_subscriber(SubscriberID),
   	#bucket{remain_amount = CentsRemain} = lists:keyfind(cents, #bucket.units, RatedBuckets),
   	CentsRemain = RemAmount - PackagePrice,
  
positive.code: 		{?NasIdentifier, "rate1@sigscale"}, {?NasIpAddress, "10.0.0.1"}]},
  	SA2 = {erlang:system_time(?MILLISECOND), [{?AcctSessionId, "1020304"},
  		{?NasIdentifier, "rate2@sigscale"}, {?NasIpAddress, "10.0.0.2"}]},
  	Identification = [{?AcctSessionId, "1020303"},
  		{?NasIdentifier, "rate1@sigscale"}, {?NasIpAddress, "10.0.0.1"}],
  	SessionAttributes = [SA1, SA2],
  	Subscriber = #subscriber{name = SubscriberID, password = Password,
  			buckets = Buckets, session_attributes = SessionAttributes,
  			product = #product_instance{product = ProdID, characteristics = Chars}},
  	mnesia:dirty_write(subscriber, Subscriber),
  	Destination = ocs:generate_identity(),
  	{ok, _, _} = ocs_rating:rate(diameter, SubscriberID, Destination, final, [{octets, Debit}], [], Identification),
  	{ok, #subscriber{session_attributes = [SA2]}} = ocs:find_subscriber(SubscriberID).
  
  rate_octets_with_debiting_scenario_7() ->
  	[{userdata, [{doc, "This senario describ when g call for the
  		rate function include the session attributes"}]}].
  
  rate_octets_with_debiting_scenario_7(_Config) ->
  	ProdID = ocs:generate_password(),
  	Price = #price{name = "overage", type = usage,
  		units = octets, size = 1000, amount = 100},
  	Product = #product{name = ProdID, price = [Price]},
  	{ok, _} = ocs:add_product(Product),
  	SubscriberID = list_to_binary(ocs:generate_identity()),
  	Password = ocs:generate_password(),
  	Chars = [{validity, erlang:system_time(?MILLISECOND) + 2592000000}],
  	Buckets = [#bucket{units = cents, remain_amount = 200,
  		start_date = erlang:system_time(?MILLISECOND),
  		termination_date = erlang:system_time(?MILLISECOND) + 2592000000}],
  	{ok, _} = ocs:add_subscriber(SubscriberID, Password, ProdID, Chars, Buckets),
  	SessionAttributes = [{?AcctSessionId, "1020303"}, {?NasIdentifier, "rate@sigscale"},
  		{?NasIpAddress, "10.0.0.1"}],
  	Destination = ocs:generate_identity(),
  	{ok, _, _} = ocs_rating:rate(diameter, SubscriberID, Destination, initial, [{octets, 100}], [], SessionAttributes),
  	{ok, #subscriber{session_attributes = SessionList}} = ocs:find_subscriber(SubscriberID),
  	{_, SessionAttributes} = lists:nth(1, SessionList).
  
  rate_octets_with_reservation_scenario_1() ->
  	[{userdata, [{doc, "Rate cents buckets to octets
  
negative.code: 	[rate_octets_with_debiting_scenario_1, rate_octets_with_debiting_scenario_2,
  	rate_octets_with_debiting_scenario_3, rate_octets_with_debiting_scenario_4,
  	rate_octets_with_debiting_scenario_5, rate_octets_with_debiting_scenario_6,
  	rate_octets_with_reservation_scenario_1,
  	rate_octets_with_reservation_scenario_2, rate_octets_with_reservation_scenario_3,
  	rate_octets_with_reservation_scenario_4, rate_octets_with_reservation_scenario_5,
  	rate_octets_with_debit_and_reservation_scenario_1,
  	rate_octets_with_debit_and_reservation_scenario_2, rate_octets_with_debit_and_reservation_scenario_3,
  	rate_octets_with_debit_and_reservation_scenario_4, rate_octets_with_debit_and_reservation_scenario_5].
  
  %%---------------------------------------------------------------------
  %%  Test cases
  %%---------------------------------------------------------------------
  