anchor.diff:  	Ref = erlang:ref_to_list(make_ref()),
   	SId = diameter:session_id(Ref),
   	RequestNum0 = 0,
  -	RequestedServiceUnits = rand:uniform(Balance),
  -	_Answer0 = diameter_scur_start(SId, Subscriber, RequestNum0, RequestedServiceUnits),
  -	{struct, _Inital} = receive
  -		JSON ->
  -			mochijson:decode(JSON)
  -	end,
  +	InputOctets1 = rand:uniform(Balance),
  +	OutputOctets1 = rand:uniform(Balance),
  +	RequestedServiceUnits = {InputOctets1, OutputOctets1},
  +   Answer0 = diameter_scur_start(SId, Subscriber, RequestNum0, RequestedServiceUnits),
  +	#'3gpp_ro_CCA'{'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS'} = Answer0,
   	RequestNum1 = RequestNum0 + 1,
  -	Grant =  rand:uniform(Balance div 2),
  -	_Answer1 = diameter_scur_interim(SId, Subscriber, RequestNum1, Grant, 0),
  -	{struct, _Interim} = receive
  -		JSON1 ->
  -			mochijson:decode(JSON1)
  -	end,
  +	InputOctets2 =  rand:uniform(Balance div 2),
  +	OutputOctets2 = rand:uniform(Balance),
  +	UsedServiceUnits = {InputOctets2, OutputOctets2},
  +	Answer1 = diameter_scur_interim(SId, Subscriber, RequestNum1, UsedServiceUnits, 0),
  +	#'3gpp_ro_CCA'{'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS'} = Answer1,
   	RequestNum2 = RequestNum1 + 1,
   	Grant2 = rand:uniform(Balance div 2),
  -	_Answer2 = diameter_scur_stop(SId, Subscriber, RequestNum2, Grant2),
  -	{struct, Final} = receive
  -		JSON2 ->
  -			mochijson:decode(JSON2)
  -	end,
  -	MSISDN1 = binary_to_list(MSISDN), 
  -	IMSI1 = binary_to_list(IMSI), 
  -	{_, {_, [{"nodeFunctionality","OCF"}]}} = lists:keyfind("nfConsumerIdentification", 1, Final),
  -	{_, {array,["msisdn-" ++ MSISDN1, "imsi-" ++ IMSI1]}} 
  -			= lists:keyfind("subscriptionId", 1, Final),
  -	{_, {_, [{_, Attributes}]}} = lists:keyfind("serviceRating", 1, Final),
  -	{"serviceContextId", "32251@3gpp.org"} = lists:keyfind("serviceContextId", 1, Attributes),
  -	{"serviceId", 1} = lists:keyfind("serviceId", 1, Attributes),
  -	{"ratingGroup", 2} = lists:keyfind("ratingGroup", 1, Attributes),
  -	{_,{_,[{"totalVolume", Grant2}]}} = lists:keyfind("consumedUnit", 1, Attributes),
  -	{"requestSubType", "DEBIT"} = lists:keyfind("requestSubType", 1, Attributes).
  +	Answer2 = diameter_scur_stop(SId, Subscriber, RequestNum2, Grant2),
  +	#'3gpp_ro_CCA'{'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS'} = Answer2.
   
   receive_final_scur() ->
   	[{userdata, [{doc, "On IECendRatingresponse send CCA-U"}]}].
  
positive.code:    receive
        #diameter_event{service = ?MODULE, info = Info}
              when element(1, Info) == up ->
           Config1;
        _Other ->
           {skip, diameter_client_acct_service_not_started}
     end.
  
  -spec end_per_suite(Config :: [tuple()]) -> any().
  %% Cleanup after the whole suite.
  
negative.code: 			'Subscription-Id-Type' = ?'3GPP_SUBSCRIPTION-ID-TYPE_END_USER_IMSI',
  			'Subscription-Id-Data' = IMSI},
  	RequestedUnits = #'3gpp_ro_Requested-Service-Unit' {
  			'CC-Input-Octets' = [InputOctets], 'CC-Output-Octets' = [OutputOctets],
  			'CC-Total-Octets' = [InputOctets + OutputOctets]},
  	MultiServices_CC = #'3gpp_ro_Multiple-Services-Credit-Control'{
  			'Requested-Service-Unit' = [RequestedUnits], 'Service-Identifier' = [1],
  			'Rating-Group' = [2]},
  