All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mobius.software.telco.protocols.diameter.primitives.accounting.OfflineCharging Maven / Gradle / Ivy

There is a newer version: 10.0.0-17-java11
Show newest version
package com.mobius.software.telco.protocols.diameter.primitives.accounting;
/*
 * Mobius Software LTD
 * Copyright 2023, Mobius Software LTD and individual contributors
 * by the @authors tag.
 *
 * This program is free software: you can redistribute it and/or modify
 * under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation; either version 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see 
 */

import java.util.List;

import com.mobius.software.telco.protocols.diameter.TgppAvpCodes;
import com.mobius.software.telco.protocols.diameter.VendorIDs;
import com.mobius.software.telco.protocols.diameter.annotations.DiameterAvpDefinition;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterGroupedAvp;

/**
*
* @author yulian oifa
*
*/

/*
 * 	7.2.121	Offline-Charging AVP
	The Offline-Charging AVP (AVP code 1278) is a grouped AVP, which is used to set the parameters required to control offline charging. 
	It has the following ABNF grammar:

	Offline-Charging ::=     < AVP Header:1278 >	
			[ Quota-Consumption-Time ]
			[ Time-Quota-Mechanism ]
			[ Envelope-Reporting ]
		*	[ Multiple-Services-Credit-Control ]	
		*	[ AVP ]

	At most one of Quota-Consumption-Time AVP or Time-Quota-Mechanism AVP shall be present, if individual instances are not included within the Multiple-Services-Credit-Control AVP. 
	The Multiple-Services-Credit-Control AVPs, if present, shall contain the Rating-Group AVP to identify the category, optionally one of Quota-Consumption-Time AVP and Time-Quota-Mechanism AVP, and optionally the Envelope-Reporting AVP. 
	Any values specified in the Offline-Charging AVP take precedence over the configured defaults. The values of the parameters specified at Multiple-Services-Credit-Control level take precedence over the values specified directly at Offline-Charging level. If neither Quota-Consumption-Time AVP nor Time-Quota-Mechanism AVP is included in the Multiple-Services-Credit-Control AVP, then the general reporting requirements dictated by the Quota-Consumption-Time AVP or Time-Quota-Mechanism AVP and Envelope-Reporting AVP directly within the Offline-Charging AVP shall apply.
 */
@DiameterAvpDefinition(code = TgppAvpCodes.OFFLINE_CHARGING, vendorId = VendorIDs.TGPP_ID, name = "Offline-Charging")
public interface OfflineCharging extends DiameterGroupedAvp
{
	Long getQuotaConsumptionTime();
	
	void setQuotaConsumptionTime(Long value);
	
	TimeQuotaMechanism getTimeQuotaMechanism();
	
	void setTimeQuotaMechanism(TimeQuotaMechanism value);
	
	EnvelopeReportingEnum getEnvelopeReporting();
	
	void setEnvelopeReporting(EnvelopeReportingEnum value);
	
	List getMultipleServicesCreditControl();
	
	void setMultipleServicesCreditControl(List value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy