anchor.diff:  			accumulated_balance(Buckets, P#product.id)};
   rate7(#service{session_attributes = SessionList} = Service1, Buckets, event,
   		{Units, _Charge}, {Units, _Charged}, {Units, 0}, {Units, 0},
  -		#state{rated = Rated, product = P, buckets = OldBuckets}) ->
  +		#state{rated = Rated, product = P, buckets = OldBuckets,
  +		redirect_server = RedirectServerAddress}) ->
   	{NewBRefs, DeletedBuckets}
   			= update_buckets(P#product.balance, OldBuckets, Buckets),
   	ok = mnesia:write(P#product{balance = NewBRefs}),
   	Service2 = Service1#service{session_attributes = []},
   	ok = mnesia:write(Service2),
  -	{out_of_credit, SessionList, Rated, DeletedBuckets,
  +	{out_of_credit, RedirectServerAddress, SessionList, Rated, DeletedBuckets,
   			accumulated_balance(Buckets, P#product.id)}.
   
   -spec authorize(Protocol, ServiceType, SubscriberId, Password,
  
positive.code: 		service_network :: string() | undefined,
  		roaming_tb_prefix :: string() | undefined,
  		session_id :: [tuple()],
  		rated = #rated{} :: #rated{} | [#rated{}]}).
  
  -spec rate(Protocol, ServiceType, ServiceId, ChargingKey,
  		ServiceNetwork, SubscriberID, Timestamp, Address, Direction,
  
negative.code: 		{Units, _Charge}, {Units, _Charged}, {Units, 0}, {Units, 0},
  		#state{rated = Rated, product = P, session_id = SessionId,
  		service_id = ServiceId, charging_key = ChargingKey,
  		buckets = OldBuckets, redirect_server = RedirectServerAddress}) ->
  	{Debits, NewBuckets} = get_final(ServiceId,
  			ChargingKey, SessionId, Buckets),
  	{NewBRefs, DeletedBuckets}
  