anchor.diff:  													service_id = ServiceId,
   													charging_key = ChargingKey,
   													service_network = ServiceNetwork,
  -													session_id = get_session_id(SessionAttributes)},
  +													session_id = get_session_id(SessionAttributes),
  +													redirect_server = RedirectServerAddress},
   											rate1(Protocol, Service, Buckets,
   													Timestamp, Address, Direction, Offer,
   													Flag, DebitAmounts, ReserveAmounts, State);
   										false ->
  -											{out_of_credit, SessionList, [], []}
  +											{out_of_credit, RedirectServerAddress, SessionList, [], []}
   									end;
   								[] ->
   									throw(offer_not_found)
  
positive.code: 	Rated1 = rated(Debits, Rated),
  	Service2 = Service1#service{session_attributes = []},
  	ok = mnesia:write(Service2),
  	{out_of_credit, SessionList, Rated1, DeletedBuckets,
  			accumulated_balance(NewBuckets, P#product.id)};
  rate7(#service{enabled = false, session_attributes = SessionList} = Service1,
  		Buckets, _Flag, {Units, _Charge}, {Units, _Charged},
  
negative.code: 		{Units, Charge}, {Units, Charged}, {Units, Reserve}, {Units, Reserved},
  		#state{session_id = SessionId, service_id = ServiceId,
  		charging_key = ChargingKey, buckets = OldBuckets,
  		product = P, redirect_server = RedirectServerAddress})
  		when Charged < Charge; Reserved <  Reserve ->
  	NewBuckets = refund(ServiceId, ChargingKey, SessionId, Buckets),
  	{NewBRefs, DeletedBuckets}
  			= update_buckets(P#product.balance, OldBuckets, NewBuckets),
  	ok = mnesia:write(P#product{balance = NewBRefs}),
  	Service2 = Service1#service{session_attributes = []},
  	ok = mnesia:write(Service2),
  	{out_of_credit, RedirectServerAddress, SessionList, DeletedBuckets,
  			accumulated_balance(NewBuckets, P#product.id)};
  rate7(#service{session_attributes = SessionList} = Service1, Buckets, initial,
  		{Units, 0}, {Units, 0}, {Units, _Reserve}, {Units, Reserved},
  