anchor.diff:  		MSCC :: [#'3gpp_ro_Multiple-Services-Credit-Control'{}],
   		Result :: [{ServiceIdentifier, RatingGroup,
   				UsedAmounts, ReserveAmounts}],
  -		ServiceIdentifier :: undefined | pos_integer(),
  -		RatingGroup :: undefined | pos_integer(),
  +		ServiceIdentifier :: [pos_integer()],
  +		RatingGroup :: [pos_integer()],
   		UsedAmounts :: [{Units, pos_integer()}],
   		ReserveAmounts :: [{Units, pos_integer()}],
   		Units :: octets | seconds | messages.
  
positive.code: 	[].
  
  %% @hidden
  get_si(#'3gpp_ro_Multiple-Services-Credit-Control'{'Service-Identifier' = SI}) ->
  	SI.
  
  %% @hidden
  get_rg(#'3gpp_ro_Multiple-Services-Credit-Control'{'Rating-Group' = RG}) ->
  	RG.
  
  -spec rate(ServiceType, ServiceNetwork, Subscriber, Timestamp,
  		Address, Direction, Flag, SessionId, Amounts) -> Result
  
negative.code: 		case rate(ServiceType, ServiceNetwork, Subscriber,
  				Timestamp, Address, Direction, final, SessionId,
  				Amounts) of
  			{MSCC2, ResultCode} when is_list(MSCC2) ->
  				Reply = diameter_answer(SessionId, MSCC2,
  						ResultCode, OHost, ORealm, RequestType, RequestNum),
  				ok = ocs_log:acct_log(diameter, Server,
  