anchor.diff:  					[{messages, _}] ->
   						#'3gpp_ro_Granted-Service-Unit'{'CC-Service-Specific-Units' = [GrantedAmount]}
   				end,
  -				Reply = generate_diameter_answer(SId, GrantedUnits,
  -						?'DIAMETER_BASE_RESULT-CODE_SUCCESS', OHost, ORealm,
  -						RequestType, RequestNum),
  +				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
  +						GrantedUnits, ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
  +						OHost, ORealm, RequestType, RequestNum),
   				ok = ocs_log:acct_log(diameter, Server,
   						accounting_event_type(RequestType), Request, Reply, undefined),
   				Reply;
   			{out_of_credit, _SessionList} ->
  -				Reply = generate_diameter_answer(SId, undefined,
  -						?'IETF_RESULT-CODE_CREDIT_LIMIT_REACHED', OHost,
  -						ORealm, RequestType, RequestNum),
  +				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
  +						undefined, ?'IETF_RESULT-CODE_CREDIT_LIMIT_REACHED',
  +						OHost, ORealm, RequestType, RequestNum),
   				ok = ocs_log:acct_log(diameter, Server,
   						accounting_event_type(RequestType), Request, Reply, undefined),
   				Reply;
   			{disabled, _SessionList} ->
  -				Reply = generate_diameter_answer(SId,
  +				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
   						undefined, ?'IETF_RESULT-CODE_END_USER_SERVICE_DENIED', OHost,
   						ORealm, RequestType, RequestNum),
   				ok = ocs_log:acct_log(diameter, Server,
  
positive.code: 		'Event-Timestamp' = Timestamp} = Request, SId, RequestNum, Subscriber,
  		OHost, _DHost, ORealm, _DRealm, Address, Port) ->
  	try
  		ReserveAmount = case MSCC of
  			#'3gpp_ro_Multiple-Services-Credit-Control'{'Requested-Service-Unit'
  					= [#'3gpp_ro_Requested-Service-Unit'{'CC-Time'
  					= [CCTime]}]} when CCTime =/= [] ->
  				[{seconds, CCTime}];
  			#'3gpp_ro_Multiple-Services-Credit-Control'{'Requested-Service-Unit'
  					= [#'3gpp_ro_Requested-Service-Unit'{'CC-Total-Octets'
  					= [CCTotalOctets]}]} ->
  				[{octets, CCTotalOctets}];
  			#'3gpp_ro_Multiple-Services-Credit-Control'{'Requested-Service-Unit'
  					= [#'3gpp_ro_Requested-Service-Unit'{'CC-Output-Octets'
  					= [CCOutputOctets], 'CC-Input-Octets' = [CCInputOctets]}]}
  					when is_integer(CCInputOctets), is_integer(CCOutputOctets) ->
  				[{octets, CCOutputOctets + CCOutputOctets}];
  			#'3gpp_ro_Multiple-Services-Credit-Control'{'Requested-Service-Unit'
  					= [#'3gpp_ro_Requested-Service-Unit'{'CC-Service-Specific-Units'
  					= [CCSpecUnits]}]} when is_integer(CCSpecUnits) ->
  				[{messages, CCSpecUnits}];
  			#'3gpp_ro_Multiple-Services-Credit-Control'{'Requested-Service-Unit'
  					= [#'3gpp_ro_Requested-Service-Unit'{}]} ->
  				throw(unsupported_request_units);
  			#'3gpp_ro_Multiple-Services-Credit-Control'{} ->
  				[]
  		end,
  		Destination = call_destination(ServiceInformation),
  		ServiceType = service_type(SvcContextId),
  
negative.code: 					[{messages, _}] ->
  						#'3gpp_ro_Granted-Service-Unit'{'CC-Service-Specific-Units' = [GrantedAmount]}
  				end,
  				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
  						GrantedUnits, ?'DIAMETER_BASE_RESULT-CODE_SUCCESS', OHost, ORealm,
  						RequestType, RequestNum),
  				ok = ocs_log:acct_log(diameter, Server,
  						accounting_event_type(RequestType), Request, Reply, undefined),
  				Reply;
  			{out_of_credit, _SessionList} ->
  				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
  						undefined, ?'IETF_RESULT-CODE_CREDIT_LIMIT_REACHED', OHost,
  						ORealm, RequestType, RequestNum),
  				ok = ocs_log:acct_log(diameter, Server,
  						accounting_event_type(RequestType), Request, Reply, undefined),
  				Reply;
  			{disabled, _SessionList} ->
  				Reply = generate_diameter_answer(SId, ServiceIdentifier, RatingGroup,
  						undefined, ?'IETF_RESULT-CODE_END_USER_SERVICE_DENIED', OHost,
  						ORealm, RequestType, RequestNum),
  				ok = ocs_log:acct_log(diameter, Server,
  