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),
   	#'3gpp_ro_CCA'{'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
   			'Auth-Application-Id' = ?RO_APPLICATION_ID,
   			'CC-Request-Type' = ?'3GPP_CC-REQUEST-TYPE_TERMINATION_REQUEST',
  
positive.code: 	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,
  	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,
  erlang:display({?MODULE, ?LINE, Interim}),
  	MSISDN1 = binary_to_list(MSISDN), 
  	IMSI1 = binary_to_list(IMSI), 
  	{_, {_, [{"nodeFunctionality","OCF"}]}} = lists:keyfind("nfConsumerIdentification", 1, Interim),
  	{_, {array,["msisdn-" ++ MSISDN1, "imsi-" ++ IMSI1]}} 
  			= lists:keyfind("subscriptionId", 1, Interim),
  	{_, {_, [{_, Attributes}]}} = lists:keyfind("serviceRating", 1, Interim),
  	{"serviceContextId", "32251@3gpp.org"} = lists:keyfind("serviceContextId", 1, Attributes),
  	{"serviceId", 1} = lists:keyfind("serviceId", 1, Attributes),
  	{"ratingGroup", 2} = lists:keyfind("ratingGroup", 1, Attributes),
  	{_,{_,[{"totalVolume", Grant}]}} = lists:keyfind("consumedUnit", 1, Attributes),
  	{"requestSubType", "DEBIT"} = lists:keyfind("requestSubType", 1, Attributes).
  
  receive_interim_scur() ->
  	[{userdata, [{doc, "On IEC updateRating response send CCA-U"}]}].
  
negative.code: init_per_testcase(TestCase, Config)
  		when TestCase == send_initial_scur; TestCase == receive_initial_scur;
  		TestCase == send_interim_scur; TestCase == receive_interim_scur;
  		TestCase == send_final_scur; TestCase == receive_final_scur;
  		TestCase == receive_interim_no_usu_scur ->
  	Address = ?config(diameter_acct_address, Config),
  	{ok, _} = ocs:add_client(Address, undefined, diameter, undefined, true),
  	Config;
  init_per_testcase(_TestCase, Config) ->
  	Config.
  
  