anchor.diff:  	case ocs_rating:rate(diameter, ServiceType, ChargingKey, ServiceNetwork,
   			Subscriber, Timestamp, Address, Direction, Flag, Debits,
   			Reserves, [{'Session-Id', SessionId}]) of
  -		{ok, _, {seconds, Amount} = _GrantedAmount} ->
  +		{ok, _, {seconds, Amount} = _GrantedAmount} when Amount > 0 ->
   			ResultCode2 = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
   			GSU = #'3gpp_ro_Granted-Service-Unit'{'CC-Time' = [Amount]},
   			MSCC = #'3gpp_ro_Multiple-Services-Credit-Control'{
  
positive.code: 			rate(ServiceType, ServiceNetwork, Subscriber,
  					Timestamp, Address, Direction, Flag, SessionId,
  					T, [MSCC | Acc], ResultCode2, Rated1);
  		{ok, _, {octets, Amount} = _GrantedAmount} ->
  			ResultCode2 = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
  			GSU = #'3gpp_ro_Granted-Service-Unit'{'CC-Total-Octets' = [Amount]},
  			MSCC = #'3gpp_ro_Multiple-Services-Credit-Control'{
  
negative.code: 					'Service-Identifier' = SI,
  					'Rating-Group' = RG,
  					'Result-Code' = [ResultCode2]},
  			rate(ServiceType, ServiceNetwork, Subscriber,
  					Timestamp, Address, Direction, Flag, SessionId,
  					T, [MSCC | Acc], ResultCode2, Rated1);
  		{ok, _, {_, 0} = _GrantedAmount} ->
  			ResultCode2 = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
  			rate(ServiceType, ServiceNetwork, Subscriber,
  					Timestamp, Address, Direction, Flag, SessionId,
  					T, [MSCC | Acc], ResultCode2, Rated1);
  