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

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

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.AvpCodes;
import com.mobius.software.telco.protocols.diameter.annotations.DiameterAvpDefinition;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterAvp;
import com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.FinalUnitIndication;
import com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.GSUPoolReference;
import com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.GrantedServiceUnit;
import com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.RequestedServiceUnit;
import com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.UsedServiceUnit;
import com.mobius.software.telco.protocols.diameter.primitives.gx.QoSInformation;

import io.netty.buffer.ByteBuf;

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

/*
 *  The Multiple-Services-Credit-Control AVP (AVP code 456) is of type grouped as specified in RFC 4006 [402]. It
	contains additional 3GPP specific charging parameters.
	It has the following ABNF grammar:
	 
	  ::= < AVP Header: 456 >
			  [ Granted-Service-Unit ]
			  [ Requested-Service-Unit ]
			* [ Used-Service-Unit ]
			* [ Service-Identifier ]
			  [ Rating-Group ]
			* [ G-S-U-Pool-Reference ]
			  [ Validity-Time ]
			  [ Result-Code ]
			  [ Final-Unit-Indication ]
			  [ Time-Quota-Threshold ]
			  [ Volume-Quota-Threshold ]
			  [ Unit-Quota-Threshold ]
			  [ Quota-Holding-Time ]
			  [ Quota-Consumption-Time ]
			* [ Reporting-Reason ]
			  [ Trigger ]
			  [ PS-Furnish-Charging-Information ]
			  [ Refund-Information ]
			* [ AF-Correlation-Information]
			* [ Envelope ]
			  [ Envelope-Reporting ]
			  [ Time-Quota-Mechanism ]
			* [ Service-Specific-Info ]
			  [ QoS-Information ]
			* [ Announcement-Information ]
			  [ 3GPP-RAT-Type ]
			  [ Related-Trigger ]
 */
@DiameterAvpDefinition(code = AvpCodes.MULTIPLE_SERVICES_CREDIT_CONTROL, vendorId = -1, name = "Multiple-Services-Credit-Control")
public interface TGPPMultipleServicesCreditControl extends DiameterAvp 
{
	GrantedServiceUnit getGrantedServiceUnit();
	
	void setGrantedServiceUnit(GrantedServiceUnit value);
	
	RequestedServiceUnit getRequestedServiceUnit();
	
	void setRequestedServiceUnit(RequestedServiceUnit value);
	
	List getUsedServiceUnit();
	
	void setUsedServiceUnit(List value);
	
	List getServiceIdentifier();
	
	void setServiceIdentifier(List value);	
	
	Long getRatingGroup();
	
	void setRatingGroup(Long value);	
			
	List getGSUPoolReference();
	
	void setGSUPoolReference(List value);	
	
	Long getValidityTime();
	
	void setValidityTime(Long value);	
			
	Long getResultCode();
	
	void setResultCode(Long value);	
			
	FinalUnitIndication getFinalUnitIndication();
	
	void setFinalUnitIndication(FinalUnitIndication value);      
	
	Long getTimeQuotaThreshold();
	
	void setTimeQuotaThreshold(Long value);      
	
	Long getVolumeQuotaThreshold();
	
	void setVolumeQuotaThreshold(Long value);      
	
	Long getUnitQuotaThreshold();
	
	void setUnitQuotaThreshold(Long value);      
	
	Long getQuotaHoldingTime();
	
	void setQuotaHoldingTime(Long value);      
	
	Long getQuotaConsumptionTime();
	
	void setQuotaConsumptionTime(Long value);      
		
	List getReportingReason();
	
	void setReportingReason(List value);      
		
	Trigger getTrigger();
	
	void setTrigger(Trigger value);      
		
	PSFurnishChargingInformation getPSFurnishChargingInformation();
	
	void setPSFurnishChargingInformation(PSFurnishChargingInformation value);      
		
	ByteBuf getRefundInformation();
	
	void setRefundInformation(ByteBuf value);      
	
	List getAFCorrelationInformation();
	
	void setAFCorrelationInformation(List value);      
	
	List getEnvelope();
	
	void setEnvelope(List value);      
	
	EnvelopeReportingEnum getEnvelopeReporting();
	
	void setEnvelopeReporting(EnvelopeReportingEnum value);      
	
	TimeQuotaMechanism getTimeQuotaMechanism();
	
	void setTimeQuotaMechanism(TimeQuotaMechanism value);      
	
	List getServiceSpecificInfo();
	
	void setServiceSpecificInfo(List value);      
	
	QoSInformation getQoSInformation();
	
	void setQoSInformation(QoSInformation value);      
	
	List getAnnouncementInformation();
	
	void setAnnouncementInformation(List value);      
	
	ByteBuf getTGPPRATType();
	
	void setTGPPRATType(ByteBuf value);      
	
	RelatedTrigger getRelatedTrigger();
	
	void setRelatedTrigger(RelatedTrigger value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy