anchor.diff:  				{ok, MSCC2, ResultCode};
   			{{MSCC2, ResultCode, _}, [], []} ->
   				{ok, MSCC2, ResultCode};
  -			{{MSCC2, _}, PLA, Amounts} when is_list(MSCC2) ->
  -				{ok, get_ref(SessionId), PLA, Amounts, MSCC2};
  -			{{MSCC2, _, _}, PLA} ->
  -				{ok, get_ref(SessionId), PLA, Amounts, MSCC2};
  +			{{MSCC2, _}, PLA, Amounts1} when is_list(MSCC2) ->
  +				{ok, get_ref(SessionId), PLA, Amounts1, MSCC2};
  +			{{MSCC2, _, _}, PLA, Amounts1} ->
  +				{ok, get_ref(SessionId), PLA, Amounts1, MSCC2};
   			{error, Reason} ->
   				{error, Reason}
   		end,
   		case RfResponse of
  -			{ok, ServiceRating, PLA1, Amounts1, MSCC3} ->
  -				case charge(Subscribers, ServiceRating, Amounts1, SessionId, final) of
  +			{ok, ServiceRating, PLA1, Amounts2, MSCC3} ->
  +				case charge(Subscribers, ServiceRating, Amounts2, SessionId, final) of
   					{ok, NewMSCC1, ResultCode1} ->
   						Container = build_container(MSCC1),
   						NewMSCC3 = build_mscc(NewMSCC1 ++ MSCC3, Container),
  
positive.code: 						SessionId, MSCC1, [], Location, final);
  			Id when Id == 32260; Id == 32274 ->
  				post_request_ecur(Server, Subscriber, SvcContextId,
  						SessionId, MSCC1, Location, Destination, final)
  		end,
  		Amounts = get_mscc(MSCC1),
  		case NrfResponse of
  
negative.code: charge(Subscribers, ServiceRating, Amounts, SessionId, Flag) ->
  	charge(Subscribers, ServiceRating, Amounts, SessionId, Flag, [], undefined).
  %% @hidden
  charge([{_, Subscriber} | _] = Subscribers, ServiceRating, [{[SI], [RG],
  		Debits, Reserves} | T1], SessionId, Flag, Acc1, ResultCode1) ->
  	F = fun F([#{"tariffElement" := #{"currencyCode" := Currency,
  				"rateElements" := #{"unitType" := Units,
  