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);
}